2013-04-20 12 views
23

मैं एक बारप्लॉट उत्पन्न करने की कोशिश कर रहा हूं, लेकिन वाई-अक्ष स्केल बहुत छोटा है। यहाँ मेरी कोड है:आर बारप्लॉट वाई-अक्ष स्केल बहुत छोटा

barplot(as.matrix(dat), log="y", ylim=c(10000,100000000), beside=TRUE, 
     ylab = "Number of reads", col = c("gray","black","white")) 

short y axis

यह (प्रति ylim के रूप में) अक्ष के लिए कमरे में छोड़ देता है, लेकिन वास्तविक अक्ष में भरने नहीं करता है। मैं बारप्लॉट के माध्यम से गया हूं और कुछ चीजों की कोशिश की है (चारों ओर घूमने से मैंने सोचा xpd = F, yaxs = c(10000,10000000,5 काम करना चाहिए, लेकिन ऐसा नहीं हुआ)।

मुझे पता है कि यह मामूली बात है, लेकिन वास्तव में यह वास्तव में काम करने की बजाय उम्र के लिए अटक गया है, इसलिए किसी भी मदद की बहुत सराहना की जाएगी!

संपादित करें: इनपुट लोगों के लिए चीयर्स!

मैंने शुरुआत में बिना यूल के प्लॉट किया था, लेकिन यह एक और अधिक विचित्र अक्ष (उसी समस्या के साथ) के साथ समाप्त होता है; मैंने वास्तव में अपने यूल मूल्यों को एक अच्छा स्पेस अक्ष देने के लिए चुना है।

dat <- read.table(text="D2,D3n,D3m,D4n,D4m 
21234722,34262282,31920464,25486357,20712943 
35343,64403,22537,39934,46547 
126646,312286,101105,81537,76944", header=TRUE, sep=",") 

संपादित करें 2: - मैं अपने अनुसंधान अद्यतन, और अब यह ठीक भूखंडों - धन्यवाद हर कोई @DWin यह अधिकार था original no ylim

यहाँ डेटा है!

+0

इसके बेहतर 'प्लॉट करने के लिए लॉग (y) हो सकता है' – Nishanth

+2

आप पोस्ट कर सकते हैं 'dat' । ताकि हम कोड चला सकें। – Nishanth

+1

हम्म। मुझे एक लंबा लॉग 10 वाई अक्ष मिलता है। 1e + 08 तक जाता है। मैकोज़, हिम तेंदुए पर आर 3.0.0 चल रहा है। तो हो सकता है कि आपको हमें यह बताना होगा कि आपका सेटअप क्या है, और यदि यह पुराना है तो कृपया अपडेट करें। मुझे यह भी लगता है कि आपकी साजिश बहुत भ्रामक है। –

उत्तर

26

मुझे लगता है कि आप खराब मान देते हैं ylim सेट करने का प्रयास करते हैं। यह (एक ज़ूम की तरह) साजिश के पैमाने उदाहरण के लिए बदल जाएगा देखते हैं कि यह:

par(mfrow=c(2,1)) 
tN <- table(Ni <- stats::rpois(100, lambda = 5)) 
r <- barplot(tN, col = rainbow(20),ylim=c(0,50),main='long y-axis') 
r <- barplot(tN, col = rainbow(20),main='short y axis') 

enter image description here

एक अन्य विकल्प कुल्हाड़ियों के बिना साजिश है, और यह निर्धारित करने के लिए मैन्युअल रूप से axis और usr उपयोग कर रहा है:

require(grDevices) # for colours 
par(mfrow=c(1,1)) 
r <- barplot(tN, col = rainbow(20),main='short y axis',ann=FALSE,axes=FALSE) 
usr <- par("usr") 
par(usr=c(usr[1:2], 0, 20)) 
axis(2,at=seq(0,20,5)) 

enter image description here

+1

उन्होंने एक अनुचित मूल्य के लिए 'ylim' सेट किया है। –

+0

@ मैथ्यूलंडबर्ग मेरा बुरा! मैंने यह नहीं देखा है! – agstudy

-3
barplot(data) 

enter image description here

barplot(data, yaxp=c(0, max(data), 5)) 

enter image description here

yaxp = c (miny अक्ष, Maxy अक्ष, अंतराल)

+0

यह आर 3.3.2 में काम नहीं करता है। –

+0

मुझे आश्चर्य है कि वाई-अक्ष को अधिकतम तक स्केलिंग क्यों डिफ़ॉल्ट नहीं है: यदि आप प्रत्येक बार के ऊपर बार की ऊंचाइयों को रखने की कोशिश करते हैं, तो अधिकतम ऊंचाई पर बार के लिए टेक्स्ट फिसल जाता है। इस संस्करण पर विचार करें: पी <- बारप्लॉट (जैसा।मैट्रिक्स (डेटा), ylab = "पढ़ने की संख्या", col = c ("ग्रे", "काला", "सफेद")); वाई <- लापरवाही (डेटा, FUN = अधिकतम); पाठ (x = p, y = y, लेबल = y, col = "red", pos = 3) –

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