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

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函数和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"))
.

其他提示

设置主题将允许您在全球范围内更改这些主题。

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

虽然Triad Sou的答案在R图形窗口上运行,但是当我尝试用命令用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")
.

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top