我知道,通常出于几个原因,它被低估了两个y轴,但这里有一个非常具体的原因,因为这两个基本上是相同的概念,需要并排绘制。 / p>
无论如何,我希望在这里做的事情类似于
scale_y_reverse(breaks=seq(0,1,.05),
sec.axis = sec_axis(~ 1-., name = "SecondAxis", breaks=seq(0,1,.05) ))
不幸的是,这似乎不起作用。我需要主轴在上升时从1变为零,第二个y轴在上升时从0变为1。
不幸的是,您似乎无法从上面的代码中看到上面的代码,该代码是作为解决方案in another thread提出的。
答案 0 :(得分:1)
我无法复制您的问题。
更新:这似乎是ggplot2_3.1.0
特有的问题(错误)。 GitHub上存在与3.1.0中sec_axis
的意外行为有关的几个问题:sec_axis formula behaviour #2974,Ticks misaligned for sec_axis with some scale transformations and data in 3.1.0 #2978。
以下示例在ggplot2_3.0.0
中可重现,但在ggplot2_3.1.0
中失败。
这里是一个最小且可复制的示例,请您仔细检查一下是否适合您。
# Generate sample data
x <- seq(1, 4 * pi, length.out = 100)
y <- sin(x)^2
library(ggplot2)
ggplot(data.frame(x, y), aes(x, y)) +
geom_point() +
scale_y_reverse(
breaks = seq(0, 1, 0.1),
sec.axis = sec_axis(~ 1 - ., name = "SecondAxis", breaks = seq(0, 1, 0.1)))