2011-12-09 22 views
6

मैं एक dendrogram ggdendro और ggplot उपयोग करते हुए उत्पन्न की है में लेबल के लिए फ़ॉन्ट शैली बदल जाते हैं। मेरे पास जेनरेटेड प्लॉट के संबंध में दो मुद्दे हैं।मार्जिन निकाला जा रहा है और ggplot

  1. क्या जेनरेट किए गए साजिश से कुछ मार्जिन कट करना संभव है?
  2. एक अक्ष के साथ लेबल के लिए फ़ॉन्ट शैली, उदाहरण के लिए, आकार कैसे बदलें?

साजिश में, "लाल फलक" द्वारा चिह्नित दो क्षेत्र मार्जिन हैं जिन्हें मैं निकालना चाहता हूं। एक्स-अक्ष के साथ छः लेबल पीले रंग के साथ चिह्नित हैं। मैं उनका आकार बढ़ाना चाहता हूं।

enter image description here

कोड:

> x<-read.csv("test1.csv",header=TRUE) 
> d<-as.dist(x,diag=FALSE,upper=FALSE) 
> hc<-hclust(d,"ave") 
> dhc<-as.dendrogram(hc) 
> ddata<-dendro_data(dhc,type="rectangle") 
> ddata$labels$text <- gsub("\\."," ",ddata$labels$text) 
> fig1<-ggplot(segment(ddata))+geom_segment(aes(x=x0,y=y0,xend=x1,yend=y1)) 
> fig1<-fig1+xlab(NULL)+ylab(NULL)+opts(panel.grid.minor=theme_blank()) 
> fig1<-fig1+scale_x_discrete(limits=ddata$labels$text) 
> fig1<-fig1+coord_flip() 
> last_plot() 
> fig1<-last_plot() 
> ggsave("test1.pdf") 
+0

+1 कोड और ग्राफ़िक पोस्ट करने के लिए। – Andrie

+2

यदि आप 'test1.csv' भी पोस्ट कर सकते हैं तो हम शीर्षक के आकार के बारे में आपके अगले प्रश्न का उत्तर देने का प्रयास कर सकते हैं ... –

उत्तर

6

(और बहुत कुछ) अक्ष लेबल का आकार बढ़ाने के लिए आप (ggplot2 इस opts() बुलाया गया था के पुराने संस्करणों में) theme का उपयोग करें:

+ theme(axis.text.x = element_text(size = 12)) 

उन्हें बहुत बड़ा कर देगा।

+ scale_x_continuous(expand = c(0,0)) 

जहां संख्या additive और साजिश को सीमित रखने के गुणक विस्तार कारक हैं: मार्जिन को कम करने के लिए, आप expand तर्क का उपयोग कर सकते हैं करेंगे।

अधिकतर, ये चीजें here या here जैसे स्थानों पर अच्छी तरह से प्रलेखित हैं। या आप सिर्फ हैडली की किताब खरीद सकते हैं, जो आपके पास लगभग हर जीजीप्लॉट प्रश्न का उत्तर देगा। (गंभीरता से।)

+1

धन्यवाद। मैंने + scale_x_continuous (विस्तार = सी (0,0)) की कोशिश की, लेकिन यह वाई-अक्ष के साथ उन स्ट्रिंग लेबल को हटा देगा, और वाई-अक्ष के साथ मार्जिन को नहीं हटाएगा। –

+1

@ बिट-प्रश्न वाई मार्जिन को हटाने के लिए वही बात करें लेकिन 'scale_y_continuous' के साथ। – joran

संबंधित मुद्दे