2016-04-25 6 views
5

Ich habe eine Legende in meinem Diagramm, aber ich versuche, die Schriftgröße zu erhöhen, damit es die Legenden-Box passt. Wenn ich versuche, die cex wie unten definiert zu erhöhen. Die Box wird größer, während der Text noch klein ist.Ändern Sie die Schriftgröße in der Legende

Code:

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

Auszug aus Grundstück:

enter image description here

Antwort

8

Erster Ansatz:

Versuchen Sie, die Schriftgröße einstellen, bevor die Legende plotten.

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

Zweiter Ansatz:

Halten Sie die pt.cex Parameter auf 1, während andere Werte für cexinnerhalb versuchen der Legendenruf. Vergessen Sie nicht, op zu löschen.

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

Ich glaube, Sie haben meine Frage missverstanden. Mein Ziel war es, die Schriftgröße des Textes in der Legende zu erhöhen. Da die Schriftgröße im Verhältnis zur Legende zu klein ist. @Worice – user3580316

+0

Oh sorry, dann spiele mit 'op <- par (cex = 1.5)'. Wenn Sie diesen Parameter ändern, passen Sie die Größe an. – Worice

+0

In meinem Zusammenhang scheint das nicht zu funktionieren. – user3580316

1

Ich glaube, Sie versuchen, die y.intersp in der Legende verwendet, kann, wenn die Intervalle zwischen den einzelnen Textzeilen reduziert sind, können Sie Textgröße, ohne die Größe der Legende Box zu ändern erhöhen könnte.

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

Sie können CEX verwenden Schriftgröße zu bestimmen, verwenden bty = ‚n‘ um die Legende keine Linien, um anzuzeigen, ziehen Sie dann ein Rechteck separat auf dem Graphen mit rect(). Zum Beispiel:

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))