Cómo aumentar el tamaño de la fuente en un gráfico en R?
Estoy confundido. ¿Cuál es la manera correcta de aumentar el tamaño de fuente del texto en el título, las etiquetas y otros lugares de una parcela?
Por ejemplo
x <- rnorm(100)
hist(x, xlim=range(x), xlab= "Variable Label",
ylab="density", main="Title of plot", prob=TRUE, ps=30)
El argumento ps
no cambia el tamaño de la fuente (pero dice en la Ayuda de R para ?par
que es para "el tamaño de punto del texto (pero no los símbolos)".
También es posible separar el cambio del tamaño de la fuente de la función de trazado como hist
?
6 answers
Desea algo como el argumento cex=1.5
para escalar las fuentes al 150 por ciento. Pero ver help(par)
como también hay cex.lab
, cex.axis
, ...
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2010-11-22 02:41:49
Así, para resumir la discusión existente, añadiendo
cex.lab=1.5, cex.axis=1.5, cex.main=1.5, cex.sub=1.5
A su parcela, donde 1.5 podría ser 2, 3, etc. y un valor de 1 es el valor predeterminado aumentará el tamaño de la fuente.
x <- rnorm(100)
Cex no cambia las cosas
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)
Añadir cex.lab = 1,5, cex.eje=1.5, cex.principal=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)
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2012-06-06 02:28:31
Observe que "cex" cambia las cosas cuando la trama se hace con texto. Por ejemplo, la gráfica de un agrupamiento jerárquico aglomerativo:
library(cluster)
data(votes.repub)
agn1 <- agnes(votes.repub, metric = "manhattan", stand = TRUE)
plot(agn1, which.plots=2)
Producirá un gráfico con texto de tamaño normal:
Y plot(agn1, which.plots=2, cex=0.5)
producirá este:
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2013-04-17 12:43:12
Por ensayo y error, he determinado que se requiere lo siguiente para establecer el tamaño de fuente:
-
cex
no funciona enhist()
. Usecex.axis
para los números en los ejes,cex.lab
para las etiquetas. -
cex
tampoco funciona enaxis()
. Usecex.axis
para los números en los ejes. - En lugar de establecer etiquetas usando
hist()
, puede establecerlas usandomtext()
. Puede establecer el tamaño de fuente usandocex
, pero usando un valor de 1 en realidad establece la fuente a 1.5 veces el valor predeterminado!!! Usted necesita usarcex=2/3
para obtener el tamaño de fuente predeterminado. Por lo menos, este es el caso bajo R 3.0.2 para Mac OS X, usando salida PDF. - Puede cambiar el tamaño de fuente predeterminado para la salida PDF usando
pointsize
enpdf()
.
Supongo que sería demasiado lógico esperar que R (a) realmente haga lo que su documentación dice que debe hacer, (b) se comporte de una manera esperada.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2013-12-12 09:28:27
En caso de que desee aumentar la fuente de las etiquetas del histograma al establecer labels=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)
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2015-11-06 16:02:02
Me encontré con esto cuando quería hacer las etiquetas del eje más pequeñas, pero dejar todo lo demás del mismo tamaño. La orden que funcionó para mí, fue poner:
par(cex.axis=0.5)
Antes del comando plot. Solo recuerde poner:
par(cex.axis=1.0)
Después de la gráfica para asegurarse de que las fuentes vuelvan al tamaño predeterminado.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-10-17 15:40:44