2015-03-27 39 views
5

Tôi tự hỏi liệu có thể vẽ văn bản có đường viền trong R, sao cho văn bản có thể đọc được độc lập với nền (giống như văn bản trên meme). Sau đây (rõ ràng) không:Nhãn văn bản có đường viền trong R

# prepare a colorful background 
randcolors <- sprintf("#%02X%02X%02X99", sample(1:255, 1000, replace=T), sample(1:255, 1000,replace=T), sample(1:255, 1000, replace=T)) 
plot(NULL, xlim=c(0,1), ylim=c(0,1), xaxt="n", bty="n", yaxt="n") 
points(runif(1000, 0, 1), runif(1000, 0, 1), cex=runif(1000, 0.5, 5), col= randcolors, pch= 19) 
text(0.5, 0.5, "test text", cex= 5) 
text(0.5, 0.5, "test text", cex= 4.5, col="white") 

Kết quả là không ngoạn mục:

enter image description here

Rõ ràng, đầu tiên tôi có thể tạo ra một nền trắng hoặc bán trong suốt, nhưng tôi sẽ thực sự nhiều thích có phác thảo đẹp.

+0

liên kết này có thể giúp: http://stackoverflow.com/questions/7734535/control-font-thickness-without-changing-font -size –

+0

Một số khả năng cho 'ggplot' [ở đây] (http://stackoverflow.com/questions/10686054/outlined-text-with-ggplot2/10691826#10691826). – Henrik

Trả lời

7

Hãy thử shadowtext từ gói TeachingDemos:

shadowtext(0.5, 0.5, "test text", cex= 4.5, col="white" , r=0.3) 

shadow text

+0

Chức năng 'shadowtext' rất thú vị vì về cơ bản trực giác của OP, [chỉ lặp lại một loạt lần] (https://github.com/cran/TeachingDemos/blob/master/R/shadowtext.R). – Thomas

+0

Không thực sự, OP đang mở rộng kích thước văn bản, nhưng shadowtext sử dụng nhiều bản sao có cùng kích thước với văn bản chính. Chia tỷ lệ không hoạt động để tạo bóng tối trên các lỗ bên trong. – Spacedman

+0

Hoàn hảo! Cảm ơn nhiều. – January

Các vấn đề liên quan