Ich versuche, den Titel für eine Legende in einem Levelplot-Diagramm zu erhöhen, das in einer Variablen gespeichert ist. Ich habe Code von here verwendet, um einen colorkey-Legendentitel zu einem levelplot-Diagramm hinzuzufügen, das in einer Variablen gespeichert wird.Erhöhen Sie die Anzahl der Titel von colorkey auf Levelplot
library(lattice)
library(grid)
# Amend key function
# Hopefully a nicer way to do this!
mykey <- draw.colorkey
body(mykey)[28:30] <- list(
quote(
if(!is.null(key$title)){
key.gf <- placeGrob(key.gf,
textGrob(key$title,hjust=key$hjust, vjust=key$vjust, gp=key$gp),
row=key$row, col=key$column)
}),
body(mykey)[[28]],
body(mykey)[[29]])
# Assign to namespace: https://stackoverflow.com/questions/6254744/override-a-function-that-is-imported-in-a-namespace
unlockBinding("draw.colorkey", as.environment("package:lattice"))
assign("draw.colorkey", mykey, "package:lattice")
unlockBinding("draw.colorkey", getNamespace("lattice"))
assign("draw.colorkey", mykey, getNamespace("lattice"))
# Draw plot
x = 1:10
y = rep(x,rep(10,10))
x = rep(x,rep(10))
z = x+y
p <- levelplot(z~x*y,
colorkey=list(labels=list(cex=1, font=2, col="brown"),
height=1, width=1.4,
title=expression(m^3/m^3), row=3, column=1, vjust=2),
main=list('b',side=1,line=0.5))
p
Aber ich möchte die Schriftgröße der Legende Titel erhöhen. Ich habe versucht, gp=gpar(fontsize=14)
und gp=gpar(cex=9)
nach dem vjust
Argument anzugeben, aber die Schriftgröße ändert sich nicht. Nicht ganz sicher, wie das gp
Argument funktioniert, nahm ich an, es folgt grid.text
und nimmt von gpar
, aber es scheint nicht zu funktionieren?