Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/redis/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
R 在ggplot2中具有两个y轴变换_R_Ggplot2_Plot_Data Visualization - Fatal编程技术网

R 在ggplot2中具有两个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到

我知道,出于几个原因,人们通常不认为有两个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到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
之间一定发生了一些变化。