我几乎完成了下面的图表,但它有一个问题.
图表中的图例被绘制两次.
这是数据:
structure(list(Period = c("January 1997 - August 2003", "September 2003 - Jun 2005",
"Jul 2005 - Dec 2009", "January 1997 - August 2003", "September 2003 - Jun 2005",
"Jul 2005 - Dec 2009"), Time.Period = structure(c(1L, 3L, 2L,
1L, 3L, 2L), .Label = c("Jan 1997 - Aug 2003", "Jul 2005 - Dec 2009",
"Sep 2003 - Jun 2005"), class = "factor"), Variable = structure(c(2L,
2L, 2L, 1L, 1L, 1L), .Label = c("Significant", "Zscore"), class = "factor"),
Score = …Run Code Online (Sandbox Code Playgroud) 我有一个多行的情节,每个都分开标记.我想在图中加上一个图例,以便识别出各个线条.标签和标记的默认顺序如下所示:
marker:label
marker:label
marker:label
...等等.
由于各种美学原因,我希望我的图例中的列数等于行数(和标签),我使用该ncol选项更改.所以,目前,我的传奇看起来像:
marker:label marker:label marker:label
然而,对于我来说,在这种安排中将标签置于标记之上会更加清楚.我想要的是:
标签标签标签
标记标记
我想知道是否有一种"快速修复"方式来实现这样的传奇.
我在 r 传单代码中添加了图例,输出是这样的

我希望订单是
sep <- read.csv("31R_SEP_assets_csv - Copy.csv")
Sub1 <- sep[grep("SEP.12", names(sep))]
sep$newCol <- 100*rowSums(Sub1)/rowSums(sep[4:7])
# create a new grouping variable
Percent_SEP12_Assets <- ifelse(sep[,8] <= 33, "Less than 33%", ifelse(sep[,8] >= 66, "More than 66%", "Between 33% and 66%"))
Color_Assets <- colorFactor(c("darkgreen","darkorange","darkred"),
levels = Percent_SEP12_Assets,ordered=FALSE)
leaflet(data = sep[]) %>%
setView(lng = mean(sep$Longitude), lat = mean(sep$Latitude), zoom = 12) %>% addTiles() %>%
addCircleMarkers(~Longitude, ~Latitude, color = ~Color_Assets(Percent_SEP12_Assets), popup = ~as.character(paste(Site, Percent_SEP12_Assets …Run Code Online (Sandbox Code Playgroud) 我在散点图中找到了标记大小,并且图例在MATLAB 2014b中有所不同.我搜索并找到了早期版本MATLAB的一些解决方案,这些解决方案不适用于最新版本.在我当前的版本中,图例中的标记大小非常小,几乎无法区分.有帮助吗?
figure;
hold on
s1 = scatter(1, 1, 150, 'k', 'o')
s2 = scatter(1, 2, 150, 'k', '+')
s3 = scatter(2, 1, 150, 'k', 'x')
h = legend('Circle', 'Plus', 'X', 'Location', 'NorthEast');
set(h, 'FontSize', 14)
axis([0 3 0 3])
Run Code Online (Sandbox Code Playgroud)
散点图和图例中的标记大小不同.如何增加图例条目的标记大小并使其类似于散点图的标记大小.
我想绘制一堆栅格,我创建了一个代码来调整每个栅格的中断并通过for循环绘制它们.但是我得到了一个有问题的色标栏,而我的努力并没有有效解决这个问题.例:
我的降水范围从0到11.000 ......但是大部分数据都在0到5.000之间......而非常少到11.000之间.因此,我需要更改中断以捕获此变化...更多中断我有更多数据.
然后我为此创建了一个休息对象.
但是当我绘制光栅时,刻度颜色条变得糟糕,非常混乱......
#get predictors (These are a way lighter version of mine)
predictors_full<-getData('worldclim', var='bio', res=10)
predic_legends<-c(
"Annual Mean Temperature [°C*10]",
"Mean Diurnal Range [°C]",
"Isothermality",
"Temperature Seasonality [standard deviation]",
"Max Temperature of Warmest Month [°C*10]",
"Min Temperature of Coldest Month [°C*10]",
"Temperature Annual Range [°C*10]",
"Mean Temperature of Wettest Quarter [°C*10]",
"Mean Temperature of Driest Quarter [°C*10]",
"Mean Temperature of Warmest Quarter [°C*10]",
"Mean Temperature of Coldest Quarter [°C*10]",
"Annual Precipitation [mm/year]",
"Precipitation of Wettest Month [mm/month]", …Run Code Online (Sandbox Code Playgroud) 我通过互联网搜索,但找不到解决我问题的方法。
为了更明确地说,我们有一个带有两个图例的图形,如下所示:
library(ggplot2)
ggplot() +
geom_point(data = mtcars, aes(x = disp, y = mpg, color = gear),
pch =20, size=18) +
geom_line(data = mtcars, aes(x = disp, y = mpg, size = disp/mpg*100)) +
scale_size(range = c(0,3.5)) +
guides(size = guide_legend("", order = 1, keywidth = 2, keyheight = 1.5),
color = guide_legend("", order = 2, keywidth = 1, keyheight = 1 )) +
labs(x = "disp", y = "mpg") +
geom_text(size=2.7, color = "grey29", vjust=-0.8) +
theme_bw()
# ggsave("trial.png", …Run Code Online (Sandbox Code Playgroud) 美好的一天!
我不熟悉R所以我很乐意得到一些帮助.
假设我有以下最小的例子:
test <- c(10,20,40,80,80)
avg <- mean(test)
avg <- format(avg,digits=2)
plot(test, xlab="x", ylab="y", pch = 4)
legend("topleft", legend= c("Average: ", avg))
Run Code Online (Sandbox Code Playgroud)
我想写x̄而不是"average" - 想知道这是否可能,因为它不是常规符号 - 只是两个的组合(字母加上线).
我想摆脱的另一件事是"平均"之后的换行符(见下图中的箭头):

在Matlab中,以下内容在图例中的指定行上生成黑色:
leftAxis = sprintf('left y-axis','Color','r');
leg = legend([.. bla bla ..], sprintf('test [%s]', leftAxis), etc... );
Run Code Online (Sandbox Code Playgroud)
我想要实现的是图例中同一行上的两种颜色.(所以在这个例子中,部分'test'应该是黑色而部分'left y-axis'应该是红色的.
我尝试过的:
想象一下我的意思的图片:

我有一个堆积的条形图,类似于下面的示例。
我想在每个条形图中添加一两套水平线(指定颜色和线型),每个条形以不同的值添加到图例中。
Titanic.df <- as.data.frame(Titanic)
Titanic.ag <- aggregate( Freq ~ Sex + Class + Age, data=Titanic.df, sum, subset = Survived == "Yes")
bars <- rep(c(0.5, NA, 0.7, NA, 0.6, NA, 0.9, NA), 2)
ggplot(Titanic.ag, aes(x = Class, y = Freq, fill = Sex)) +
geom_bar(position = "fill", stat = "identity") +
facet_grid(~Age) +
geom_errorbar(aes(y = bars, ymin = bars, ymax = bars, col = "Ref1")) +
scale_fill_manual(values = c("darkgreen", "darkblue") ) +
labs(col = "Reference",
fill= "",
y = "Proportion", …Run Code Online (Sandbox Code Playgroud) 我有一个看起来像这样的数据框:
glimpse(spottingIntensityByMonth)
# Observations: 27
# Variables: 3
# $ yearMonth <dttm> 2015-05-01, 2015-06-01, 2015-07-01, 2015-08-01, 2015-09-01, 2015-10-01, 2...
# $ nClassificationsPerDayPerSpotter <dbl> 3.322581, 13.212500, 13.621701,
6.194700, 18.127778, 12.539589, 8.659722, ...
# $ nSpotters <int> 8, 8, 22, 28, 24, 22, 24, 27, 25, 29, 32, 32, 21, 14, 18, 13, 20, 19, 15, ...
Run Code Online (Sandbox Code Playgroud)
我试图像这样用ggplot2绘制它:
ggplot() +
geom_col(data = spottingIntensityByMonth,
mapping = aes(x = yearMonth,
y = nClassificationsPerDayPerSpotter)
) +
xlab("Month of year") +
scale_y_continuous(name = "Daily classifications per …Run Code Online (Sandbox Code Playgroud)