2017-04-14 165 views
0

我知道我們如何繪製兩個y軸和普通x的圖,但我想知道如何繪製兩個x軸和兩個y軸的圖,軸。一個multipe 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) 

回答

0

給劇情略偏空右側,使得第二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') 

請務必以某種方式指出哪些點是顏色或文字或其他東西。

查看this的例子。我改變了y2減少,所以實際上兩個點系列是可見的:

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

您可以從廣泛的數據幀轉換爲長,然後用facet_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 
+1

請減少你的'庫'負載只有實際需要的包; 'tidyverse'是一個方便的超級軟件包,可以引入很多這裏不需要的其他軟件包。在這種情況下,我認爲它會是'dplyr','tidyr'和'ggplot2'。 – r2evans