【发布时间】:2016-01-21 06:42:05
【问题描述】:
我有一个结构如下的数据集:
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")
但是,每家公司的图表都有问题。看似随机的切割孔以及穿过层顶部的线条。
我很困惑为什么会发生甚至可能发生这种情况(尤其是漏洞......数据不会堆积吗?)如果我让公司的数据结构长而不是宽,会有所帮助吗?
【问题讨论】:
-
您是否检查过您的数据是否存在某些年份和颜色的空白?例如。 1983 年等没有蓝色?
-
我的数据确实有很多空白。那会是个问题吗?如果是这样,我可以确保每年都有同一组 200 种颜色的行。
-
不完全确定,但我猜想在没有价值的地方出现空白......如果没有价值,ggplot2 应该绘制或显示什么?
-
给我们数据来理解结构是不够的。例如,问题可能与列的数据类型有关(例如因子与数字),而我们无法从您发布的表格中看到这一点。此外,您应该确保您发布的数据确实导致了一个包含您想要消除的漏洞的图。所以你应该产生一个尽可能小的数据集,但仍然显示你想要解决的问题。然后,运行
dput(dataName)并发布输出。 -
我认为@user3293236 关于差距是正确的。如果在绘图时从测试数据集中删除第一行,您可以看到差距。如果设置为 0,则没有问题。
标签: r ggplot2 stacked stacked-area-chart