0

我正在尝试可视化时间序列数据,并认为 ggridges 包对此很有用。但是,我的一些数据需要以对数比例绘制。有没有办法做到这一点?

我尝试使用 y = 0.001 而不是 0,因为 y = zero 失败,但是高度不正确。当您绘制点时也可以看到这一点。

谢谢

下面的例子:

data <- data.frame(x = 1:5, y = rep(0.001, 5), height = c(0.001, 0.1, 3, 300, 4))
ggplot(data) +
  geom_ridgeline(aes(x, y, height = height),fill = "lightblue") +
  scale_y_log10() +
geom_point(aes(x=x, y=height))
4

1 回答 1

0

希望这将为您提供解决问题的线索。

使用来自ggridgeshttps://wilkelab.org/ggridges/articles/introduction.html)的一个例子,我添加+1以避免零(因此Inflog10

library(ggridges)
d <- data.frame(
  x = rep(1:5, 3),
  y = c(rep(0, 5), rep(1, 5), rep(2, 5)),
  height = c(0, 1, 3, 4, 0, 1, 2, 3, 5, 4, 0, 5, 4, 4, 1)
)

ggplot(d, aes(x, (y + 1), height = height, group = y)) + 
  geom_ridgeline(fill = "lightblue")+
  scale_y_log10() +
  annotation_logticks(sides = "l")

生成:

在此处输入图像描述

于 2020-03-02T23:33:33.397 回答