R 在ggplot2中具有两个y轴变换
我知道,出于几个原因,人们通常不认为有两个y轴,但这里有一个非常具体的原因,因为这两个基本上是相同的概念,需要并排绘制 不管怎样,我希望在这里做的是做一些类似的事情R 在ggplot2中具有两个y轴变换,r,ggplot2,plot,data-visualization,R,Ggplot2,Plot,Data Visualization,我知道,出于几个原因,人们通常不认为有两个y轴,但这里有一个非常具体的原因,因为这两个基本上是相同的概念,需要并排绘制 不管怎样,我希望在这里做的是做一些类似的事情 scale_y_reverse(breaks=seq(0,1,.05), sec.axis = sec_axis(~ 1-., name = "SecondAxis", breaks=seq(0,1,.05) )) 不幸的是,这似乎不起作用。我需要主轴在上升时从1到0,第二个y轴在上升时从0到
scale_y_reverse(breaks=seq(0,1,.05),
sec.axis = sec_axis(~ 1-., name = "SecondAxis", breaks=seq(0,1,.05) ))
不幸的是,这似乎不起作用。我需要主轴在上升时从1到0,第二个y轴在上升时从0到1。
不幸的是,正如您在上面看到的,我上面的代码似乎不起作用,这是作为解决方案提出的。我无法重现您的问题
更新:这似乎是ggplot2\u 3.1.0
特有的问题(bug)。GitHub上存在两个问题,与3.1.0中的sec_axis
的意外行为有关:
以下示例可在ggplot2\u 3.0.0
中复制,但在ggplot2\u 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)))
#生成样本数据
真奇怪。我不能得到你得到的。它在两边给了我相同的y轴和精确的代码。对不起,但我也无法在RStudio云上复制,在那里我有一张干净的记录,那里什么都没有。你能看看你有哪一个版本的ggplot2吗?@dailyzad这真奇怪。您使用的是什么ggplot2
版本?我用R\u 3.5.1
R 3.5.1
ggplot2 3.1.0
ggplot2
升级到3.1.0
,现在我也无法复制上面的绘图。所以在3.0.0
和3.1.0
之间一定发生了一些变化。