Tôi muốn vẽ một nhãn trên một dòng trong đồ họa đơn sắc. Vì vậy, tôi cần biên giới nhỏ màu trắng trên mỗi chữ cái của nhãn.R: Có cách nào để đặt đường viền, bóng hoặc vùng đệm xung quanh các nhãn văn bản trên các ô R?
Đường viền hoặc nền của hình chữ nhật của nhãn văn bản không hữu ích vì ẩn nhiều dữ liệu được vẽ.
Có cách nào để đặt đường viền, bóng tối hoặc vùng đệm quanh nhãn văn bản trên ô R không?
EDIT:
shadowtext <- function(x, y=NULL, labels, col='white', bg='black',
theta= seq(pi/4, 2*pi, length.out=8), r=0.1, ...) {
xy <- xy.coords(x,y)
xo <- r*strwidth('x')
yo <- r*strheight('x')
for (i in theta) {
text(xy$x + cos(i)*xo, xy$y + sin(i)*yo, labels, col=bg, ...)
}
text(xy$x, xy$y, labels, col=col, ...)
}
pdf(file="test.pdf", width=2, height=2); par(mar=c(0,0,0,0)+.1)
plot(c(0,1), c(0,1), type="l", lwd=20, axes=FALSE, xlab="", ylab="")
text(1/6, 1/6, "Test 1")
text(2/6, 2/6, "Test 2", col="white")
shadowtext(3/6, 3/6, "Test 3")
shadowtext(4/6, 4/6, "Test 4", col="black", bg="white")
shadowtext(5/6, 5/6, "Test 5", col="black", bg="white", theta = seq(pi/4, 2*pi, length.out=24))
dev.off()
Đoạn mã trên sử dụng các giải pháp từ koekenbakker. Điều này là tốt cho đồ họa PNG.
Tôi cần một cách tiếp cận khác nhau đối với độ phân giải cao o vector PDF như thế này https://docs.google.com/file/d/0BwpJogoN4kzHUEkwMEI2Rzg2T0k/edit?pli=1
Có rất nhiều chức năng âm mưu khác nhau và hệ thống đồ họa trong R. Hãy chắc nhiều cụ thể hơn về chính xác những gì các lệnh vẽ bạn đang sử dụng. Thậm chí tốt hơn, bao gồm một [ví dụ tái sản xuất] (http://stackoverflow.com/questions/5963269/how-to-make-a-great-r-reproducible-example). – MrFlick
Sự cố với pdf là gì? Bạn có nghĩa là độ phân giải? Bạn có thể điều chỉnh thông số theta để có độ phân giải cao hơn. Tôi sẽ thay đổi điều này trong câu trả lời của tôi. – koekenbakker
bạn nói đúng. Trong ví dụ của tôi, tôi đã thử một theta 24 item và không đủ. Nhưng trong ví dụ của bạn hoạt động hoàn hảo với 50. Cảm ơn – fnd