ggplot2堆积区域折线图产生奇数线和孔

时间:2016-01-21 06:42:06

标签: r ggplot2 stacked stacked-area-chart

我的数据集的结构如下:

year    color   toyota  honda   ford
2011    blue    66      75      13
2011    red     75      91      62
2011    green   65      26      57
2012    blue    64      23      10
2012    red     84      8       62
2012    green   67      21      62
2013    blue    31      74      49
2013    red     48      43      35
2013    green   57      62      74
2014    blue    59     100      32
2014    red     72      47      67
2014    green   97      24      70
2015    blue    31       0      79
2015    red     60      35      74
2015    green   51       2      28

(我的实际数据,在下面的图表图片中显示,更大,有100多种"颜色"但我简化了这里,所以你只能理解结构。)

我正在尝试制作一个堆积区域折线图,显示特定公司随着时间的推移生产了多少种颜色的汽车。 (即每家公司都有自己的图表,其中x轴=年,y轴=生产汽车)。

我运行此代码:

qplot(year, toyota, data = dataName, fill = color, group = color, geom= "area", position = "stack") 
+ geom_area() + theme(legend.position = "none")

但是,每家公司的图表都存在问题。看似随机的切口孔以及切割层顶部的线条。

company1_chart

company2_chart

我很困惑为什么会发生这种情况甚至是可能的(尤其是漏洞......数据堆栈是否会被淘汰?)如果我在数据结构中做多而不是宽泛的公司会有所帮助吗? ?

1 个答案:

答案 0 :(得分:0)

即使有0值,也不应该有这些错误。我拿了你的数据并偶尔在本田专栏中加了0。

代码(使用ggplot2)

library(ggplot2)
df <- read.csv("cartest.csv", header = TRUE)

ggplot(data=df,aes(x=year,y=h,fill=color)) + 
  geom_area() + 
  ggtitle("car test")

cartest.png

如果您要将数据导入为CSV或TSV且数据列为数字,则不应出现此问题。如果它是作为.character导入的,您可以使用:

进行转换
df$h <- as.numeric(df$h)