【发布时间】:2020-09-16 01:44:54
【问题描述】:
我正在尝试重新创建下图,但无法摆脱 x > 3 的“半步”增量。有更好的方法吗?我现在使用ggplot2 - 让它正确,然后计划切换到plotly 进行交互式绘图。
代码
PoC 仅显示 3 条迹线:
set.seed(69)
library(data.table)
library(ggplot2)
k <- lapply(1:10, function(z){
ret <- sample(x = (5*z):100,
size = 20,
replace = T)
dat <- data.table(V1 = ret[order(ret)] )
colnames(dat) <- paste('trace', z, sep = '')
return(dat)
})
dat <- do.call(cbind, k)
dat$size <- c(seq(0.1, 1, 0.1), 2:11)
ggplot(dat[size >= 0.2, ], aes(x = size)) +
geom_line(size = 1.5, aes(y = trace1), color = '#003366') +
geom_line(size = 1.5, aes(y = trace2),
color = rgb(red = 0, green = 103, blue = 62, maxColorValue = 255)) +
geom_line(size = 1.5, aes(y = trace3), color = '#b20000') +
scale_x_log10(breaks = c(seq(0.1, 1, 0.1), 2:11))
输出
想要的情节
【问题讨论】:
-
我不确定你所说的“半步增量”是什么意思,你能详细说明一下吗?
-
@teunbrand 我要重新创建的图表在 x 轴上没有任何“中断”,介于 2 和 3 或 4 和 5 之间,而它们确实存在于我制作的图表中。我还希望不显示 3、5、7 等的 x 轴标签,同时仍显示相应的网格标记。
-
您在
scale_x_log10(breaks = c(seq(0.1, 1, 0.1), 2:11))电话中要求提供 3、5、7 等。打印c(seq(0.1, 1, 0.1), 2:11),您将看到请求的休息时间。将该向量更改为您想要的中断。在不需要数字标签的地方使用minor_breaks。
标签: r ggplot2 plotly axis r-plotly