我希望在Windows 7上使用R 3.0.1在xyplot 的PNG输出中包含一个unicode字符。例如。 (注意ylab中表达式中的μ)
## output to windows() works fine
xyplot(CD4 ~ obstime, groups=aids$patient, data=aids, type="b", ylab=expression(sqrt("CD4/µl")))
## output to PNG does not
png(file="AIDS.png", width=5, height=5, units="in", type="cairo", res=800)
xyplot(CD4 ~ obstime, groups=aids$patient, data=aids, type="b", ylab=expression(sqrt("CD4/µl")))
dev.off()
我收到错误“此设备无法使用指标信息”。
我认为这可能是unicode和png()的一般问题,因为使用plot(1,main =“μ”)打印用于windows()输出的μ,但不用于png()输出(其中μ是默默地省略)。但是,使用CairoPNG无法解决此问题:它为plot()打印μ,但xyplot()的错误仍然存在(xyplot似乎也忽略了开头的pointsize =。)
答案 0 :(得分:1)
试试这个(使用plotmath表达式解释):
png(file="AIDS.png", width=5, height=5, units="in", type="cairo", res=800)
xyplot(1 ~ 1, type="b", ylab=expression(sqrt(CD4/µ*l)))
dev.off()
或者:
png(file="AIDS.png", width=5, height=5, units="in", type="cairo", res=800)
xyplot(1 ~ 1, type="b", ylab=expression(sqrt(CD4/mu*l)))
dev.off()
(我的设备中的任何一个都比让png()更快地完成对角色版本的处理。)