改变密度图上每个重叠变量的高度

  • 本文关键字:重叠 变量 高度 改变 ggplot2
  • 更新时间 :
  • 英文 :


我对R和ggplot2很陌生,所以如果这是一个明显的问题,我很抱歉,但我已经搜索了周围,找不到关于这个确切问题的任何东西

我有一个ggplot密度图,在同一图上有6个变量,重叠。我要做的是改变每个变量的最大高度为一定的值,而不改变分布。例:

variable_1 - 1, //on Y axis
variable_2 - 0.5 etc. 

通过这种方式,我可以了解分布(跨x轴),同时也通过y轴显示第二个独立参数

这可能吗?

是的,这是可能的,尽管我不建议这样做。你所能做的就是用这个分布除以它的最大值,然后乘以目标高度。

# some example data:
x = seq(-5, 5, .1)
y1 = dnorm(x)
y2 = dnorm(x, .5, .2)
Y = cbind(y1, y2)
matplot(x, Y, type = 'l', bty = 'n', lty = 1, las = 1)
# now I want the red line to be max 1
# and the black line to be mack .5
y1 = .5*y1 / max(y1)
y2 = 1*y2 / max(y2)
Y = cbind(y1, y2)
matplot(x, Y, type = 'l', bty = 'n', lty = 1, las = 1)

这里重要的部分是我对y1y2使用了两个不同的变换。结果是,在第二个图中,分布不能再进行比较了。您可以通过只对所有发行版应用相同的转换来避免这种情况。

相关内容

最新更新