2010-11-22 79 views
102

Tôi đang bối rối. Cách đúng để tăng kích thước phông chữ của văn bản trong tiêu đề, nhãn và các vị trí khác của ô là gì?Làm thế nào để tăng kích thước phông chữ trong một ô trong R?

Ví dụ

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

Đối số ps không thay đổi kích thước font chữ (nhưng nó nói trong R giúp cho ?par rằng nó là dành cho "cỡ điểm ảnh của văn bản (nhưng không phải ký tự)".

Cũng có thể tách riêng việc thay đổi kích thước phông chữ từ chức năng vẽ đồ họa như hist?

+0

Bản sao có thể có của [Cách thay đổi kích thước nhãn của ô R] (https://stackoverflow.com/questions/13046323/how-to-change-the-label-size-of-an-r-plot) –

Trả lời

103

Bạn muốn một đối tượng như tỷ lệ 150%.như cũng có cex.lab, cex.axis ...

+1

Cảm ơn! Sự khác biệt với "ps = 1,5" là gì? – Tim

+2

tại sao cex = 1.5 không hoạt động? Nhưng phải xác định cho từng phần về cex.lab, cex.axis, cex.main? Cex = 1.5 là gì? – Tim

+2

Bạn đã đọc 'help (par)' về 'ps' chưa? Có vẻ như không liên quan đến văn bản theo như tôi có thể nói. –

96

Vì vậy, để tóm tắt các cuộc thảo luận hiện có, thêm

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

để âm mưu của bạn, nơi 1,5 có thể là 2, 3, vv và một giá trị của 1 là mặc định sẽ tăng kích thước phông chữ.

x <- rnorm(100) 

CEX không thay đổi điều

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) 

enter image description here

Thêm 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) 

enter image description here

+2

BTW, nếu bạn đang cố gắng sửa đổi trục trong biểu đồ thanh (nói cho ô quan trọng biến trong randomForest hoặc GBM), bạn cần sử dụng 'cex.names' (nếu bạn là người đọc những thứ từ một vị trí thẳng đứng, bạn cũng có thể muốn 'las = 2') – geneorama

20

Lưu ý rằng "cex" sẽ thay đổi mọi thứ khi lô được tạo bằng văn bản. Ví dụ, những âm mưu của một phân nhóm thứ bậc agglomerative:

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

sẽ tạo ra một âm mưu với các văn bản có kích thước bình thường:

enter image description here

plot(agn1, which.plots=2, cex=0.5) sẽ sản xuất này một:

enter image description here

+0

Làm việc trong' faces2' quá (từ [khuôn mặt Chernoff] (http://cran.r-project.org/web/packages/TeachingDemos/index.html)) – Galled

+0

Trong ví dụ của tôi, tôi đã phải áp dụng _cex_ ** not ** để vẽ nhưng đối tượng bên trong trực tiếp cho một hiệu ứng: 'plot (ci (roc (dữ liệu $ a, dữ liệu $ b, auc = TRUE, of =" auc ", print.auc = TRUE, print.auc.cex = 1.5, lô = TRUE), của = "ngưỡng", ngưỡng = "tốt nhất"))) ' – Tapper

15

Bằng thử nghiệm và lỗi, tôi đã xác định những điều sau đây là bắt buộc để đặt kích thước phông chữ:

  1. cex không hoạt động trong hist(). Sử dụng cex.axis cho các số trên các trục, cex.lab cho các nhãn.
  2. cex cũng không hoạt động ở axis(). Sử dụng cex.axis cho các số trên trục.
  3. Thay cho việc đặt nhãn sử dụng hist(), bạn có thể đặt chúng bằng cách sử dụng mtext().Bạn có thể đặt kích thước phông chữ bằng cách sử dụng cex, nhưng sử dụng giá trị 1 thực sự đặt phông chữ thành 1,5 lần mặc định !!! Bạn cần sử dụng cex=2/3 để nhận kích thước phông chữ mặc định. Ít nhất, đây là trường hợp theo R 3.0.2 cho Mac OS X, sử dụng đầu ra PDF.
  4. Bạn có thể thay đổi kích thước phông chữ mặc định cho đầu ra PDF bằng cách sử dụng pointsize trong pdf().

Tôi cho rằng sẽ rất hợp lý để mong đợi R (a) thực sự làm những gì tài liệu của nó nói, (b) hành xử theo cách mong đợi.

1

Trong trường hợp bạn muốn tăng phông chữ của nhãn của histogram khi thiết nhãn = 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) 
1

tôi tình cờ này khi tôi muốn làm cho trục nhãn nhỏ hơn, nhưng để lại mọi thứ khác cùng kích thước. Lệnh làm việc cho tôi, là đặt:

par(cex.axis=0.5) 

Trước lệnh cốt truyện. Chỉ cần nhớ đặt:

par(cex.axis=1.0) 

Sau cốt truyện để đảm bảo phông chữ trở lại kích thước mặc định.

Các vấn đề liên quan