Cách đặt giá trị trên các thanh trong barplot trong R [đã đóng]


16

Câu hỏi này liên quan đến câu hỏi trước đây của tôi . Tôi muốn đặt các giá trị trên các thanh trong barplot. Tôi là người mới bắt đầu âm mưu ở R.

Câu trả lời:


16

Để thêm văn bản vào một cốt truyện, chỉ cần sử dụng textlệnh. Từ câu trả lời của @ chl cho câu hỏi trước của bạn:

##Create data
x = replicate(2, sample(letters[1:2], 100, rep=T))
apply(x, 2, table)

##Create plot
barplot(matrix(c(5, 3, 8, 9), nr=2), beside=TRUE, 
        col=c("aquamarine3", "coral"), 
        names.arg=LETTERS[1:2], 
        ylim=range(0,12)))

##Add text at coordinates: x=2, y=6
##Use trial and error to place them 
text(2, 6, "A label")
text(5, 10, "Another label")

văn bản thay thế


3
Tôi thực sự không hiểu tại sao tùy chọn này được thêm vào hist()( labels=T) mà không barplot().
chl

7

Một ví dụ khác về việc sử dụng textlệnh

u <- c(3.2,6.6,11.7,16.3,16.6,15.4,14.6,12.7,11.4,10.2,9.8,9.1,9.1,9.0,8.8,8.4,7.7)
p <-c(3737,3761,3784,3802,3825,3839,3850,3862,3878,3890,3901,3909,3918,3926,3935,3948)
     -c(385,394,401,409,422,430,434,437,437,435,436,437,439,442,447,452)
e <- c(2504,2375,2206,2071,2054,2099,2127,2170,2222,2296,2335,2367,2372,2365,2365,2401)

par(mar=c(2,3,1,2),las=1,mgp=c(2.2,1,0))
x <- barplot(u,names.arg=1990:2006,col="palegreen4",space=.3,ylim=c(0,20),
              ylab="%",xaxs="r",xlim=c(.8,21.6))
text(x,u+.4,format(u,T))
lines(x[-17],100*e/p-55,lwd=2)
points(x[-17],100*e/p-55,lwd=2,cex=1.5,pch=1)
axis(4,seq(0,20,5),seq(55,75,5))
text(c(x[1]+1,x[5],x[16]+1),c(100*e/p-55)[c(1,5,16)]+c(0,-1,0),
      format(c(100*e/p)[c(1,5,16)],T,di=3))
box()

1
(+1) Đây là cách khó khăn :) Tôi thích nó.
chl

3

Nếu bạn đang học cách vẽ đồ thị trong R, bạn có thể nhìn vào thư viện đồ thị R (bản gốc ở đây ).

Tất cả các biểu đồ ở đó được đăng với mã được sử dụng để xây dựng chúng. Đó là một nguồn tài nguyên tốt.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.