2012-07-23 11 views
13

Văn bản được in bằng cách sử dụng geom_text không rõ ràng. Làm thế nào tôi có thể làm cho nó rõ ràng hơn?ggplot: văn bản được in bằng geom_text không rõ ràng

data = data.frame(rnorm(1000)) 
colnames(data) = "numOfX" 
m <- ggplot(data, aes(x=numOfX)) 
m + geom_histogram(colour = "blue", fill = "white", binwidth = 0.5) + 
    annotate("segment", x=10,xend=10,y=20,yend=0,arrow=arrow(), color="blue") + 
    geom_text(aes(10, 30, label="Observed \n value"), color = "blue") 

enter image description here

+0

thể trùng lặp của [ggplot2: Có một sửa chữa cho lởm chởm, kém chất lượng văn bản được tạo bởi geom_text()?] (http://stackoverflow.com/questions/10952832/ggplot2-is-there-a-fix-for-jagged-poor-quality-text-produced-by-geom-text) –

+0

Một sửa chữa dễ dàng cho việc này là sử dụng đối số 'check_overlap = TRUE' trong' geom_text' –

Trả lời

21

Sử dụng annotate cho các văn bản cũng như mũi tên:

m + geom_histogram(colour = "blue", fill = "white", binwidth = 0.5) + 
    annotate("segment", x=10,xend=10,y=20,yend=0,arrow=arrow(), color="blue") + 
    annotate("text", x=10, y=30, label="Observed \n value", color = "blue") 

enter image description here


Lý do là geom_text overplots văn bản cho mỗi hàng của dữ liệu trong khung dữ liệu, whe reas annotate chỉ vẽ văn bản một lần. Đó là sự chèn ép này gây ra văn bản in đậm, có dấu sao.

Tôi chắc chắn câu hỏi này đã được trả lời gần đây. Tôi sẽ cố gắng tìm một tài liệu tham khảo: Một câu hỏi tương tự đã được hỏi gần đây:

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