【发布时间】:2020-06-11 10:47:22
【问题描述】:
由于显而易见的原因,用于在 ggplot2 中创建 geom_violin() 图的分组变量预计是离散的。但是我的离散值是数字,我想以连续的比例显示它们,以便我可以将这些数字的连续函数叠加在小提琴上。玩具示例:
library(tidyverse)
df <- tibble(x = sample(c(1,2,5), size = 1000, replace = T),
y = rnorm(1000, mean = x))
ggplot(df) + geom_violin(aes(x=factor(x), y=y))
这就像您想象的那样工作:x 轴值(等距)标记为 1、2 和 5 的小提琴,它们的均值分别位于 y=1、2、5。我想通过手段覆盖一个连续的函数,例如 y=x。那可能吗?添加+ scale_x_continuous() 可以预测得到Error: Discrete value supplied to continuous scale。一个解决方案可能会通过数字 x 值水平传播小提琴,即 2 和 5 之间的间距是 1 和 2 之间的三倍,但这不是我想要实现的唯一事情 -覆盖连续函数是关键问题。
如果这是不可能的,欢迎替代可视化建议。我知道我可以用一个简单的散点图代替小提琴,以粗略地了解给定 x 的密度作为 y 的函数。
【问题讨论】: