是否有任何函数用R绘制条形码,它取高度(或说宽度=行数)和绘制黑线的位置。
感谢您的帮助。
大卫。
答案 0 :(得分:0)
您可以使用zintr
包打印条形码。为此,您需要先安装zint
,然后再安装zintr
。请参阅zintr
development site上的安装说明。
然后,创建一个条形码:
library(zintr)
barcode_print("3.14159265", "pi.png")
如果你想要绘制一个条形码,给定每个段的一系列宽度,这里是使用ggplot2进行演示的一些假数据。实际条形码可以包含给定字符的多个段,下面的示例不会捕获此字符。如果您知道它们的位置和宽度,它只会让您了解如何绘制线段。
library(ggplot2)
barcode = function(x, w, num) {
bc = data.frame(x, w, num)
bc$xpos = seq(min(bc$x)+0.15, max(bc$x)-0.15, length=nrow(bc))
ggplot(bc) +
geom_rect(aes(xmin=x - 0.5*w, xmax=x+0.5*w, ymin=0, ymax=1),
show.legend=FALSE, fill="black") +
geom_text(aes(label=num, x=xpos, y=-0.07)) +
coord_fixed(0.5) +
theme_void()
}
然后,运行该功能:
barcode(x=cumsum(0 + runif(12, 0.05, 0.1)),
w=runif(12,0.01,0.05),
num=sample(0:9, 12, replace=TRUE))