分组的条形图上的分组散点图

时间:2015-04-13 16:26:16

标签: r ggplot2

我正在尝试制作一个带有散点图的分组条形图,用于覆盖在条形图上的各个数据点(我知道箱形图的优点,但它们在我的领域中不是标准的)。 由于我是R的新手,我主要是通过在半逻辑试验和错误过程中剪切和粘贴一些代码来完成工作,这是我能够得到的最接近的代码。它使用样本数据集" Males"。

p <- ggplot(Males, aes(factor=year, fill=year, y=wage, x=ethn))
p + stat_summary(fun.y = "mean", geom = "bar", position="dodge") +
    stat_summary(fun.data = mean_cl_normal, geom = "errorbar", mult=1, 
       color="yellow", position="dodge") + 
    geom_jitter(aes(size=.05, col=industry),position=position_dodge(width = 0.8))

ymax not defined: adjusting position using y instead

enter image description here

不幸的是,我没有足够的信誉点来发布输出图像,但基本上这些点的颜色与它们叠加的列完全相同,而不是在每列上混合使用不同的行业(颜色)。 / p>

我的理解是,我得到的ymax错误与我遇到的问题无关。无论如何,我很高兴人们可以提供任何建议。

1 个答案:

答案 0 :(得分:1)

我认为,您遇到的问题是某些几何图形(例如geom_pointgeom_jitter)不会使用或允许factor美学用于沿x轴分组。

因此,当您在factor 忽略}的图表顶部绘制其他地理位置时,geom_bar会忽略factor设置图层但不适用于bar,并且您不会获得年度分数的点数。

要解决此问题,我会尝试使用facet_gridfacet_wrap间接获取所需的x轴分组。

例如:

require(Ecdat)
data(Males)
quartz(height=6, width=12)

ggplot(Males, aes(x=year, y=wage)) +
  facet_grid(.~ethn) +
  stat_summary(mapping=aes(fill=year), fun.y=mean, geom='bar') +
  stat_summary(fun.data = mean_sdl, geom='errorbar', color='yellow') +
  geom_jitter(aes(color=industry), 
              position=position_jitter(width=0.2), alpha=0.8)

quartz.save('SO_29610340.png')

enter image description here