我正在尝试使用ggplot2在R中进行简单绘制。数据存储在数据框中,其列用俄语书写。问题是标签的内容从标签的右边界移开了。无论标签名称是明确定义的(下面的代码)还是从数据框列名称中隐式定义,这些额外的空格都会出现。
ggplot(mtcars, aes(x = drat, y =mpg, color = cyl))+
geom_point() +
labs(color = "Русское название") +
theme(legend.background = element_rect(color = "black", linetype = "solid", size = 0.7),
legend.justification = c(1, 1),
legend.position = c(1, 1),
legend.title.align = 0)
带有英文标题的地块被适当地描绘。
操作系统的编码设置如下:
“ LC_COLLATE = Russian_Russia.1251; LC_CTYPE = Russian_Russia.1251; LC_MONETARY = Russian_Russia.1251; LC_NUMERIC = C; LC_TIME = Russian_Russia.1251”
有没有办法解决这个问题?
答案 0 :(得分:0)
当需要带有西里尔符号的图例时,我遇到了同样的问题。由于 Windows 上的默认图形设备,看起来它是 ggplot2 存储库中的已知问题 reported。实际上,如果您尝试使用 ggsave 保存 ggplot,则可能不会遇到该问题。
我还没有尝试过自己保存文件,但我已经按照报告的问题找到了一些特定于 R studio here 的解决方法,它对我有用,也许它也可以解决您的问题。在绘制任何内容之前运行的示例代码是:
trace(grDevices:::png, quote({
if (missing(type) && missing(antialias)) {
type <- "cairo-png"
antialias <- "subpixel"
}
}), print = FALSE)