簡體   English   中英

如何使用ggplot循環繪制多個圖形

[英]How to make a loop to plot several graphs using ggplot

這是我的數據框:

x1 <- c(1,2,3,4)
x2 <- c(3,4,5,6)
x3 <- c(5,6,7,8)
x4 <- c(7,8,9,10)
x5 <- c(8,7,6,5)
df <- c(x1,x2,x3,x4,x5)

我從數據框中選擇3個變量,分別針對x1繪制3個散點圖,並將其存儲在字符向量中:

varlist <- c("x2","x4","x5")

所以我想創建一個函數,使用ggplotggplot與x2,x1與x4和x1與x5的3個獨立散點圖,其中xxyy是要繪制的不同變量對:

ggplot(data = df) +
  geom_point(mapping = aes(x = xx, y = yy)) +
  geom_smooth(mapping = aes(x = xx, y = yy))

您可以這樣做:

mapply(function(y) print(ggplot(data = df) +
  geom_point(aes_string(x = "x1", y = y)) +
  geom_smooth(aes_string(x = "x1", y = y))), y=c("x2","x4","x5"))

注意:我使用df <- data.frame(x1,x2,x3,x4,x5)而不是df <- c(x1,x2,x3,x4,x5)

x設置為x1mapply將在y上循環,其中包含我們要針對x1繪制的不同變量。

暫無
暫無

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

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