r中的罗马斜体标签

时间:2011-05-11 23:10:54

标签: r plot lattice

我有一个非常简单的脚本:

sens = read.table("Myfile.txt")
library(lattice)
contourplot(sens$V1 ~ sens$V2+sens$V3,data=d3,xlab="U",ylab=expression(kappa))

我一直试图用罗马斜体字体来标记我的标签。我想

font.lab=3, family="serif"

应该给我这个,但无论我尝试什么(font = 3,font =“italic”......)都不会改变字体。

有人能发现我做错了什么吗? 谢谢。

3 个答案:

答案 0 :(得分:2)

您可以尝试italic函数和unicode符号。

require(lattice)
require(grid)
x <- seq(pi/4, 5 * pi, length.out = 100)
y <- seq(pi/4, 5 * pi, length.out = 100)
r <- as.vector(sqrt(outer(x^2, y^2, "+")))
grid <- expand.grid(x=x, y=y)
grid$z <- cos(r^2) * exp(-r/(pi^3))

contourplot(z~x*y, grid, cuts = 1,
  colorkey = FALSE, region = TRUE,
  xlab=expression(italic(U)),
  ylab=expression(italic('\u03ba')))
grid.gedit("text", gp=gpar(fontfamily="serif"))
grid.gedit("xlab", gp=gpar(fontfamily="serif"))
grid.gedit("ylab", gp=gpar(fontfamily="serif"))

答案 1 :(得分:2)

设置主题将允许您全局更改这些内容。

font.settings <- list(font = 3, fontfamily = "serif")

my.theme <- list(par.xlab.text = font.settings,
                 par.ylab.text = font.settings,
                 axis.text = list(fontfamily = "serif"))

然后将par.settings = my.theme添加到contourplot语句

contourplot(sens$V1 ~ sens$V2+sens$V3,data=d3,xlab="U",ylab=expression(kappa), 
            par.settings = my.theme)

答案 2 :(得分:0)

虽然Triad Sou的答案适用于R Graphics窗口,但当我尝试使用以下命令以eps格式打印绘图时,标签仍然是非serif字体:

dev.print(device=postscript,file="Myfile.eps")

因此,对于我的eps文件,我必须这样做:

contourplot(sens$Tot ~ sens$U+sens$kappa,data=d3,
        xlab=expression(italic(U)),ylab=expression(italic(kappa)))
dev.print(device=postscript,file="Myfile.eps",family="serif")