我想使用ggplot绘制辅助轴的图形,我将原始数据乘以200000 ^ [整列],这有什么反面?
scale_y_continuous(sec.axis = sec_axis(~. ) )
我想使用ggplot绘制辅助轴的图形,我将原始数据乘以200000 ^ [整列],这有什么反面?
scale_y_continuous(sec.axis = sec_axis(~. ) )
使用Nico的数学,这是一个使用反函数的工作示例:
set.seed(2)
z <- data.frame(x=1:100,y=200000^runif(100,10,11))
ggplot(z,aes(x,y)) +
geom_point() +
scale_y_continuous(
sec.axis = sec_axis(~ log(.) / log(200000),breaks=c(10.1,10.9,10.95)),expand = c(0,0)
)
我不得不使用expand=c(0,0)
,因为即使数据中没有负值,轴的扩展(对于上下文和剪切来说也是常见的)都会导致负值。这些负面因素会导致警告,因此,如果您不介意警告,则可以排除警告。 (可能还有其他方法可以解决这种现象,也许对于您的数据来说,它们就不是必需的。)
编辑:我添加了breaks=
。请注意,breaks=
和labels=
可以被数字值或函数作为输入覆盖,因此您无需像在此所做的那样对值进行硬编码。