我正在尝试修复错误栏,以便它们在我的图表上实际可读。唯一导致问题的是2013年的数据。我该怎么做呢?我看到一些关于抖动或躲闪的帖子,但我不知道如何应用它来解决我的问题。
以下是我试图改变的代码:
YearlyDensity <- read.table(header=T, text='
Station Year mean se
M-25 2013 8944.444 3636.871
M-25 2008 4212 2371
M-25 2004 963 291
M-45 2013 8495.169 2111.072
M-45 2008 13023 1347
M-45 2004 8748 1740
X-2 2013 12345.411 1166.905
')
library(ggplot2)
ggplot(YearlyDensity, aes(x=Year, y=mean, colour=Station,group=Station)) +
geom_errorbar(aes(ymin=mean-se, ymax=mean+se), colour="black", width=.2) +
geom_line(size=.8) +
geom_point(size=4, shape=18) +
coord_cartesian(ylim = c(0, 16000)) +
scale_y_continuous(breaks=seq(0,16000,2000)) +
xlab("Sampling Year") +
ylab("Mean Density") +
labs(fill="") +
theme_bw() +
theme(legend.justification=c(1,0), legend.position=c(1,0))
答案 0 :(得分:4)
您需要dodge
geom
所有position = position_dodge(width = the-desired-width)
个相同数量的广告,例如为每个# set desired dodge width
pd <- position_dodge(width = 0.4)
ggplot(YearlyDensity, aes(x = Year, y = mean, colour = Station, group = Station)) +
geom_errorbar(aes(ymin = mean-se, ymax = mean+se),
colour = "black", width = 0.2, position = pd) +
geom_line(size = .8, position = pd) +
geom_point(size = 4, shape = 18, position = pd) +
coord_cartesian(ylim = c(0, 16000)) +
scale_y_continuous(breaks = seq(0, 16000, 2000)) +
xlab("Sampling Year") +
ylab("Mean Density") +
labs(fill = "") +
theme_bw() +
theme(legend.justification = c(1, 0), legend.position = c(1, 0))
添加{{1}}。
{{1}}