减少绘图 X 标签中的距离(R:ggplot2)
Reduce distance in plot X labels (R: ggplot2)
这是我的数据框:
df = data.frame(info=1:30, type=c(replicate(5,'A'), replicate(5,'B')), group= c(replicate(10,'D1'), replicate(10,'D2'), replicate(10,'D3')))
我想绘制我的数据的抖动图,按组(X 标签)和类型(颜色)区分:
ggplot()+
theme(panel.background=element_rect(colour="grey", size=0.2, fill='grey100'))+
geom_jitter(data=df, aes(x=group, y=info, color=type, shape=type), position=position_dodge(0.2), cex=2)+
scale_shape_manual(values=c(17,15,19))+
scale_color_manual(values=c(A="mediumvioletred", B="blue"))
如何减小表示中 X 标签(D1、D2、D3)之间的距离?
P.D。我想做,即使我在图形
中留空space
最简单的解决方案是调整图的大小。例如,如果您使用 ggsave("my_plot.pdf", width = 3, height = 4.5)
执行命令,它看起来像这样:
或者在 Rmd 文件中,您可以通过各种方式控制尺寸:参见 this link。
尝试添加 coord_fixed(ratio = 0.2)
并调整比率。
ggplot()+
theme(panel.background=element_rect(colour="grey", size=0.2, fill='grey100'))+
geom_jitter(data=df, aes(x=group, y=info, color=type, shape=type), position=position_dodge(0.2))+
scale_shape_manual(values=c(17,15,19))+
scale_color_manual(values=c(A="mediumvioletred", B="blue")) + coord_fixed(ratio = 0.2)
这里有几个选项。
# Setting up the plot
library(ggplot2)
df <- data.frame(
info=1:30,
type=c(replicate(5,'A'), replicate(5,'B')),
group= c(replicate(10,'D1'), replicate(10,'D2'), replicate(10,'D3'))
)
p <- ggplot(df, aes(group, info, colour = type, shape = type))
方案一:增加闪避距离。这不会使标签靠得更近,但可以更好地利用可用的 space,从而使标签显得不那么孤立。
p +
geom_point(position = position_dodge(width = 0.9))
选项 2:扩展 x 轴。将扩展因子从默认的 0.5 增加到 >0.5 会增加轴末端的 space,使标签更靠近。
p +
geom_point(position = position_dodge(0.2)) +
scale_x_discrete(expand = c(2, 0))
选项 3:更改纵横比。根据绘图 window 的大小,这也会在视觉上使 x 轴标签靠得更近。
p +
geom_point(position = position_dodge(0.2)) +
theme(aspect.ratio = 2)
由 reprex package (v1.0.0)
于 2021-06-25 创建
这是我的数据框:
df = data.frame(info=1:30, type=c(replicate(5,'A'), replicate(5,'B')), group= c(replicate(10,'D1'), replicate(10,'D2'), replicate(10,'D3')))
我想绘制我的数据的抖动图,按组(X 标签)和类型(颜色)区分:
ggplot()+
theme(panel.background=element_rect(colour="grey", size=0.2, fill='grey100'))+
geom_jitter(data=df, aes(x=group, y=info, color=type, shape=type), position=position_dodge(0.2), cex=2)+
scale_shape_manual(values=c(17,15,19))+
scale_color_manual(values=c(A="mediumvioletred", B="blue"))
如何减小表示中 X 标签(D1、D2、D3)之间的距离?
P.D。我想做,即使我在图形
中留空space最简单的解决方案是调整图的大小。例如,如果您使用 ggsave("my_plot.pdf", width = 3, height = 4.5)
执行命令,它看起来像这样:
或者在 Rmd 文件中,您可以通过各种方式控制尺寸:参见 this link。
尝试添加 coord_fixed(ratio = 0.2)
并调整比率。
ggplot()+
theme(panel.background=element_rect(colour="grey", size=0.2, fill='grey100'))+
geom_jitter(data=df, aes(x=group, y=info, color=type, shape=type), position=position_dodge(0.2))+
scale_shape_manual(values=c(17,15,19))+
scale_color_manual(values=c(A="mediumvioletred", B="blue")) + coord_fixed(ratio = 0.2)
这里有几个选项。
# Setting up the plot
library(ggplot2)
df <- data.frame(
info=1:30,
type=c(replicate(5,'A'), replicate(5,'B')),
group= c(replicate(10,'D1'), replicate(10,'D2'), replicate(10,'D3'))
)
p <- ggplot(df, aes(group, info, colour = type, shape = type))
方案一:增加闪避距离。这不会使标签靠得更近,但可以更好地利用可用的 space,从而使标签显得不那么孤立。
p +
geom_point(position = position_dodge(width = 0.9))
选项 2:扩展 x 轴。将扩展因子从默认的 0.5 增加到 >0.5 会增加轴末端的 space,使标签更靠近。
p +
geom_point(position = position_dodge(0.2)) +
scale_x_discrete(expand = c(2, 0))
选项 3:更改纵横比。根据绘图 window 的大小,这也会在视觉上使 x 轴标签靠得更近。
p +
geom_point(position = position_dodge(0.2)) +
theme(aspect.ratio = 2)
由 reprex package (v1.0.0)
于 2021-06-25 创建