在 R 中,将绘图保存到 PDF 或 Postscript 文件时,轴标签中的连字符会变成减号。显然,这是设计使然。根据“后记”设备的文档:
[正常编码规则]有一个例外。字符 45 ('"-"') 始终设置为减号(它在 Adobe ISOLatin1 中的值),即使它在其他编码中是连字符。连字符在所有拉丁编码、西里尔文和希腊文中都可用作字符 173(八进制 0255)。(这可以在 UTF-8 语言环境中输入为 '"\uad"'。)
有什么办法可以关闭这个功能吗?
我遇到的问题是我经常以各种格式保存绘图,如果我遵循建议的“\uad”解决方法,我会在 Postscript/PDF 输出中得到预期的连字符,但在将绘图渲染到其他图形设备(如 PNG)时却没有. 我宁愿不必为每个绘图创建两个版本,一个用于 PDF,一个用于 PNG。
如果我可以禁用“减号黑客”,那么图形设备之间的渲染行为将是一致的,我可以简单地“打印”一个图到多个设备上以获取不同格式的图。例如,我希望能够执行以下操作,并让连字符在 PDF 和 PNG 版本的绘图中一致地呈现:
p <- qplot(arrival_rate, mean_service_time, data = response_times, ...)
ggsave(p, file = "/tmp/service-scaling.pdf", useDingbats = F)
ggsave(p, file = "/tmp/service-scaling.png")
谢谢你的帮助!