1
我試圖找到一種方法來減少在情節字母之間的空位時,我使用文本功能...減少字母之間的間距在文本功能
par(mar=rep(0,4))
plot.new()
text(0.5,0.8,"text", cex=8)
我想幾乎沒有每個字母之間的空格,或重疊的選項(如下圖所示的底部......我在MS油漆中手動完成)。
我試圖找到一種方法來減少在情節字母之間的空位時,我使用文本功能...減少字母之間的間距在文本功能
par(mar=rep(0,4))
plot.new()
text(0.5,0.8,"text", cex=8)
我想幾乎沒有每個字母之間的空格,或重疊的選項(如下圖所示的底部......我在MS油漆中手動完成)。
一個選項:
par(mar=rep(0,4))
plot.new()
word = "text"
letters = strsplit(word,"")
xstart = .4
ystart = .8
space = .075
for(i in 1:length(letters[[1]])){
text(xstart,ystart,letters[[1]][i], cex=8)
xstart = xstart + space
}
雖然我個人而言,我會做手工一個在這樣的時刻信:
par(mar=rep(0,4))
plot.new()
text(.5,.8,"t", cex=8)
text(.57,.8,"e", cex=8)
text(.645,.8,"x", cex=8)
text(.7,.8,"t", cex=8)
這裏是一個開始的功能要做到這一點:
squishtext <- function(x,y, text, squish=1) {
text <- strsplit(text, '')[[1]]
w <- strwidth(text)
ww <- cumsum(c(0,head(w,-1)) * squish)
text(x + ww, y, text, adj=c(0,0))
}
和一個簡單的例子/檢查:
plot(1:10, type='n')
text(5, 3, "test", adj=c(0,0))
squishtext(5, 4, "test", squish=1)
squishtext(5, 5, "test", squish=0.8)
squishtext(5, 6, "test", squish=0.5)
squishtext(5, 7, "test", squish=1.2)
squishtext(5, 8, "test", squish=2)
它可以擴展到採取額外的參數(adj
,cex
等)。
+1,不可能理解爲什麼它是downvoted – baptiste