R 使用带有对数y轴的geom_山脊线
我正在尝试将timeseries数据可视化,并认为ggridges包对此很有用。但是,我的一些数据需要绘制在对数刻度上。有办法做到这一点吗 我尝试使用y=0.001而不是0,因为y=0失败,但是高度不正确。这可以在绘制点时看到 谢谢 示例如下:R 使用带有对数y轴的geom_山脊线,r,ggplot2,ggridges,R,Ggplot2,Ggridges,我正在尝试将timeseries数据可视化,并认为ggridges包对此很有用。但是,我的一些数据需要绘制在对数刻度上。有办法做到这一点吗 我尝试使用y=0.001而不是0,因为y=0失败,但是高度不正确。这可以在绘制点时看到 谢谢 示例如下: 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,
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))
数据希望这将为您解决问题提供线索
使用ggridges
()中的一个例子,我添加了+1
,以避免在获取log10
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")
库(ggridges)
d我的数据集有这么小的值,获取日志将产生缩放问题。我能想到的最接近的方法是使用log1p()
来转换值,也许还可以进行一些缩放变换。