2009-09-08 8 views
5

मैं एक्स-अक्ष लेबल को दो पंक्तियों में विभाजित करने की कोशिश कर रहा हूं। मैं लेबल को 45 डिग्री घुमाने के लिए भी पसंद करूंगा। मैं यह कैसे कर सकता हूँ?क्या आधार ग्राफिक्स में धुरी लेबल को 2 लाइनों में तोड़ना संभव है?

क्या मैं अब तक है:

N <- 10 
dnow <- data.frame(x=1:N, y=runif(N), labels=paste("This is observation ",1:N)) 
with(dnow, plot(x,y, xaxt="n", xlab="")) 
atn <- seq(1,N,3) 
axis(1, at=atn, labels=labels[atn]) 
+0

क्या आप 2 लाइनों मतलब है? क्या आपका मतलब है कि आप चाहते हैं "यह \ n अवलोकन है ..."? –

+0

@chis_dubois यह उत्तर का पहला हिस्सा है! धन्यवाद! –

उत्तर

12

यहाँ ggplot2 पैकेज के साथ एक संभावना है।

N <- 10 
labs <- factor(1:N,labels=paste("This is \n observation",1:N)) 
dnow <- data.frame(x=1:N, y=runif(N), labels=labs) 
qplot(labels,y,data=dnow) + 
     opts(axis.text.x=theme_text(angle=-45,hjust=0)) 

alt text http://i28.tinypic.com/k024p3.png

मैं भी आधार पैकेज उदाहरण देखने के लिए उत्सुक देख रहा हूँ!

+0

@chris - मैं आपका प्रश्न स्वीकार करना चाहता हूं (सभी अच्छे बच्चे इन दिनों ggplot2 का उपयोग करते हैं)। लेकिन, क्या आप एक्स-अक्ष को हाथ से पहले ठीक कर सकते हैं (जीजीप्लॉट ऑर्डर कैरेक्टर वेक्टर वर्णानुक्रम से, इसलिए आपको इसे एक कारक में बदलना होगा।) धन्यवाद! –

+0

अच्छा सुझाव। मैंने इसे एक कारक बनने के लिए स्विच किया, लेकिन दाएं हाथ की ओर अभी भी काटा जा रहा है। मैं कोशिश करूँगा और ठीक करूँगा। –

+0

यह डेटा लेबल के लिए भी काम करता है - यदि आप उनमें से \ n ड्रॉप करते हैं, तो यह लाइनों को तोड़ देगा! – Andrew

4

यह वही मैं पकाया (मेरी ggplot2 दिन पहले) आधार ग्राफिक्स का उपयोग कर रहा है:

## data 
N <- 10 
dnow <- data.frame(x=1:N, y=runif(N), labels=paste("This is \nobservation ",1:N)) 
## make margins wide 
par(mfrow=c(1,1), mar=c(10,10,6,4)) 
## plot without axix labels or ticks 
with(dnow, plot(x,y, xaxt="n", xlab="")) 
## the positions we ant to plot 
atn <- seq(1,N,3) 
## the label for these positions 
lab <- dnow$labels[atn] 
## plot the axis, but do not plot labels 
axis(1, at=atn, labels=FALSE) 
## plot labels 
text(atn, ## x position 
    par("usr")[3]-.05, ## position of the low axis 
    srt=45, ## angle 
    labels=lab, ##labels 
    xpd=TRUE, ## allows plotting outside the region 
    pos=2) 
## par("usr")[3] 
+0

मुझे लगता है कि यह भी एक महत्वपूर्ण योगदान है। 'Ggplot2' के साथ शायद यह आवश्यक नहीं है। लेकिन यह भी अच्छा है। पौलुस मुरेल द्वारा आर ग्राफिक्स पुस्तक में 'ग्रिड' के साथ एक बेहतर और सुरुचिपूर्ण समाधान भी दिया गया है। – Sam

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