Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/81.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
R 分组条形图上的分组散点图_R_Ggplot2 - Fatal编程技术网

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

R 分组条形图上的分组散点图,r,ggplot2,R,Ggplot2,我正在尝试制作一个分组条形图,其中散点图为覆盖在条形图上的单个数据点着色(我知道箱线图的优点,但它们在我的领域中不是标准的)。 由于我是R新手,我主要是通过在半逻辑试错过程中剪切和粘贴代码位来工作,这是我所能做到的最接近的一次。它使用样本数据集“男性” p我认为,您遇到的问题是,一些几何体,例如geom_点和geom_抖动不使用或不允许因子沿x轴分组 因此,当您在图表顶部绘制其他几何图形时,因子不会被忽略,例如geom\u bar,对于某些图层,因子设置会被忽略,但对于bar,您不会得到点的年份

我正在尝试制作一个分组条形图,其中散点图为覆盖在条形图上的单个数据点着色(我知道箱线图的优点,但它们在我的领域中不是标准的)。 由于我是R新手,我主要是通过在半逻辑试错过程中剪切和粘贴代码位来工作,这是我所能做到的最接近的一次。它使用样本数据集“男性”


p我认为,您遇到的问题是,一些几何体,例如
geom_点
geom_抖动
不使用或不允许
因子
沿x轴分组

因此,当您在图表顶部绘制其他几何图形时,
因子
不会被忽略,例如
geom\u bar
,对于某些图层,
因子
设置会被忽略,但对于
bar
,您不会得到点的年份解析列

为了解决这个问题,我会尝试使用
facet\u grid
facet\u 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')

如果你发布一个图片链接(比如在imgur上),有足够代表性的人可以将其编辑到你的问题中。您还应该与
dput(head(male,10))
共享您的数据,或者至少共享数据的顶部。但是条形图在y上有计数,散点图有原始数据。所以你们将有两个独立的y轴,对吗?hadley不喜欢这些,因此需要做一些工作,因为你不仅要有两个审美尺度(标签),还要有两个数据尺度(计数和y值),好的,我的输出图片在这里:我用来证明我的问题的数据集在这里:我不需要分开Y轴,因为我的唯一目的是可视化每年不同行业的点分布。因此,y轴应该完全相同(工资),因素组的划分也应该完全相同(按种族划分,然后按种族划分)。我对计数一点也不感兴趣。另外,我要更详细地说明我的实际目的:我正试图将一个名为“声惊吓的脉冲前抑制”的实验数据可视化。简言之,来自三个不同基因型组(KO、WT和HET)的受试者分别接受三种不同水平的脉冲前强度测试。我想展示我在每个预脉冲水平(75,80,95分贝)下对惊吓抑制的测量,按基因型分组。不幸的是,我找不到一个能准确反映这些情况的标准样本数据集,所以我选择了“雄性”数据集,因为它可以类似地使用。另外,要明确的是,条形图也不是计数。条形图是平均值,散点图是原始数据。是的!!那很有魅力!我所要做的就是将错误条的参数更改为我想要的,所以最终的代码是这样的:
require(Ecdat)data(means)quartz(height=6,width=12)ggplot(means,aes(x=year,y=wage))+facet\u grid(.~ethno)+stat u summary(mapping=aes(fill=year),fun.y=mean,geom='bar')+stat\u summary(fun.data=means\cl\u normal,geom=“errorbar”,mult=1,color=“yellow”)+geom_jitter(aes(颜色=行业),位置=位置_jitter(宽度=0.2),alpha=0.8)
结果:Mods可以将此问题标记为已回答。我没有足够的分数进行投票,所以我想我的感谢将不得不这样做:(
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')