簡體   English   中英

如何通過具有相同軸但用R向前更改x軸來繪制多個圖形?

[英]How to draw multiple graphs by having same axis but changing x-axis forward with R?

我想繪制兩個不同的對,但具有相同的x軸,但是一旦在R中繪制了該圖,它就不會更改下一對的x軸。 例如,我想在同一圖中同時具有(x,y)對和(a,b)對。 我寫:

x <- c(1,2,3,4,5,6,7)
y <- c(5,3,2,10,8,6,1)

a <- c(4,5,6,7,8,9,10)
b <- c(4,5,8,12,2,6,11)

plot(x,y , type= "l")
lines(a,b)

它給了我這張照片:

在此處輸入圖片說明

我希望它繪制一個x軸從1到10且y軸從2到11的圖。這是一個簡化的示例,實際上,我想在同一圖中有大約五個不同的密度圖,其中x軸在某些地方不會互相覆蓋。 如果您解釋說這可能會改變解決方案或不改變,將不勝感激。 另外,我不能使用ggplot2,因為數據集不是具有可用組變量的面板。 這只是幾對點。

我強烈建議重新考慮一般的數據結構; 建議將數據存儲在例如data.frame list中。

例如,讓我們根據示例數據考慮以下list

lst <- list(
    one = data.frame(x = x, y = y),
    two = data.frame(x = a, y = b))

然后,我們可以使用tidyverse方法繪制數據:

library(tidyverse);
lst %>%
    bind_rows(.id = "id") %>%
    ggplot(aes(x, y, group = id)) + geom_line()

在此處輸入圖片說明

或使用具有免費x比例的構面:

lst %>%
    bind_rows(.id = "id") %>%
    ggplot(aes(x, y, group = id)) + geom_line() + facet_wrap(~id, scales = "free_x")

在此處輸入圖片說明

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM