我有以下从the data-set 'temp'生成的条形图(数据位于此堆栈溢出页面的底部,也可以通过上面的链接找到)。
问题
目标是在标题为 Canopy Type 的条形图右侧添加一个图例,标签表示 Canopy 和 Open Canopy 即可。
我尝试使用另一个stackoverflow答案中给出的scale_colour_manual,但我无法显示一个图例。
如果有人可以提供帮助,那么请提前多多谢谢
生成条形图的代码是:
假设您想为每个Under_Open,Topography单元格绘制Canopy_Index的平均值,您可以先形成均值:
df.means <- aggregate(Canopy_Index ~ Under_Open + Topography, df.melt, mean)
然后,使用您问题中的代码绘制df.means:
ggplot(df.means, aes(x = Topography, y = Canopy_Index,
fill = factor(Under_Open), group = Under_Open)) +
geom_bar(stat = "identity", position = "dodge") +
scale_fill_discrete(name = "Topographical Feature",
breaks = c("Under_tree", "Open_Canopy"),
labels = c("Under Canopy", "Open Canopy")) +
xlab("Topographical Feature") + ylab("Canopy Index") +
scale_colour_manual("Canopy Type", values = c("red", "blue")) +
theme(axis.text.x = element_text(angle = 45, hjust = 1),
text = element_text(size=14)) +
theme(panel.background = element_blank(),
panel.grid.major = element_blank(),
panel.grid.minor = element_blank(),
panel.border = element_blank()) +
theme(axis.line.x = element_line(color="black", size = 0.8),
axis.line.y = element_line(color="black", size = 0.8))
答案 0 :(得分:0)
非常感谢Thales&#39;提供解决此问题的代码
生成带有相关图例的条形图的代码:
ggplot(df.means, aes(x=Topography, y=Canopy_Index,fill=Under_Open)) +
geom_bar(stat="identity", position="dodge") +
scale_fill_discrete(name="Canopy Type",
breaks=c("Under_tree", "Open_Canopy"),
labels=c("Under Canopy", "Open Canopy")) +
xlab("Topographical Feature") + ylab("Canopy Index")
<强> Barplot 强>