मैं कई linetypes, रंगों के साथ एक साजिश बना रहा हूं, और भरा नीचे regions.The कोड दो किंवदंतियों (एक पंक्ति प्रकार, दूसरे शो लाइन रंग दिखाता है) पैदा करता है - और मैं की जरूरत है उन्हें एक किंवदंती में जोड़ा जाना है जो लिनटाइप और लाइनकल दोनों दिखाता है। [वहाँ एक तिहाई 'भरने' वस्तुओं दिखा पौराणिक कथा है, लेकिन यह ठीक है]मैन्युअल निर्दिष्ट करने ggplot2 रंग और linetype - डुप्लिकेट कथा
मैं पीछा किया कार्यप्रणाली यहाँ दी: Controlling line color and line type in ggplot legend एक भी कथा प्राप्त करने की कोशिश करने के लिए - लेकिन इस डबल-कथा व्यवहार के साथ समाप्त हो गया - क्या क्या मैंने गलत किया है?
library(ggplot2)
library(scales)
data = structure(list(Dates = structure(c(1351713600, 1351717200, 1351720800,
1351724400, 1351728000, 1351731600), class = c("POSIXct", "POSIXt"
), tzone = "MST"), CumHVAC_Def_Stoch_Min = c(146.4006, 146.6673,
146.9336, 147.1996, 147.4648, 147.5964), CumHVAC_Def_Stoch_1st = c(188.0087,
188.2753, 188.5416, 188.8077, 189.0729, 189.2045),
CumHVAC_Def_Stoch_Mean = c(204.7234, 204.9901, 205.2564, 205.5225, 205.7876, 205.9193),
CumHVAC_Def_Stoch_3rd = c(228.8813, 229.1476, 229.4135, 229.6793, 229.9442, 230.0757),
CumHVAC_Def_Stoch_Max = c(295.145, 295.4117, 295.6779, 295.944, 296.2092, 296.3408),
CumHVAC_Opt_Stoch_Min = c(112.4095, 112.6761, 112.9424, 113.2085, 113.4737, 113.6053),
CumHVAC_Opt_Stoch_1st = c(134.8893,135.156, 135.4223, 135.6883, 135.9535, 136.0851),
CumHVAC_Opt_Stoch_Mean = c(156.8854, 157.1521, 157.4184, 157.6845, 157.9496, 158.0813),
CumHVAC_Opt_Stoch_3rd = c(168.7301, 168.9971, 169.2636, 169.5299, 169.7953, 169.927),
CumHVAC_Opt_Stoch_Max = c(241.2483, 241.5151, 241.7814, 242.0476, 242.3128, 242.4444),
CumHVAC_Def_Dtrmn = c(188.7523, 189.0189, 189.2852, 189.5513, 189.8165, 189.9481),
CumHVAC_Opt_Dtrmn = c(86.8116, 87.0782, 87.3445, 87.6105, 87.8757, 88.0073),
CS_Opt_Stoch = c(0, 0, 0, 0, 0, 0), CS_Opt_Dtrmn = c(0, 0, 0, 0, 0, 0),
CS_Default = c(0, 0, 0, 0, 0, 0)), .Names = c("Dates", "CumHVAC_Def_Stoch_Min",
"CumHVAC_Def_Stoch_1st", "CumHVAC_Def_Stoch_Mean", "CumHVAC_Def_Stoch_3rd",
"CumHVAC_Def_Stoch_Max", "CumHVAC_Opt_Stoch_Min",
"CumHVAC_Opt_Stoch_1st","CumHVAC_Opt_Stoch_Mean", "CumHVAC_Opt_Stoch_3rd",
"CumHVAC_Opt_Stoch_Max", "CumHVAC_Def_Dtrmn", "CumHVAC_Opt_Dtrmn", "CS_Opt_Stoch",
"CS_Opt_Dtrmn", "CS_Default"), row.names = 691:696, class = "data.frame")
stochdefcolor = 'red'
stochoptcolor = 'green'
dtrmndefcolor = 'darkred'
dtrmnoptcolor = 'darkgreen'
eb09 <- aes(x = Dates, ymax = CumHVAC_Def_Stoch_3rd, ymin = CumHVAC_Def_Stoch_1st, fill="StochDef")
eb10 <- aes(x = Dates, ymax = CumHVAC_Opt_Stoch_3rd, ymin = CumHVAC_Opt_Stoch_1st, fill="StochOpt")
State = c('a','b','c','d','e','f','g','h');
ln1 <- aes(x=Dates,y=CumHVAC_Def_Stoch_Mean, color=State[1],linetype=State[1])
ln2 <- aes(x=Dates,y=CumHVAC_Opt_Stoch_Mean, color=State[2],linetype=State[2])
ln3 <- aes(x=Dates,y=CumHVAC_Def_Dtrmn,color=State[3],linetype=State[3])
ln4 <- aes(x=Dates,y=CumHVAC_Opt_Dtrmn,color=State[4],linetype=State[4])
ln5 <- aes(x=Dates,y=CumHVAC_Def_Stoch_Max,color=State[5],linetype=State[5])#,linetype = 2]
ln6 <- aes(x=Dates,y=CumHVAC_Def_Stoch_Min,color=State[6],linetype=State[6])#,linetype = 3)
ln7 <- aes(x=Dates,y=CumHVAC_Opt_Stoch_Max,color=State[7],linetype=State[7])#,linetype = 2)
ln8 <- aes(x=Dates,y=CumHVAC_Opt_Stoch_Min,color=State[8],linetype=State[8])#,linetype = 3)
quartz()
ggplot(data) +
geom_ribbon(eb09, alpha=0.4) +
geom_ribbon(eb10, alpha=0.4) +
geom_line(ln1,size=1) +
geom_line(ln2,size=1) +
geom_line(ln3,size=1) +
geom_line(ln4,size=1) +
geom_line(ln5,size=.7) +
geom_line(ln6,size=.7) +
geom_line(ln7,size=.7) +
geom_line(ln8,size=.7) +
xlab("X-lab") +
ylab("Y-Lab") +
opts(title = expression('Dummy Title'),
panel.background = theme_rect(fill = "transparent"),
panel.grid.minor = theme_blank(),
panel.grid.major = theme_blank(),
plot.background = theme_rect(fill = "transparent")) +
scale_linetype_manual(values=c(1,1,1,1,2,3,2,3)) +
scale_colour_manual(name=c("Lines"),
values=c(stochdefcolor,
stochoptcolor,
dtrmndefcolor,
dtrmnoptcolor,
stochdefcolor,
stochdefcolor,
stochoptcolor,
stochoptcolor)) +
scale_fill_manual(name='1st-3rd Quartiles',
breaks=c('StochDef','StochOpt'),
values=c(stochdefcolor,stochoptcolor),
labels=c('Stoch DEF','Stoch OPT'))
... के बाद से मैं एक नया उपयोगकर्ता हूँ, मैं एक छवि पोस्ट नहीं कर सकते ...
में आपका स्वागत है अतः और अपने कोड पोस्टिंग के लिए धन्यवाद। यह देखते हुए कि यह एक सीधा सवाल नहीं है, यदि आप शुरुआत के रूप में 'dput' का उपयोग कर अपने डेटा (उपरोक्त 'डेटा' ऑब्जेक्ट) या इसके सबसेट को शामिल कर सकते हैं तो यह सहायक होगा। यदि आप ऐसा करते हैं तो अन्य उपयोगकर्ता अपने कोड के साथ अपने स्वयं के आर सेटअप पर कॉपी, पेस्ट और प्रयोग करने में सक्षम होंगे। – SlowLearner
की खोजबीन करना बहुत सी चीज़ें हैं यही कारण है कि है, लेकिन अगर मुझे लगता है कि करने के लिए किया था, आपकी समस्या यह है कि आप बल्कि आसानी से उस पर एक चर और मानचित्रण रंग और linetype के रूप में राज्य जोड़ने से, मैनुअल तराजू के एक गुच्छा बनाने के लिए मजबूर कर रहा ggplot कर रहे हैं। इसमें कुछ डेटा पिघल जाएगा और आपके डेटा का पुनर्व्यवस्थित होगा, लेकिन मैं 99% निश्चित हूं कि आप इसे केवल एक geom_line कॉल के साथ कर सकते हैं। – joran
@SlowLearner - टिप के लिए धन्यवाद, मैं पोस्टिंग में डेटा और पर्याप्त कोड जोड़ रहा हूं ताकि इसे किसी के लिए चलाना चाहिए क्योंकि यह मेरे लिए करता है। – RyanStochastic