pat*_*t-s 17 plot icons r legend ggplot2
已经搜索了所有相关的线程,但无法找到解决方案.
这是我的代码和附图结果:
g <-ggplot(NDVI2, aes(LAI2, NDVI, colour = Legend)) +
theme_bw (base_family = "Times") +
scale_colour_manual (values = c("purple", "green", "blue", "yellow", "magenta","orange", "cyan", "red", "black")) +
geom_point (size = 3) +
geom_smooth (aes(group = 1, colour = "Trendline"), method = "loess", size = 1, linetype = 5, se = FALSE) +
geom_smooth (aes(group = 1, colour = "Regression (log)"),linetype = 1, size=1.2,method = "lm", formula = y~ log(x), se = FALSE) +
labs (title = "Correlation of LAI and NDVI")+
theme (legend.title = element_text (size = 15))
Run Code Online (Sandbox Code Playgroud)
结果如下:

如您所见,所有图例图标看起来都一样.我想要的是点被显示为点,两条线("回归"和"趋势线")显示为线.
我试着用
guides (colour = guide_legend (override.aes = list(size = 1.5)))
Run Code Online (Sandbox Code Playgroud)
但这又以同样的方式给了我所有的图标,我无法弄清楚如何区分它们
我是R的新手,这是我的第一个"复杂"情节.尝试通过在线帮助和谷歌找出最多,但无法找到解决此问题的方法.谢谢大家的时间和帮助!
这是dput我的数据:
dput(NDVI2)
structure(list(MeanRED = c(3.240264, 6.97950484, 3.75052276,
4.62617908, 4.07743944, 4.88961572, 3.15865532, 2.28368236, 3.40793788,
4.28833416, 4.52529496, 2.45698208, 3.84003364, 4.31006672, 3.29672264,
4.21926652, 4.64357012, 3.94445908, 3.95942484, 1.22673756, 4.70933136,
5.33718396, 5.71857348, 5.7014266, 3.85938572, 6.07816804, 2.93602476,
5.00289296), MeanNIR = c(46.8226195806452, 48.4417953548387,
47.8913064516129, 43.9416386774194, 44.7524788709677, 52.2142607741935,
48.6422146774194, 44.6617992580645, 57.7213822580645, 58.5066447096774,
56.6924350967742, 57.4100250967742, 58.0419292903226, 58.7054423225806,
58.5283540645161, 54.7658463548387, 58.8950077096774, 58.2421209354839,
57.8538210645161, 50.209727516129, 59.5780209354839, 60.1662100645161,
62.1929408387097, 60.3309026451613, 57.859932516129, 63.5678422258065,
55.2536370967742, 60.1808743548387), NDVI = c(0.870552242769623,
0.748129155560663, 0.854748647859414, 0.809496111062421, 0.832994214160536,
0.828746627367857, 0.878046244390978, 0.902709173224405, 0.888500710549276,
0.863417928083076, 0.852157374806182, 0.917918660181389, 0.875891666709934,
0.863206160341016, 0.893353221193523, 0.856937918252258, 0.853834622095331,
0.873141147848366, 0.871890732089488, 0.952300860559358, 0.853491201866442,
0.837040994913869, 0.831587513918106, 0.827314084928549, 0.874937512911774,
0.825455384542418, 0.899087753174211, 0.846498808949291), LAI2 = c(1.1,
1.2, 1.3, 1.4, 2.1, 2.2, 2.3, 2.4, 3.1, 3.2, 3.3, 3.4, 4.1, 4.2,
4.3, 4.4, 5.1, 5.2, 5.3, 5.4, 6.1, 6.2, 6.3, 6.4, 7.1, 7.2, 7.3,
7.4), Legend = c("LAI 1", "LAI 1", "LAI 1", "LAI 1", "LAI 2",
"LAI 2", "LAI 2", "LAI 2", "LAI 3", "LAI 3", "LAI 3", "LAI 3",
"LAI 4", "LAI 4", "LAI 4", "LAI 4", "LAI 5", "LAI 5", "LAI 5",
"LAI 5", "LAI 6", "LAI 6", "LAI 6", "LAI 6", "LAI 7", "LAI 7",
"LAI 7", "LAI 7")), .Names = c("MeanRED", "MeanNIR", "NDVI",
"LAI2", "Legend"), class = "data.frame", row.names = c("LAI 1-1",
"LAI 1-2", "LAI 1-3", "LAI 1-4", "LAI 2-1", "LAI 2-2", "LAI 2-3",
"LAI 2-4", "LAI 3-1", "LAI 3-2", "LAI 3-3", "LAI 3-4", "LAI 4-1",
"LAI 4-2", "LAI 4-3", "LAI 4-4", "LAI 5-1", "LAI 5-2", "LAI 5-3",
"LAI 5-4", "LAI 6-1", "LAI 6-2", "LAI 6-3", "LAI 6-4", "LAI 7-1",
"LAI 7-2", "LAI 7-3", "LAI 7-4"))
Run Code Online (Sandbox Code Playgroud)
Hen*_*rik 28
override.aes绝对是定制传奇的好开始.在您的情况下,您可以shape通过将其设置为删除图例中不需要的内容NA,并将其设置linetype为blank:
ggplot(data = NDVI2, aes(x = LAI2, y = NDVI, colour = Legend)) +
geom_point(size = 3) +
geom_smooth(aes(group = 1, colour = "Trendline"),
method = "loess", se = FALSE, linetype = "dashed") +
geom_smooth(aes(group = 1, colour = "Regression (log)"),
method = "lm", formula = y ~ log(x), se = FALSE, linetype = "solid") +
scale_colour_manual(values = c("purple", "green", "blue", "yellow", "magenta","orange", "cyan", "red", "black"),
guide = guide_legend(override.aes = list(
linetype = c(rep("blank", 7), "solid", "dashed"),
shape = c(rep(16, 7), NA, NA))))
Run Code Online (Sandbox Code Playgroud)

| 归档时间: |
|
| 查看次数: |
14596 次 |
| 最近记录: |