मैं ggplot2 में एक किंवदंती का शीर्षक कैसे बदल सकता हूं? [बन्द है]


58

मेरे पास एक प्लॉट है जिसे मैं ggplot2 में डेटा को संक्षेप में प्रस्तुत करने के लिए बना रहा हूं जो 2 x 4 x 3 सेल किए गए डेटासेट से हैं। मैं का उपयोग कर 2-स्तरीय चर के लिए पैनल बनाने facet_grid(. ~ Age)और उपयोग करने वाले x और y अक्षों को सेट करने में सक्षम रहा हूं aes(x=4leveledVariable, y=DV)। मैं aes(group=3leveledvariable, lty=3leveledvariable)अब तक कथानक का निर्माण करता था। यह मुझे एक विज़ुअलाइज़ेशन देता है जो 2-लेवल वाले वेरिएबल द्वारा पैनल किया जाता है, एक्स-एक्स के साथ 4-लेवल वेरिएबल और 3-लेवल वेरिएबल के लिए पैनल के भीतर प्लॉट की गई अलग-अलग लाइनों को दर्शाती है। लेकिन 3-लेवल वाले वेरिएबल की कुंजी को 3-लेवल वेरिएबल के नाम के साथ शीर्षक दिया गया है और मैं चाहता हूं कि यह एक ऐसा शीर्षक हो, जिसमें कैरेक्टर स्पेस हो। मैं किंवदंती के शीर्षक का नाम कैसे बदल सकता हूं?

चीजें जो मैंने कोशिश की हैं कि वे काम नहीं करती हैं (जहां abpमेरी ggplot2 ऑब्जेक्ट है):

 abp <- abp + opts(legend.title="Town Name")
 abp <- abp + scale_fill_continuous("Town Name")
 abp <- abp + opts(group="Town Name")
 abp <- abp + opts(legend.title="Town Name")

उदाहरण डेटा:

ex.data <- data.frame(DV=rnorm(2*4*3), V2=rep(1:2,each=4*3), V4=rep(1:4,each=3), V3=1:3)

2
@drknexus - यदि आप अपना डेटा साझा कर सकते हैं, तो यह मददगार होगा, या R के भीतर एक समान डेटासेट को इंगित करेगा, जिसका आकार आपके डेटा के समान है।
चेस

1
यहाँ हर कोई बहुत ज्ञानी लगता है लेकिन मैं ggplot संबंधित प्रश्नों के लिए जानता हूँ मुझे लगता है कि उनका Google समूह अविश्वसनीय रूप से मददगार है। groups.google.com/group/ggplot2
Dason

हेडली के पेज पर अच्छी तरह से ज्ञात और उत्कृष्ट प्रलेखन के अलावा, Git Hub पर तथाकथित-ज्ञात संदर्भ वास्तव में इस तरह के मुद्दों के साथ मदद करता है।
hans0l0

वैकल्पिक रूप से, theme_get()आपको कंसोल में एक ही संदर्भ प्रदान करता है।
ब्रैंडन बर्टेल्सन

1
एसओ प्रवास के लिए पूछने वाले कई झंडे के जवाब में, यह वास्तव में असंभव है; SO.meta पर क्यों देखें: meta.stackexchange.com/q/8004/150510 , meta.stackexchange.com/q/151890/150510
CHL

जवाबों:


25

एक अन्य विकल्प का उपयोग करना है

p + labs(aesthetic='custom text')     

उदाहरण के लिए, चेस का उदाहरण इस तरह दिखेगा:

library(ggplot2)

ex.data <- data.frame(DV=rnorm(2*4*3),V2=rep(1:2,each=4*3),V4=rep(1:4,each=3),V3=1:3)
p <- qplot(V4, DV, data=ex.data, geom="line", group=V3, linetype=factor(V3)) + facet_grid(. ~ V2)
p + labs(linetype='custom title')

और आंकड़ा प्राप्त करें: यहाँ छवि विवरण दर्ज करें


इन दिनों मैं प्रयोगशालाओं () को स्केल / एक्सिस के आधार पर स्केल / एक्सिस पर निर्दिष्ट करने के लिए लेबलों को संशोधित करने के लिए पसंद करने के लिए प्रवण हूं।
रसेलपीयरस

38

आप उस किंवदंती के पैमाने को संशोधित करके किंवदंती के शीर्षक को बदल सकते हैं। यहां CO2 डाटासेट का उपयोग करके एक उदाहरण दिया गया है

library(ggplot2)

p <- qplot(conc, uptake, data = CO2, colour = Type) + scale_colour_discrete(name = "Fancy Title")
p <- p + facet_grid(. ~ Treatment)
p 

संपादित करें:

ऊपर से उदाहरण डेटा का उपयोग करना, यहां एक काम कर समाधान है। मुझे लगता है कि यह उस साजिश की नकल करता है जो @drknexus बनाने की कोशिश कर रहा है। एक साइड नोट के रूप में, अगर कोई भी यह समझा सकता है कि हमें वी 3 को एक कारक के रूप में क्यों व्यवहार करना है, तो इसे किंवदंती में मैप किया जा सकता है, मैं इसकी सराहना करता हूं।

p <- qplot(V4, DV, data = ex.data, geom = "line", group = V3, lty = factor(V3)) 
p <- p + scale_linetype_discrete(name = "Fancy Title") + facet_grid(. ~ V2)
p 

वैकल्पिक शब्द


मुझे लगता है कि जो मुझे याद आ रहा है, वह ggplot (data = ex.daata, anes (x = V4, y = DV, group) - V3, lty = V3 में "group" या "lty" विनिर्देशन में बंधने वाले scale_color_discrete जैसा एक फ़ंक्शन है। ))
russellpierce

1
आह मुझे यह मिला: scale_linetype_discrete (नाम = "बॉब")
russellpierce

@ काज: स्केल_लाइनमेट_डिसक्रीट बिट के साथ संपादित करें और मैं आपके उत्तर को स्वीकार करूंगा।
रुस्लिपिएर्स

1
@drknexus - इस मुद्दे के साथ मेरे काम करने के उदाहरण में, उपयुक्त आदेश है scale_colour_discrete()और जिस कोड के साथ आप काम कर रहे हैं वह स्पष्ट रूप से थोड़ा अलग है। मुझे नहीं पता कि यह कोड क्या है ...
चेस

3
पुन :: "क्यों हम एक कारक के रूप में V3 के इलाज के लिए है" scale_linetype_discreteअसतत मूल्यों (कारक या चरित्र, से plyr::is.discrete) के साथ एक चर की उम्मीद है , Github पर कोड को बाहर की जाँच करें, j.mp/ejaRRT । अच्छी प्रतिक्रिया (+1)।
chl
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.