ggsave 与非 ASCII plotmath 标签使用开罗
ggsave with non-ASCII plotmath labels using cairo
我有一个带有 plotmath 表达式的非 ASCII 轴标签。当我尝试使用 cairo 另存为 png 时,出现错误:
library(ggplot2)
ggsave("test.png",
qplot(mtcars$hp, mtcars$cyl) +
ylab(expression(`cÜl`~italic(r)(italic(M)))) +
xlab(expression(hp~italic(hp))),
device = grDevices::png,
type = "cairo")
错误信息是:
Metric information not available for this family/device
另一方面,使用“windows”设备有效(警告除外):
ggsave("test.png",
qplot(mtcars$hp, mtcars$cyl) +
ylab(expression(`cÜl`~italic(r)(italic(M)))) +
xlab(expression(hp~italic(hp))),
device = grDevices::png,
type = "windows")
警告(德语)是:
In dev(filename = filename, width = dim[1], height = dim[2], ...) :
'width=7, height=7' sind unwahrscheinliche Pixelzahlen
最后,如果标签不是 plotmath 表达式,非 ASCII 轴标签本身不是问题:
ggsave("test.png",
qplot(mtcars$hp, mtcars$cyl) +
ylab("cÜl") +
xlab(expression(hp~italic(hp))),
device = grDevices::png,
type = "cairo")
最后一条命令没有引发错误。
不过,我更愿意使用 cairo,因为它有时能画出更好的图片。有什么想法吗?
这对我有用(虽然我不在 windows);尝试省略 device
参数:
library(ggplot2)
ggsave("test.png",
qplot(mtcars$hp, mtcars$cyl) +
ylab(expression(`cÜl`~italic(r)(italic(M)))) +
xlab(expression(hp~italic(hp))),
type = "cairo-png")
#> Saving 7 x 5 in image
由 reprex package (v0.3.0)
于 2020-07-05 创建
这适用于装有 R 4.0.2 的 Windows 机器(以及 linux):
library(ggplot2)
library(ggtext)
ggsave("test.png", width = 6, height = 6,
qplot(mtcars$hp, mtcars$cyl) +
labs(x = "hp *hp*",
y = "c\u00DCl *r*(*M*)") +
theme(
axis.title.x = element_markdown(),
axis.title.y = element_markdown()
),
type = "cairo-png")
由 reprex package (v0.3.0)
于 2020-07-07 创建
我有一个带有 plotmath 表达式的非 ASCII 轴标签。当我尝试使用 cairo 另存为 png 时,出现错误:
library(ggplot2)
ggsave("test.png",
qplot(mtcars$hp, mtcars$cyl) +
ylab(expression(`cÜl`~italic(r)(italic(M)))) +
xlab(expression(hp~italic(hp))),
device = grDevices::png,
type = "cairo")
错误信息是:
Metric information not available for this family/device
另一方面,使用“windows”设备有效(警告除外):
ggsave("test.png",
qplot(mtcars$hp, mtcars$cyl) +
ylab(expression(`cÜl`~italic(r)(italic(M)))) +
xlab(expression(hp~italic(hp))),
device = grDevices::png,
type = "windows")
警告(德语)是:
In dev(filename = filename, width = dim[1], height = dim[2], ...) :
'width=7, height=7' sind unwahrscheinliche Pixelzahlen
最后,如果标签不是 plotmath 表达式,非 ASCII 轴标签本身不是问题:
ggsave("test.png",
qplot(mtcars$hp, mtcars$cyl) +
ylab("cÜl") +
xlab(expression(hp~italic(hp))),
device = grDevices::png,
type = "cairo")
最后一条命令没有引发错误。
不过,我更愿意使用 cairo,因为它有时能画出更好的图片。有什么想法吗?
这对我有用(虽然我不在 windows);尝试省略 device
参数:
library(ggplot2)
ggsave("test.png",
qplot(mtcars$hp, mtcars$cyl) +
ylab(expression(`cÜl`~italic(r)(italic(M)))) +
xlab(expression(hp~italic(hp))),
type = "cairo-png")
#> Saving 7 x 5 in image
这适用于装有 R 4.0.2 的 Windows 机器(以及 linux):
library(ggplot2)
library(ggtext)
ggsave("test.png", width = 6, height = 6,
qplot(mtcars$hp, mtcars$cyl) +
labs(x = "hp *hp*",
y = "c\u00DCl *r*(*M*)") +
theme(
axis.title.x = element_markdown(),
axis.title.y = element_markdown()
),
type = "cairo-png")
由 reprex package (v0.3.0)
于 2020-07-07 创建