ggplot:条形图面板
Posted
技术标签:
【中文标题】ggplot:条形图面板【英文标题】:ggplot: panel of bar charts 【发布时间】:2016-07-13 12:28:33 【问题描述】:我有以下数据集:
Year, Height, Width, Weight
1990, 5, 45, 190
2000, 7, 77, 210
2010, 2, 20, 150
我想用 height、width 和 weight 绘制一列条形图。在每个条形图中,将绘制每年的值。因此,假设我的条形图列中的顶部条形图是 height,它将在 x 轴上显示 1990、2000 和 2010 年的值 5、7 和 2。
我已经想出了如何制作一列条形图,每个条形图代表一年:
data <- read.csv("../data/MyData.csv")
data.m <- melt(data, id.vars = "Year")
p <- ggplot(data.m, aes(variable, value)) + geom_bar(stat="identity") + facet_wrap(~ Year, ncol=1)
print(p)
在这种情况下,我的变量 - height、weight 和 width - 位于每个条形图的 x 轴上。然而,我根本无法理解如何进行转换,以便 Year 位于 x 轴上。有什么建议吗?
【问题讨论】:
您是否尝试过将Year
映射到ggplot
中的x
参数aes
然后由variable
进行分面?
啊,就是这样。谢谢@Titolondon!您可以将其发布为答案,以便我将其标记为正确吗?
【参考方案1】:
为此,请将正确的价值映射到您想要的审美。在分面之前做一个非分面图来检查是否一切正常会更容易
p <- ggplot(data.m, aes(x = Year, y = value)) +
geom_bar(stat="identity") +
facet_wrap(~ variable, ncol=1)
【讨论】:
以上是关于ggplot:条形图面板的主要内容,如果未能解决你的问题,请参考以下文章