R使用unicode符号而不是条形图制作条形图

时间:2015-12-29 18:36:01

标签: r unicode bar-chart

我想绘制一种(某种)条形图,但我不想使用条形图,而是想使用unicode符号。这可能吗?

我知道如何使用unicode字符作为符号(点);例如:

plot(1,1,pch=-0x0001F3E2, cex=5, col="gray30")

但如何使符号代替条形图?

修改
正如埃里克所建议的那样,我将尝试编写一个可重复性最小的例子......

给定变量x:

x <- c(2,3,4,2,1)
barplot(x)

我想使用自定义符号而不是条形来生成条形图。类似的东西:

plot(1:5,rep(0,5),pch=-0x0001F3E2, cex=x, col="gray30")

问题在于我无法像使用文本一样垂直对齐sysmbols:

plot(1:5,rep(0,5),type="n", ylim=c(0,1),bty="n")
text(1:5,0,"A",cex=c(2,5,3,3,1),adj=c(0.6,0))

因此,我的问题的一种解决方案,虽然不是理想的,但是要使用 一些自定义系统字体与包extrafont。

例如,使用字体“Destiny's Little Houses”(http://www.dafont.com/destiny-little-hous.font) 我能够制作一些漂亮的信息图表:

plot(1:5,rep(0,5),type="n",ylim=c(0,1),bty="n")
text(1:5,0.1,"A",cex=c(2,5,3,3,1),adj=c(0.6,0),family="Destiny's Little Houses")

所以,不是有条形,而是我有一个图像,其大小根据某个变量而变化(使用“cex”)。

这并不理想,首先是因为我希望能够导入任何图像(例如使用png包)。

那么,是否有可能:

  1. 导入图像文件并将其用作图中的符号(而不是使用pch的可用sysmbols之一)?
  2. 垂直对齐符号,以便获得一种自定义条形图?
  3. 由于 安东尼奥

1 个答案:

答案 0 :(得分:0)

这是一个有点开心的开始(可能没什么用,因为我不知道你的数据是什么样子)。

counts <- table(mtcars$gear)
foo <- barplot(counts, col = c("white", "white", "white"), border=c("white"), axes=F, xaxt="n") 
points(foo, counts-.5, pch = -0x0001F3E2, cex=2, pos=3)

删除, axes=F, xaxt="n"以获取标签和轴。