r - 减少绘图 X 标签中的距离(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-label)和类型(颜色)区分的数据的抖动图:
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)之间的距离?
PD 即使我在图形中留有空白我也想做
解决方案
这里有几个选项。
# 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))
方案一:增加闪避距离。这不会使标签更靠近,但它可以更好地利用可用空间,从而使标签看起来不那么孤立。
p +
geom_point(position = position_dodge(width = 0.9))
选项 2:展开 x 轴。将扩展因子从默认值 0.5 增加到 >0.5 会增加轴末端的空间,从而使标签更靠近。
p +
geom_point(position = position_dodge(0.2)) +
scale_x_discrete(expand = c(2, 0))
选项 3:更改纵横比。根据绘图窗口的大小,这也会在视觉上将 x 轴标签靠得更近。
p +
geom_point(position = position_dodge(0.2)) +
theme(aspect.ratio = 2)
由reprex 包(v1.0.0)于 2021-06-25 创建
推荐阅读
- javascript - 警告:数组或迭代器中的每个孩子都应该有一个唯一的“关键”道具
- html - 在内联 svg 标记上使用 viewBox 属性时的 WebStorm 警告
- service - 内核终止后 Symfony4 访问 RequestStack
- php - 在这个 slug / 链接之后的所有内容
- r - 内存泄漏和 C 包装器
- javascript - 停止使用两次的本地文件
- mongodb - MongoDB中的arrayFilters
- asp.net - 亚马逊AWS | 403 - 禁止:访问被拒绝
- ios - tvOS 中具有多个详细视图控制器的 UISplitViewController
- c# - Openxml将docx与图像合并