R 具有多x轴和多y轴的图

R 具有多x轴和多y轴的图,r,R,我知道如何绘制两个y轴和公共x轴的图,但我想知道如何绘制两个x轴和两个y轴的图 x1<-seq(10,20,1) y1<-seq(30,40,1) x2<-seq(0.1,1.1,0.1) y2<-seq(40,50,1) A<-data.frame(x1,y1,x2,y2) x1您可以将数据帧从宽转换为长,然后使用facet\u grid: library(ggplot2) library(tidyr) library(dplyr) x <- data

我知道如何绘制两个y轴和公共x轴的图,但我想知道如何绘制两个x轴和两个y轴的图

x1<-seq(10,20,1)
y1<-seq(30,40,1) 
x2<-seq(0.1,1.1,0.1)
y2<-seq(40,50,1) 
A<-data.frame(x1,y1,x2,y2)

x1您可以将数据帧从宽转换为长,然后使用
facet\u grid

library(ggplot2)
library(tidyr)
library(dplyr)
x <- data.frame(x1, x2)
y <- data.frame(y1, y2)

y <- y %>%
  gather(key = y_axis, value = y_value, y1, y2)
x <- x %>%
  gather(key = x_axis, value = x_value, x1, x2)
A <- cbind(x, y)
ggplot(A, aes(x_value, y_value)) +
  facet_grid(y_value ~ x_value) +
  geom_point()    #can replace with geom_line() if you prefer a line to points 
库(ggplot2)
图书馆(tidyr)
图书馆(dplyr)

x在右侧给绘图多一点空间,以便第二个y轴的标签适合。然后正常绘制第一个点。之后,在不带轴的情况下绘制第二个系列。然后添加其他轴和轴标签

par(mar = c(5.4,4.1,4.1,5.4))
plot(x1,y1,xlab="red",ylab="red",col="red")
par(new = T)
plot(x2,y2,xaxt="n",xlab="",yaxt="n",ylab="")
Axis(side = 3, at = x2, labels = x2)
mtext(side = 3, line = 3, 'black')
Axis(side = 4, at = y2, labels = y2)
mtext(side = 4, line = 3, 'black')
一定要以某种方式指出哪些点是带有颜色、文字或其他东西的点

有关示例,请参见。我将y2改为减少,这样实际上两个点系列都是可见的:

y2<-seq(50,40,-1)

y2请将您的
加载量减少到实际需要的包
tidyverse
是一个方便的超级软件包,可以引入许多其他在这里不需要的软件包。在这种情况下,我认为应该是
dplyr
tidyr
,和
ggplot2