पाश स्तंभों और साजिश अनुकूलित एक ही प्रकार स्तंभ पर एक ही साजिश का उपयोग कर ggplot2

0

सवाल

दिया dataframes df1 और df2 के रूप में निम्नानुसार:

df1:

df1 <- structure(list(date = structure(c(1L, 2L, 4L, 5L, 6L, 7L, 8L, 
9L, 10L, 11L, 3L), .Label = c("2021/1/31", "2021/2/1", "2021/2/10", 
"2021/2/2", "2021/2/3", "2021/2/4", "2021/2/5", "2021/2/6", "2021/2/7", 
"2021/2/8", "2021/2/9"), class = "factor"), value1 = c(9.76, 
9.76, 9.88, 9.31, 9.71, 9.56, 9.27, 9.22, 9.21, 9.08, 8.78), 
    value2 = c(6.84, 6.88, 6.95, 6.65, 6.94, 6.85, 6.66, 6.66, 
    6.6, 6.5, 6.25), value3 = c(6.33, 6.21, 6.31, 6.2, 6.56, 
    6.36, 6.36, 6.25, 6.1, 6.02, 5.76), value4 = c(10.68, 10.91, 
    11, 10.49, 10.8, 10.5, 10.2, 9.85, 10.03, 9.8, 9.51), value5 = c(7.77, 
    7.84, 7.83, 7.44, 7.83, 7.77, 7.6, 7.46, 7.46, 7.39, 7.29
    )), class = "data.frame", row.names = c(NA, -11L))

df2:

df2 <- structure(list(type = structure(c(2L, 2L, 3L, 3L, 1L), .Label = c("pct_change", 
"price", "quantity"), class = "factor"), columns = structure(1:5, .Label = c("value1", 
"value2", "value3", "value4", "value5"), class = "factor")), class = "data.frame", row.names = c(NA, 
-5L))

प्लॉट समय के लिए श्रृंखला df1:

library(ggplot2)
library(data.table)
df1$date <- as.Date(df1$date)
df1.m <- melt(df1, id = "date")  # convert to long format
ggplot(data = df1.m,
       aes(x=date, y = value, colour=variable)) +
       geom_line(size = 1, alpha = 1) 
ggsave("df1.png")

बाहर:

enter image description here

अब मुझे आशा है कि पाश के लिए सभी कॉलम लेकिन आधारित df2इसका मतलब है , जो प्रत्येक के लिए columns, तो अपने type समान हैं, तो उन्हें साजिश ही साजिश और अंत में उन्हें बचाने के नाम के साथ type.

के लिए डाटासेट df1, हम अंत में तीन भूखंडों उत्पन्न: price.png, quantity.png और pct_change.png.

कैसे मैं कर सकता है कि प्राप्त के आधार पर कोड ऊपर? ईमानदारी से धन्यवाद पर अग्रिम.

ggplot2 r
2021-11-24 04:40:27
1

सबसे अच्छा जवाब

2

मुझे लगता है कि इस तरह से कुछ करना चाहिए कि आप क्या चाहते हैं. (लेकिन पल के लिए मैं चल रहा हूँ में एक त्रुटि के साथ ggsave किया जाना चाहिए, जो फिक्स्ड दिया मैं का उपयोग कर रहा हूँ ggplot2 3.3.5?) उम्मीद है कि यह काम करता है दूसरों के लिए.

# add "type" variable to df1.m
df1.m2 = merge(df1.m, df2, by.x = "variable", by.y = "columns")

# for each "type", filter the data to that type, plot, and save    
for(my_type in unique(df1.m2$type)) {
  g <- ggplot(data = df1.m2[df1.m2$type == my_type,],
       aes(x=date, y = value, colour=variable)) +
  geom_line(size = 1, alpha = 1) 
  ggsave(paste0(my_type,".png"))
}
2021-11-24 05:16:52

धन्यवाद, मैं का उपयोग करें ggplot2 3.3.5 के रूप में अच्छी तरह से, मैं कर रहा हूँ बचाने के लिए सक्षम फ्लैट्स किसी भी त्रुटि के बिना.
ah bon

अन्य भाषाओं में

यह पृष्ठ अन्य भाषाओं में है

Русский
..................................................................................................................
Italiano
..................................................................................................................
Polski
..................................................................................................................
Română
..................................................................................................................
한국어
..................................................................................................................
Français
..................................................................................................................
Türk
..................................................................................................................
Česk
..................................................................................................................
Português
..................................................................................................................
ไทย
..................................................................................................................
中文
..................................................................................................................
Español
..................................................................................................................
Slovenský
..................................................................................................................