मान लें कि मेरे डेटा में निम्न संरचना है:

structure(list(MODEL = c("SHAR", "SHAR", "SHAR", "SHAR", "SHAR", 
"SHAR", "SHAR", "SHAR", "SHAR", "SHAR", "SHAR", "SHAR", "MHAR", 
"MHAR", "MHAR", "MHAR", "MHAR", "MHAR", "MHAR", "MHAR", "MHAR", 
"MHAR", "MHAR", "MHAR"), name = c("NSW", "QLD", "SA", "VIC", 
"NSW", "QLD", "SA", "VIC", "NSW", "QLD", "SA", "VIC", "NSW",     
"QLD", "SA", "VIC", "NSW", "QLD", "SA", "VIC", "NSW", "QLD", 
"SA", "VIC"), value = c(-0.429298062117084, 0.369924963217068, 
-0.337914242584103, 0.352630004951941, -2.08652175501946, -0.788308699403464, 
-0.283024876840677, -0.673127168726321, -1.68696080065691, -0.584489188226214, 
0.648107971996921, -0.861309510260168, -1.63384189007935, 0.718255492983859, 
-1.17198565174371, 0.591123365147864, 0.208861829604905, -0.596711833086073, 
-1.33166531555532, -1.31370104749052, -1.04879351668995, -0.333940489158404,     
1.40014661442373, 0.270226863552986), Date = structure(c(2011, 
2011, 2011, 2011, 2012, 2012, 2012, 2012, 2013, 2013, 2013, 2013, 
2011, 2011, 2011, 2011, 2012, 2012, 2012, 2012, 2013, 2013, 2013, 
2013), class = "Date")), class = "data.frame", row.names = c(NA, 
-24L))

मैं दो मॉडलों के परिणामों की साजिश रचने के लिए facet_wrap का उपयोग कर रहा हूं और मैं चाहता हूं कि प्रत्येक मॉडल का एक अलग लाइन प्रकार हो। मैंने ´scale_linetype_manual´ का उपयोग करने की कोशिश की, लेकिन मेरा मानना ​​है कि यह facet_wrap के साथ उपयुक्त कमांड नहीं है। मैं जिस कोड का उपयोग कर रहा हूं वह निम्नलिखित है:

library(ggplot2)
ggplot(aes(x = as.Date(Date), y=value, colour = MODEL), data = EXAMPLE) +
  scale_color_manual(values = c("skyblue3", "firebrick3"), 
                     labels = c("MHAR-ReCov Model", 
                                "SHAR Model")) +
  
  scale_linetype_manual(values = c(2,5), 
                        labels = c("MHAR-ReCov Model", 
                                   "SHAR Model")) +
  geom_line() + facet_wrap(vars(name), ncol = 4, scales = "free")+
  theme_test() +
  theme(axis.text.x = element_text(angle = 45, hjust = 1), 
        legend.position = "bottom",
        legend.title = element_blank())+
  labs(x = "", y="")

अगर कोई मेरी मदद कर सकता है तो मैं आभारी रहूंगा।

0
Eve Chanatasig 19 फरवरी 2021, 12:56

1 उत्तर

सबसे बढ़िया उत्तर

linetype = MODEL को aes में शामिल करें:

library(ggplot2)

ggplot(aes(x = as.Date(Date), y=value, colour = MODEL, 
           linetype = MODEL), data = EXAMPLE) +
  scale_color_manual(values = c("skyblue3", "firebrick3"), 
                     labels = c("MHAR-ReCov Model", 
                                "SHAR Model")) +
  scale_linetype_manual(values = c(2,5), 
                        labels = c("MHAR-ReCov Model", 
                                   "SHAR Model")) +
  geom_line() + facet_wrap(vars(name), ncol = 4, scales = "free")+
  theme_test() +
  theme(axis.text.x = element_text(angle = 45, hjust = 1), 
        legend.position = "bottom",
        legend.title = element_blank())+
  labs(x = "", y="")

enter image description here

0
Ronak Shah 19 फरवरी 2021, 13:02