अद्यतन : कॉपी की गई सामग्री जो http://rwiki.sciviews.org/doku.php?id=tips:graphics-base:2yaxes पर आर विकी पर थी , लिंक अब टूटी हुई है: रास्ते से भी उपलब्ध मशीन
एक ही भूखंड पर दो अलग-अलग y कुल्हाड़ी
(कुछ सामग्री मूल रूप से डैनियल राजद 2006/03/31 15:26)
कृपया ध्यान दें कि बहुत कम परिस्थितियां हैं जहां एक ही भूखंड पर दो अलग-अलग पैमानों का उपयोग करना उचित है। ग्राफिक के दर्शक को गुमराह करना बहुत आसान है। निम्नलिखित दो उदाहरण और टिप्पणियों इस मुद्दे पर (चेक example1 , example2 से रद्दी चार्ट ), और साथ ही इस लेख स्टीफन कुछ (जो निष्कर्ष निकाला है "मैं निश्चित रूप, निष्कर्ष नहीं निकाल सकता एक बार और सभी के लिए, कि दोहरे बढ़ाया कुल्हाड़ियों साथ रेखांकन कभी नहीं कर रहे हैं उपयोगी, केवल यह कि मैं ऐसी स्थिति के बारे में नहीं सोच सकता जो उन्हें दूसरे, बेहतर समाधानों के प्रकाश में वारंट करता है। ") इसके अलावा इस बिंदु पर देखें # 4 बिंदु ...
आप निर्धारित कर रहे हैं, तो बुनियादी नुस्खा अपना पहला साजिश, सेट बनाने के लिए है par(new=TRUE)
ग्राफिक्स उपकरण समाशोधन, के साथ दूसरे साजिश बनाने से रोकने के लिए आर axes=FALSE
(और स्थापित करने xlab
और ylab
- खाली होने के लिए ann=FALSE
और उसके बाद का उपयोग कर भी काम करना चाहिए) axis(side=4)
एक नई धुरी जोड़ने के लिए दाईं ओर, और दाएँ हाथ की तरफ mtext(...,side=4)
एक अक्ष लेबल जोड़ने के लिए। यहाँ एक उदाहरण है थोड़ा सा बना हुआ डेटा:
set.seed(101)
x <- 1:10
y <- rnorm(10)
## second data set on a very different scale
z <- runif(10, min=1000, max=10000)
par(mar = c(5, 4, 4, 4) + 0.3) # Leave space for z axis
plot(x, y) # first plot
par(new = TRUE)
plot(x, z, type = "l", axes = FALSE, bty = "n", xlab = "", ylab = "")
axis(side=4, at = pretty(range(z)))
mtext("z", side=4, line=3)
twoord.plot()
में plotrix
पैकेज इस प्रक्रिया को स्वचालित करता है, के रूप में doubleYScale()
में latticeExtra
पैकेज।
एक और उदाहरण (रॉबर्ट डब्ल्यू बेयर द्वारा एक आर मेलिंग सूची पोस्ट से अनुकूलित):
## set up some fake test data
time <- seq(0,72,12)
betagal.abs <- c(0.05,0.18,0.25,0.31,0.32,0.34,0.35)
cell.density <- c(0,1000,2000,3000,4000,5000,6000)
## add extra space to right margin of plot within frame
par(mar=c(5, 4, 4, 6) + 0.1)
## Plot first set of data and draw its axis
plot(time, betagal.abs, pch=16, axes=FALSE, ylim=c(0,1), xlab="", ylab="",
type="b",col="black", main="Mike's test data")
axis(2, ylim=c(0,1),col="black",las=1) ## las=1 makes horizontal labels
mtext("Beta Gal Absorbance",side=2,line=2.5)
box()
## Allow a second plot on the same graph
par(new=TRUE)
## Plot the second plot and put axis scale on right
plot(time, cell.density, pch=15, xlab="", ylab="", ylim=c(0,7000),
axes=FALSE, type="b", col="red")
## a little farther out (line=4) to make room for labels
mtext("Cell Density",side=4,col="red",line=4)
axis(4, ylim=c(0,7000), col="red",col.axis="red",las=1)
## Draw the time axis
axis(1,pretty(range(time),10))
mtext("Time (Hours)",side=1,col="black",line=2.5)
## Add Legend
legend("topleft",legend=c("Beta Gal","Cell Density"),
text.col=c("black","red"),pch=c(16,15),col=c("black","red"))
इसी तरह के व्यंजनों का उपयोग विभिन्न प्रकारों - बार प्लॉट्स, हिस्टोग्राम, आदि के सुपरमोट प्लॉट्स के लिए किया जा सकता है।