r - 如何制作具有不同抖动的不同 x 值的 ggplot 图?
问题描述
如果我想抖动点,但我的 x 轴有这样的不均匀间隔:
library(ggplot2)
ggplot(ToothGrowth, aes(x=dose, y=len)) + geom_point()
如何在不同的 x 轴值处改变抖动的宽度,以免最终出现这样的重叠?
ggplot(ToothGrowth, aes(x=dose, y=len)) + geom_jitter(width = 0.3,size = 4)
例如,我想要一种方法使抖动在 0.5 处变窄,在 1 处变宽,在 2 处变宽。
解决方案
一种肮脏的方法可能是在绘图之前抖动剂量:
JitterSize <- rep(c(1.5, 3, 6), table(ToothGrowth$dose))
ToothGrowth $ Jitter <- jitter(ToothGrowth $ dose, JitterSize)
ggplot(data = ToothGrowth,
aes(x = Jitter, y=len, color = as.character(dose))) +
geom_point(size = 4)
根据 abruh 的评论更新。
推荐阅读
- python-3.x - 如何可靠地引用一个过程(使用标签或类似的东西)?
- javascript - 如何在其他路线中的其他组件中获取更新的道具?
- c - 请告诉我这段代码有什么问题
- websphere - 无限安全(Jasypt/WebSphere)
- javascript - 如何将图像中的按钮转换为网站上真正的可点击按钮?
- javascript - 遍历 Javascript 对象并根据值执行条件
- xcode - RealityKit - 内部错误导致启动延迟 2 秒
- logstash - Logback losghstash appender 添加自己的字段
- floating-point - Fortran 中的乘法使用 ifort 和 gfortran 给出不同的结果
- android - 非法状态异常 OnClick 方法