我正在使用 R ggplot2 创建一些绘图,但遇到了挑战。我想在 y 轴上设置非均匀刻度,但我不知道如何去做。
例如:
df <- data.frame(x = c(1, 2, 3, 4, 5, 6, 7, 8, 9, 10), y = c(1, 1.1, 1.9, 10, 100, 1, 1.1, 1.9, 13, 100))
p <- ggplot(df, aes(x, y)) +
geom_point() +
xlab(NULL) +
ylab(NULL)
p
因为很多y轴值在1到10范围内,我想显示这个范围内的更多细节,所以我想像这样的y轴:
仅作为示例,省略该图中的点
您可以使用
scale_y_continuous
并手动设置分隔符或使用转换(如 @teunbrand 建议)。
df <- data.frame(x = c(1, 2, 3, 4, 5, 6, 7, 8, 9, 10), y = c(1, 1.1, 1.9, 10, 100, 1, 1.1, 1.9, 13, 100))
p <- ggplot(df, aes(x, y)) +
geom_point() +
xlab(NULL) +
ylab(NULL) +
scale_y_continuous(breaks = c(0, 10, 37, 62, 100))
p