【发布时间】:2022-09-27 23:29:14
【问题描述】:
我整天都在与这个图作斗争,与我没有出现问题的其他图相比,并查看了几个链接但没有成功。
我的图表有两个图例。我想合并它们。我想要的结果是图例显示为 \"Sample\"、\"Analyser\"、\"Grab\",其中一个黑色小圆圈用于分析器,一个较大的红色三角形用于抓取。
Example plot with duplicated legend
我已经测试了 \"guides\" 命令,但我没有运气,我确信这只是我正在对我的代码做的事情,但我不能把我的手指放在它上面。
请参阅下面的数据集和图形代码:
数据集
data<-structure(list(run = c(66, 66, 67, 68, 69), date = structure(c(18901,
18901, 18901, 18901, 18902), class = \"Date\"), sample = structure(c(1L,
2L, 1L, 1L, 1L), levels = c(\"F\", \"G\"), class = \"factor\"), no3c = c(3.097800016,
2.99, 3.577300072, 3.960299969, 3.103699923), no2c = c(0.219300002,
0.2, 0.325800002, 0.311100006, 0.386000007)), row.names = 66:70, class = \"data.frame\")
图形
plot <- ggplot(data, aes(x = run, y = no2c, color = sample)) +
labs(title = expression(paste(\"C\"))) +
xlab(\"Run number\") +
ylab(expression(paste(\"NO\"[2], \" (mg \" ~L^-1*\'\', \")\"))) +
geom_point(aes(shape = sample, size = sample)) +
scale_size_manual(values = c(F = 2, G = 4)) +
geom_line(aes(y=no2c, color=\"no2c\"), color=\"black\", data = subset(data, sample == \'F\')) +
scale_x_continuous(breaks=seq(65,70,1),limits = c(65,70)) +
scale_y_continuous(breaks=seq(0,0.6,0.1), limits = c(0,0.6)) +
theme_bw() + theme(panel.border = element_blank(), panel.grid.major = element_blank(),
panel.grid.minor = element_blank(), axis.line = element_line(colour = \"black\"),
axis.text.x = element_text(angle = 90, vjust = 0.5, hjust=1)) +
theme(text = element_text(size=12),
panel.border = element_rect(colour = \"black\", fill=NA, size=0.5),
legend.position = \"bottom\", legend.title=element_text(size=12), legend.text = element_text(size=12),
axis.title.y = element_text(size=12),
plot.title = element_text(size=14, face=\"bold\")) +
scale_color_manual(name=\"Sample\",
labels=c(\"Analyser\", \"Grab\"),
values = c(\"F\"=\"black\", \"G\"=\"red3\"))
非常感谢您的时间和帮助!