如何在R中添加一个短划线?

时间:2010-03-19 16:51:25

标签: r character

我在R中创建一个情节,并且需要在某些轴标签上添加一个短划线,而不是你的日常连字符。

axis(1, at=c(0:2), labels=c("0-10","11-30","31-70"))

我在Linux上运行R版本2.8.1。

3 个答案:

答案 0 :(得分:2)

在此示例中,您可以使用expression()函数来正确渲染虚线:

axis(1, 
     at=c(0:2), 
     labels=c(expression(0-10), 
              expression(11-30), 
              expression(31-70)))

答案 1 :(得分:1)

你正在使用Linux,所以根据R对unicode的理解程度,你可以将一个备用键盘键映射到Compose Key,然后输入。要获得 - ,按下Compose然后按正常 - 键两次或三次(取决于系统的映射)。请注意,使用Compose键时,不要按住它 - 只需按顺序按键。

具体如何启用它会有所不同,但在Ubuntu,系统 - >首选项 - >键盘,布局选项卡,布局选项按钮,并选择适合“撰写键位置”项目的内容。我通常使用菜单键。

编辑:我的错误,你想要一个冲刺,而不是一个冲刺。然后en-dash( - )是Compose dash dash dash,而不是Compose dash dash dash。

答案 2 :(得分:1)

老问题,但仍然是一个问题...

我在OSX 10.12.2上使用R vsn 3.3.2,使用plot()绘制到我导入Affinity Designer vsn 1.5.4的pdf文件。形式为“2-0”的轴标签显示在Affinity Designer中,短划线与“0”重叠。我不知道问题出在Affinity Designer或pdf文件或者是什么。能够尝试各种Unicode短划线字符会很好,但R和pdf文件似乎还没有完全配备使用默认字体来处理Unicode。

解决方案:R中的“cairo”包:

library("cairo")
d = 0:11
names(d) = paste(0:11, "-", 11:0, sep="")
names(d) = gsub("-", "\U2012", names(d)) # U+2012 is "figure dash"
d
barplot(d)
cairo_pdf(filename="x.pdf", width=11, height=8)
barplot(d)
dev.off()

破折号显示在R控制台,默认的R绘图设备以及使用预览和亲和设计器查看的pdf文件中。