R条形图:堆叠条形图中未显示某些值

时间:2018-06-28 12:19:38

标签: r ggplot2 geom-bar

对于这个特殊的问题,我既不动手,也不愿意花上几个小时,在某些情况下,由于某些原因,我的堆积条形图中没有显示某些随机值。 我检查了格式和格式是否有问题-但是找不到为什么出现此问题的任何解释...

我的数据如下

"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”) 尝试按比例缩小比例,以至于必须显示最低值也无法正常工作。

如果有人能教我这个问题,我将感到非常高兴!

1 个答案:

答案 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))

enter image description here

一种解决方案是堆叠:

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())

enter image description here

或更简单的分组:

ggplot(m_ML, aes(x= factor(year), y= value, fill= variable)) + 
  geom_col(position = 'dodge') +
  coord_cartesian(ylim = c(0, 5000))

enter image description here