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

我想用 heightwidthweight 绘制一列条形图。在每个条形图中,将绘制每年的值。因此,假设我的条形图列中的顶部条形图是 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)

在这种情况下,我的变量 - heightweightwidth - 位于每个条形图的 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:条形图面板的主要内容,如果未能解决你的问题,请参考以下文章

ggplot2:3路交互堆积条形图的分组条形图

R语言画图-条形图,堆叠条形图(ggplot2)

条形图上条形图上方 ggplot 汇总统计量的注释

R语言ggplot2可视化:ggplot2可视化水平堆叠条形图并且在每个堆叠条形图的内部居中添加百分比文本标签信息

如何在ggplot2中并排条形图上居中标签

使用 ggplot 在分组条形图上定位标签