我有兴趣专注于面板35面板网格叠加条形图中的两个因子变量 - 只生成一个10面板图。
原始图(可行)的代码如下:
ggplot(region, aes(Year, Em_sum/1000000, fill=Region, order=Region)) +
geom_bar(position='fill', stat='identity') + scale_fill_brewer(palette="Set1") +
guides(fill = guide_legend(reverse=T)) + scale_y_continuous(labels = percent_format()) +
ylab("Proportion of Global FLW Emissions (%)") +
scale_x_discrete(breaks=seq(1961, 2011, 5)) +
theme(axis.text.x = element_text(angle = 90, vjust = 0.5, hjust = 1)) +
facet_grid(Group ~ Stage, scales="free")
此代码生成35面板刻面堆栈条形图网格。实际上,我想要做的是仅在两个区域(而不是原始的七个)中显示面板数据,而是保留这两个区域与完整数据集的比例。结果将是10个面板网格,0-100%,但是这两个区域不会填充100%的方面,只是两个区域的值。剩下的白色空间'在小组中,不包括在该小组中的区域的比例。
在我的代码的第一行中回答类似问题(Subset and ggplot2)时的解决方案如下:
ggplot(subset(region, Region %in% c("NAm.Oceania", "Indus.Asia"), aes(Year, Em_sum/1000000, fill=Region, order=Region))) +
我收到以下错误:
x [j]中的错误:无效的下标类型' list'
如下所述简化代码(与上面建议的解决方案一致),只生成两个所需区域的100%堆积条形图,但丢失了其他五个区域的所有信息。即情节填充100%而不是一些较低的值,这只是两个欲望区域与所有七个区域的比例。
ggplot(subset(region, Region %in% c("NAm.Oceania", "Indus.Asia"))) +
geom_bar(aes(Year, Em_sum/1000000, fill=Region, order=Region), position='fill', stat='identity')
我的数据集是232k行 - 如果该数据集的摘录有用,请建议我如何提供它。
谢谢!