我正在做一个带有次要y轴的绘图,它只是主轴的倍增比例,以替代单位显示它。
我的主要y轴是对数缩放的,对数刻度为annotation_logticks
。有什么方法可以获取缩放后的次级y轴中的对数刻度?目前他们在主要部队。
library(tidyverse)
x=c(100,1000000,100,1000000)
y=c(0.01,0.01,0.32,0.32)
z=c(1,1,0.5,0.5)
data <- data.frame(x,y,z)
data %>%
ggplot(aes(x = x, y = y, z = z, fill = z)) +
geom_raster(interpolate=TRUE) +
coord_fixed(ratio = 1, xlim = c(100,1000000), ylim=c(0.01,0.32)) +
annotation_logticks(sides = "trbl") +
scale_x_log10() +
scale_y_log10(sec.axis = sec_axis(~ . / 0.0714,
breaks=c(0.2,0.5,1,2,5),
name = "Sec. Axis")) +
scale_fill_continuous() +
theme_bw()
由reprex软件包(v0.3.0)创建于2020-08-24
额外的图片:
似乎没有办法直接执行此操作annotation_logticks
,因为您可以更改的唯一位置参数是base
。但是,更改基准不会影响由主轴值确定的主断点的位置。
但是,您可以通过在辅助轴上手动设置中断和标签来达到类似的效果:
data %>%
ggplot(aes(x = x, y = y, z = z, fill = z)) +
geom_raster(interpolate=TRUE) +
coord_fixed(ratio = 1, xlim = c(100,1000000), ylim=c(0.01,0.32)) +
annotation_logticks(sides = "tbl") +
scale_x_log10() +
scale_y_log10(sec.axis = sec_axis(~ . * 14,
breaks= c(seq(0.1, 1, 0.1), 2:5),
labels = replace(character(14),
c(2, 5, 10, 11, 14),
c(0.2, 0.5, 1, 2, 5)),
name = "Sec. Axis")) +
scale_fill_continuous() +
theme_bw()
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句