2016-04-25 28 views
5

Nella trama ho una legenda, ma sto cercando di aumentare la dimensione del carattere in modo che si adatti alla casella della legenda. Quando provo ad aumentare il cex come definito di seguito. La scatola diventa più grande, mentre il testo è ancora piccolo.Cambia dimensione carattere nella legenda

Codice:

legend(0,16, c("Available vCPUs","Added vCPUs (1 per iteration) "),col=c('red','black'),cex=0.39,lty=1:1,lwd=2)

Estratto dal terreno:

enter image description here

risposta

8

Primo approccio:

tenta di impostare la dimensione del carattere, prima di tracciare la leggenda.

x <- y <- rnorm(100, 0, 1) 
plot(x, y, type = "n") 

## here you set the font size default to `x`, in this example 0.5 
## save defaults in `op` 

op <- par(cex = 0.5) 

legend("topright", legend = "foo legend", pch = 1, bty = "n") 

enter image description here

## here you set cexto 1.5 
## save new defaults in `op` 

op <- par(cex = 1.5) 

legend("topright", legend = "foo legend", pch = 1, bty = "n") 

enter image description here

Secondo approccio:

Tenendo il parametro pt.cex 1, mentre provando valori differenti per cexall'interno la chiamata alla leggenda. Ricorda di cancellare op.

x <- rnorm(100, 10, 4) 
y <- rnorm(100, 10, 4) 
plot(x, y, type = "n") 

## I tried to feed cex with 1.5 and 0.5. The font size changes while the points remain unchanged. 

legend("topleft", "Legend", cex=0.5, pch=1, pt.cex = 1) 

enter image description here

+0

Credo che tu abbia frainteso la mia domanda. Il mio obiettivo era aumentare la dimensione del carattere del testo nella legenda. Poiché la dimensione del font è troppo piccola rispetto alla legenda. @Worice – user3580316

+0

Oh scusa, quindi gioca con 'op <- par (cex = 1.5)'. Cambiando questo parametro si regola la dimensione. – Worice

+0

Nel mio contesto, non sembra funzionare. – user3580316

1

penso che si può provare a utilizzare il y.intersp nella leggenda, quando gli intervalli tra le diverse linee di testo sono ridotti, si potrebbe aumentare la dimensione del testo senza modificare le dimensioni della scatola leggenda.

legend(0,16, c("Available vCPUs","Added vCPUs (1 per iteration) 
"),col=c('red','black'),cex=0.39,lty=1:1,lwd=2, y.intersp = 0.3) 
3

È possibile utilizzare CEX per determinare la dimensione del carattere, l'uso bty = 'n' per indicare nessun linee intorno alla leggenda, quindi disegnare un rettangolo separatamente sul grafico con rect(). Ad esempio:

with(data, legend(-10,7, legend=c("Name_of_Legend"), bty = 'n', col=c("red"), lty=0, pch=20, cex=0.75)) 
with(data, rect(-10,6.2,-3,7))