对于这个特殊的问题,我既不动手,也不愿意花上几个小时,在某些情况下,由于某些原因,我的堆积条形图中没有显示某些随机值。 我检查了格式和格式是否有问题-但是找不到为什么出现此问题的任何解释...
我的数据如下
"nsis": {
"allowElevation": true
}
然后我“融化”数据并将其分组:
year A P B P A R B R
1 2005 443.0 268.4 10952.1 289.9
2 2006 216.5 76.6 18403.4 123.9
3 2007 181.4 232.5 1739.9 317.4
4 2008 148.5 50.0 284.9 226.8
5 2009 449.6 136.9 459.2 70.8
6 2010 190.6 383.7 638.2 147.6
7 2011 151.0 307.0 1133.0 177.4
8 2012 22.5 199.5 52.8 71.0
9 2013 956.0 393.8 637.6 47.1
10 2014 892.0 189.5 899.8 50.7
11 2015 340.8 242.4 782.4 40.6
12 2016 187.8 1262.2 3272.0 121.5
并创建了一个漂亮的情节(缺少的数据除外):
m_ML <- melt(ML, id = "year")
m_ML$groups <- stri_extract_last_words(m_ML$variable)
结果是这样的: Plot
如您所见,该图似乎可行,除了由于某些原因而丢失数据外,尽管此处有数据也应显示。 (例如,在2007、2010、2011、2012和2016年缺少值“ A R”) 尝试按比例缩小比例,以至于必须显示最低值也无法正常工作。
如果有人能教我这个问题,我将感到非常高兴!
答案 0 :(得分:0)
您正在相互绘制条形图。丢失的条形图位于其他条形图的后面。
看哪:
ggplot(m_ML, aes(x= factor(year), y= value, group= groups, fill= variable)) +
geom_bar(stat="identity",position="dodge", col = 1, alpha = 0.2) +
coord_cartesian(ylim = c(0, 5000))
一种解决方案是堆叠:
ggplot(m_ML, aes(x= groups, y= value, group= groups, fill= variable)) +
geom_col() +
facet_grid(~year, switch = 'x') +
coord_cartesian(ylim = c(0, 5000)) +
theme(strip.background = element_blank(), axis.text.x = element_blank(), axis.ticks.x = element_blank())
或更简单的分组:
ggplot(m_ML, aes(x= factor(year), y= value, fill= variable)) +
geom_col(position = 'dodge') +
coord_cartesian(ylim = c(0, 5000))