2012-05-20 4 views
10

का उपयोग कर विशिष्ट कंटूर लेबल कैसे करें I ggplot2 पर अपेक्षाकृत नया है, और मुझे अपने रूपों में उचित लेबल जोड़ने में परेशानी हो रही है।आर: direct.label

क्लासिक ज्वालामुखी उदाहरण का उपयोग करना, मैं डिफ़ॉल्ट समोच्च साजिश करने के लिए लेबल जोड़ सकते हैं:

library(plyr) 
library(ggplot2) 
library(directlabels) 
library(reshape) 
volcano<-melt(volcano) 
v<-ggplot(volcano, aes(x,y,z=z)) 
e<-v + stat_contour(aes(colour=..level..)) 
direct.label(e) 

उपरोक्त उदाहरण में, लेबल उचित रूप से जुड़ जाते हैं, लेकिन अगर मैं अपने ही निर्दिष्ट करने के लिए कोशिश बातें और अधिक जटिल हो जाते हैं आकृति के लिए अंक तोड़ने:

e<-v + stat_contour(aes(breaks=c(160, 170, 180), colour=..level..)) 
direct.label(e) 

अब, आकृति टूट जाता है मैं प्रदान की है के द्वारा निर्दिष्ट कर रहे हैं, लेकिन अभी भी लेबल डिफ़ॉल्ट आकृति के सभी के लिए दिखाई देते हैं। मैं केवल ग्राफ़ेड कॉन्टूर के लिए केवल लेबल ही प्लॉट कर सकता हूं?

एक संबंधित मुद्दा, मैं डिफ़ॉल्ट रूप से समेकित स्तरों के लिए लेबल कैसे प्लॉट करूं? 165:

e<-v + stat_contour(aes(breaks=c(165), colour=..level..)) 
direct.label(e) 

किसी भी मदद के लिए धन्यवाद!

+2

इसके लायक है कि direct.label (टिप्पण) directlabels पैकेज में है। –

+0

हां, इसे इंगित करने के लिए धन्यवाद। –

+0

क्या मुझे इस प्रश्न को दोबारा पोस्ट करना चाहिए, या क्या लोग अभी भी इसे देख रहे हैं? –

उत्तर

3

मैं इस तरह के एक आसान फिक्स के साथ अनुत्तरित एक पुराने प्रश्न को देखने के लिए खड़ा नहीं हो सका।

सरल समस्या stat_contour() के अंदर मैपिंग थी। आपका कॉल किया जाना चाहिए:

v<-ggplot(volcano, aes(x=X1,y=X2,z=value)) # specify the mapping properly 
e<-v + stat_contour(aes(colour=..level..), breaks=c(160, 170, 180)) 
direct.label(e) 
एईएस मानचित्रण में शामिल नहीं टूट जाता है के साथ

, और colour=..level.. शामिल थे।

enter image description here

+4

'ggplot2' संस्करण'> 2.0.0' के साथ काम नहीं करता है। – jaimedash