gpt4 book ai didi

r - R中ggplot条形图的x轴限制

转载 作者:行者123 更新时间:2023-12-04 00:40:28 25 4
gpt4 key购买 nike

如何为 ggplot 图设置 x 轴的限制?我的代码是

    ages <- 6:16
mu <- c(0.66849315, 0.55386301, 1.17609589, 0.26111781, 0.46629253, 0.87089041, 0.62037671, 0.26995434, -0.30502283, -0.54611872, NaN, NaN, -0.69132420, 1.09863014, 0.49794521, 0.12393655, 0.05128425, 0.28188737, 0.41315068, 0.15585997, 0.54246575, 0.23561644)
ss <- c(NA, NA, 0.4621444, 0.1906852, 0.2239675, 0.1860610, 0.2789741, 0.2251610, 0.6729181, 0.2931649, NA, NA, 0.3996913, 0.8912500, 0.3567265, 0.2089201, 0.2070513, 0.2167448, 0.2518419 ,0.2484582, NA, NA)
df_GP <- data.frame(
age = c(ages, ages),
group = c(rep("F", length(ages)), rep("M", length(ages))),
mean = mu,
se = ss
)
limits <- aes(ymax = mean + se, ymin=mean - se)
dodge <- position_dodge(width=0.9)
p_GP <- ggplot(df_GP, aes(fill=group, y=mean, x=age)) +
geom_bar(position="dodge", stat="identity") +
geom_errorbar(limits, position=dodge, width=0) +
ylim(-4, 2.5) +
ggtitle("GP") +
scale_x_discrete(breaks=ages) +
#xlim(5, 17) +
theme(legend.position="none")
p_GP

ages 是一个 6:16 的数组。分组变量是性别,所以每个年龄段有两个条(不同颜色)。均值是感兴趣的变量,垂直线是 se。

我使用了 scale_x_discrete(breaks=ages),因为我希望显示 6 到 16 岁的所有年龄段。

在函数 xlim() 中被注释,因为它与 scale_x_discete() 产生了冲突

现在生成的图形的 x 轴从 0 到 16,我想让它从 6 开始,从而避免显示从 0 到 6 岁的图形的空白部分,如下面链接的图像所示。

我能解决这个问题吗?

enter image description here

最佳答案

使用 scale_x_continuous 而不是 scale_x_discrete

df_GP  + scale_x_continuous(breaks=ages)

enter image description here

如果你想缩放 x 标签,你可以添加 limits 参数:

 scale_x_continuous(breaks=ages,limits=c(10, 17)) 

关于r - R中ggplot条形图的x轴限制,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19221408/

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