आर में एक भूखंड में फ़ॉन्ट आकार कैसे बढ़ाएं?


147

मैं उलझन में हूं। शीर्षक, लेबल और किसी भूखंड के अन्य स्थानों में पाठ का फ़ॉन्ट आकार बढ़ाने का सही तरीका क्या है?

उदाहरण के लिए

x <- rnorm(100)
hist(x, xlim=range(x), xlab= "Variable Label", 
     ylab="density", main="Title of plot", prob=TRUE, ps=30)

psतर्क फ़ॉन्ट आकार परिवर्तन नहीं करता है (लेकिन इसके लिए आर सहायता में कहते हैं ?parकि यह "पाठ (लेकिन प्रतीक) के बिंदु आकार के लिए" है।

यह भी संभव है कि इस तरह के साजिश रचने के कार्य से फ़ॉन्ट आकार को अलग करना संभव है hist?


जवाबों:


140

आप cex=1.5फोंट को 150 प्रतिशत के पैमाने पर तर्क की तरह चाहते हैं । लेकिन देख पा रहे हैं help(par)वहाँ के रूप में भी कर रहे हैं cex.lab, cex.axis...


1
धन्यवाद! "Ps = 1.5" के साथ क्या अंतर है?
टिम

5
क्यों cex = 1.5 काम नहीं करता है? लेकिन cex.lab, cex.axis, cex.main के संदर्भ में प्रत्येक भाग के लिए निर्दिष्ट करना होगा? Cex = 1.5 किसके लिए है?
टिम

2
क्या आपने help(par)इसके बारे में पढ़ा ps? जहां तक ​​मैं बता सकता हूं, पाठ से संबंधित नहीं लगता है।
डिर्क एडल्डबुलेटेल

2
यह तरीका है, निश्चित रूप से एस भाषा के पूर्व कार्यान्वयन के साथ पीछे की ओर संगतता के लिए।
डिर्क एडल्डबुलेटेल

3
cex आवर्धन कारक है। डिफ़ॉल्ट मान 1. है। यदि आपको फ़ॉन्ट आकार निर्दिष्ट करने की आवश्यकता है, तो आपको बेहतर उपकरण के साथ शुरू होने वाले दस्तावेज में खुदाई करने के लिए तैयार रहना चाहिए? उपकरण? और pdfFonts? Pdf; एम्बेड? एम्बेड, और कई अन्य।
IRTFM

124

इस प्रकार, मौजूदा चर्चा को संक्षेप में जोड़ते हुए

cex.lab=1.5, cex.axis=1.5, cex.main=1.5, cex.sub=1.5

आपके प्लॉट में, जहाँ 1.5 2, 3, आदि हो सकता है और 1 का मान डिफ़ॉल्ट है फ़ॉन्ट आकार बढ़ा देगा।

x <- rnorm(100)

cex चीजों को नहीं बदलता है

hist(x, xlim=range(x),
     xlab= "Variable Lable", ylab="density", main="Title of plot", prob=TRUE)

hist(x, xlim=range(x),
     xlab= "Variable Lable", ylab="density", main="Title of plot", prob=TRUE, 
     cex=1.5)

यहां छवि विवरण दर्ज करें

Cex.lab = 1.5, cex.axis = 1.5, cex.main = 1.5, cex.sub = 1.5 जोड़ें

hist(x, xlim=range(x),
     xlab= "Variable Lable", ylab="density", main="Title of plot", prob=TRUE, 
     cex.lab=1.5, cex.axis=1.5, cex.main=1.5, cex.sub=1.5)

यहां छवि विवरण दर्ज करें


2
BTW, यदि आप बार चार्ट में अक्ष को संशोधित करने की कोशिश कर रहे हैं (यादृच्छिक महत्व या GBM में चर महत्व प्लॉट के लिए कहें), cex.namesतो आपको उपयोग करने की आवश्यकता है (यदि आप एक मानव हैं जो एक ईमानदार स्थिति से चीजों को पढ़ता है, तो आप भी हो सकते हैं चाहते हैं las=2)
गेनोरमा

22

ध्यान दें कि " cex " चीजों को तब बदलता है जब पाठ के साथ कथानक बनाया जाता है। उदाहरण के लिए, एक एग्लोमेरेटिव पदानुक्रमित क्लस्टरिंग की साजिश:

library(cluster)
data(votes.repub)
agn1 <- agnes(votes.repub, metric = "manhattan", stand = TRUE)
plot(agn1, which.plots=2)

सामान्य आकार के पाठ के साथ एक भूखंड का उत्पादन करेगा:

यहां छवि विवरण दर्ज करें

और plot(agn1, which.plots=2, cex=0.5)यह एक उत्पादन होगा:

यहां छवि विवरण दर्ज करें


में faces2भी काम (
चेर्नॉफ़

मेरे उदाहरण में मुझे एक प्रभाव के लिए सीधे नहीं बल्कि आंतरिक वस्तु पर cex को लागू करना था :plot(ci(roc(data$a, data$b, auc=TRUE, of="auc", print.auc=TRUE, print.auc.cex=1.5, plot=TRUE), of="thresholds", thresholds="best")))
Tapper

21

परीक्षण और त्रुटि के द्वारा, मैंने निर्धारित किया है कि फ़ॉन्ट का आकार निर्धारित करने के लिए निम्नलिखित आवश्यक है:

  1. cexमें काम नहीं करता है hist()cex.axisकुल्हाड़ियों पर संख्या के लिए उपयोग करें , cex.labलेबल के लिए।
  2. cexaxis()दोनों में काम नहीं करता है । cex.axisकुल्हाड़ियों पर संख्याओं के लिए उपयोग करें ।
  3. लेबल का उपयोग करने के स्थान पर hist(), आप उनका उपयोग करके सेट कर सकते हैं mtext()। आप फ़ॉन्ट आकार का उपयोग करके सेट कर सकते हैं cex, लेकिन 1 के मान का उपयोग करके फ़ॉन्ट को डिफ़ॉल्ट रूप से 1.5 गुना सेट करता है !!! आपको cex=2/3डिफ़ॉल्ट फ़ॉन्ट आकार प्राप्त करने के लिए उपयोग करने की आवश्यकता है । बहुत कम से कम, यह पीडीएफ आउटपुट का उपयोग करके मैक ओएस एक्स के लिए आर 3.0.2 के तहत मामला है।
  4. आप का उपयोग कर पीडीएफ उत्पादन के लिए डिफ़ॉल्ट फ़ॉन्ट आकार को बदल सकते हैं pointsizeमें pdf()

मुझे लगता है कि R से (a) वास्तव में वह करना उचित होगा जो उसके प्रलेखन का कहना है कि उसे ऐसा करना चाहिए, (b) अपेक्षित फैशन का व्यवहार करता है।


2

मुझे यह तब मिला जब मैं अक्ष लेबल को छोटा करना चाहता था, लेकिन बाकी सभी चीजों को उसी आकार में छोड़ दिया। जो आदेश मेरे लिए काम करता था, वह था:

par(cex.axis=0.5)

प्लॉट कमांड से पहले। बस रखना याद रखें:

par(cex.axis=1.0)

यह सुनिश्चित करने की साजिश के बाद कि फोंट डिफ़ॉल्ट आकार में वापस जाते हैं।


2

पूर्णता के लिए, 150% से पाठ स्केलिंग cex = 1.5, यहाँ एक पूर्ण समाधान है:

cex <- 1.5
par(cex.lab=cex, cex.axis=cex, cex.main=cex)
plot(...)
par(cex.lab=1, cex.axis=1, cex.main=1)

मैं बॉयलरप्लेट को कम करने के लिए इस तरह की चीजों को लपेटने की सलाह देता हूं, जैसे:

plot_cex <- function(x, y, cex=1.5, ...) {
  par(cex.lab=cex, cex.axis=cex, cex.main=cex)
  plot(x, y, ...)
  par(cex.lab=1, cex.axis=1, cex.main=1)
  invisible(0)
}

जिसके बाद आप इस तरह का उपयोग कर सकते हैं:

plot_cex(x=1:5, y=rnorm(5), cex=1.3)

...आर में अनेक बिंदुओं के रूप में जाना जाता है और कार्य करने के बारे में अतिरिक्त पैरामीटर पारित करने के लिए उपयोग किया जाता है। इसलिए, वे आमतौर पर साजिश रचने के लिए उपयोग किए जाते हैं। तो, निम्नलिखित उम्मीद के अनुसार काम करता है:

plot_cex(x=1:5, y=rnorm(5), cex=1.5, ylim=c(-0.5,0.5))

1

मामले में आप लेबल = TRUE सेट करते समय हिस्टोग्राम के लेबल का फ़ॉन्ट बढ़ाना चाहते हैं

bp=hist(values, labels = FALSE, 
 main='Histogram',
 xlab='xlab',ylab='ylab',  cex.main=2, cex.lab=2,cex.axis=2)

text(x=bp$mids, y=bp$counts, labels=bp$counts ,cex=2,pos=3)
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.