分组条形图上的分组散点图
Grouped scatterplot over grouped barplot
我正在尝试制作一个分组条形图,其中散点图为覆盖在条形图上的各个数据点着色(我知道箱形图的优点,但它们在我的领域中不是标准的)。
由于我是 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
不幸的是,我没有足够的声誉点数来 post 输出图像,但基本上这些点都与它们覆盖的列颜色相同,而不是混合不同的行业(颜色) 在每一列上。
我的理解是,我遇到的 ymax 错误与我遇到的问题无关。不管怎样,我很高兴有人能提供任何建议。
我认为您遇到的问题是某些几何图形,例如 geom_point
和 geom_jitter
不使用或不允许 factor
沿 x- 分组的美学轴。
因此,当您在 factor
被 而非 忽略的图表顶部绘制其他几何图形时,例如 geom_bar
,factor
某些层的设置被忽略,但 bar
没有,并且您没有得到按年解析的点列。
为了解决这个问题,我会尝试使用 facet_grid
或 facet_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')
我正在尝试制作一个分组条形图,其中散点图为覆盖在条形图上的各个数据点着色(我知道箱形图的优点,但它们在我的领域中不是标准的)。 由于我是 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
不幸的是,我没有足够的声誉点数来 post 输出图像,但基本上这些点都与它们覆盖的列颜色相同,而不是混合不同的行业(颜色) 在每一列上。
我的理解是,我遇到的 ymax 错误与我遇到的问题无关。不管怎样,我很高兴有人能提供任何建议。
我认为您遇到的问题是某些几何图形,例如 geom_point
和 geom_jitter
不使用或不允许 factor
沿 x- 分组的美学轴。
因此,当您在 factor
被 而非 忽略的图表顶部绘制其他几何图形时,例如 geom_bar
,factor
某些层的设置被忽略,但 bar
没有,并且您没有得到按年解析的点列。
为了解决这个问题,我会尝试使用 facet_grid
或 facet_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')