gpt4 book ai didi

r - ggplot2:为没有重叠的组绘制误差线

转载 作者:行者123 更新时间:2023-12-01 23:59:03 24 4
gpt4 key购买 nike

我希望显示两种污染物对相同结果的影响,并且对没有组的情节很满意。现在,当我想绘制全年的相同数据并按季节分层时,我要么得到误差条的重叠,要么得到三个单独的面板,这不是我需要的最佳选择。
示例数据可以从这里访问: https://drive.google.com/file/d/0B_4NdfcEvU7LV2RrMjVyUmpoSDg/edit?usp=sharing

作为以下代码的示例,我为全年创建了一个图:

ally<-subset(df, seas=="allyear")
ggplot(ally,aes(x = set, y = pinc,ymin = lcinc, ymax =ucinc,color=pair,shape=pair)) +
geom_point(position=position_dodge(width=0.5) ,size = 2.5) +
geom_linerange(position=position_dodge(width=0.5), size =0.5) + theme_bw() +
geom_hline(aes(yintercept = 0)) +
labs(colour="Pollutant", shape="Pollutant", y="Percent Increase", x="") +
scale_x_discrete(labels=c(NO2=expression(NO[2]),
NOx=expression(NO[x]),
Coarse= expression(Coarse),
PM25=expression(PM[2.5]),
PM10=expression(PM[10]))) +
theme(plot.title = element_text(size = 12,face="bold" )) +
theme(axis.title=element_text(size="12") ,axis.text=element_text(size=12))

但是当我添加 facet_grid(. ~ seas) 时,我将拥有三个独立的面板。如何在一个面板中显示全年的数据并按季节划分?

最佳答案

需要使用颜色或形状来代表季节,而不是污染物。

那么这应该接近你想要的:

library(ggplot2)
ggplot(df, aes(x = set, y = pinc,ymin = lcinc, ymax =ucinc,
color=seas, shape=pair)) +
geom_point(position=position_dodge(width=0.5), size = 2.5) +
geom_linerange(position=position_dodge(width=0.5), size =0.5) + theme_bw() +
geom_hline(aes(yintercept = 0)) +
labs(colour="Season", shape="Pollutant", y="Percent Increase", x="") +
scale_x_discrete(labels=c(NO2=expression(NO[2]),
NOx=expression(NO[x]),
Coarse= expression(Coarse),
PM25=expression(PM[2.5]),
PM10=expression(PM[10]))) +
theme(plot.title = element_text(size = 12,face="bold" )) +
theme(axis.title=element_text(size="12") ,axis.text=element_text(size=12))

enter image description here

我确实认为分面可以为您提供更好的图表 --

如果您想将注意力集中在每种污染物的季节比较上,请使用此 (facet_grid(~pair, labeller=label_both)):

enter image description here

如果你想把注意力集中在每个季节污染物之间的比较上,使用这个(facet_grid(~seas, labeller=label_both)): enter image description here

关于r - ggplot2:为没有重叠的组绘制误差线,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22351559/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com