2012-12-18 22 views
6

Tôi đang âm mưu biểu đồ thanh bằng cách sử dụng đoạn mã sau:Làm cách nào để kiểm soát không gian giữa các thanh?

heights1=c(5,5,4.5,4) 
barplot(heights1, main="Language ", names.arg=c("Hindi R/W", "Speak" , "English 
R/W","Speak"), ylab=" level ", xlab="Language starting with mostly used", 
cex.names=0.8, col=c("darkblue","red")) 

Sản lượng xuất phát như thế này:

enter image description here

Nhưng gì tôi muốn là "Tiếng Hin-ddi R/w" và "Nói "nên kết hợp mà không có bất kỳ khoảng cách nào và sau đó một khoảng trắng đến rồi" Tiếng Anh R/w "và" Nói "nên kết hợp. Làm thế nào để tôi làm điều này?

Trả lời

6

Bạn nên thêm đối số space= vào hàm barplot(), trong đó các số tương ứng với khoảng trắng trước mỗi thanh.

heights1=c(5,5,4.5,4)  
barplot(heights1, main="Language ", names.arg=c("Hindi R/W", "Speak" , "English 
    R/W","Speak"), ylab=" level ", xlab="Language starting with mostly used", 
    cex.names=0.8, col=c("darkblue","red"),space=c(0.2,0,0.2,0)) 

enter image description here

+0

Câu trả lời cho câu hỏi, nhưng (với tôi) không giải quyết vấn đề rằng dữ liệu từ OP hiện không ở định dạng rất hữu ích cho chức năng 'barplot'. – A5C1D2H2I1M1N2O1R2T1

6

Cuộc sống của bạn sẽ dễ dàng hơn nhiều nếu dữ liệu của bạn được định dạng đúng. Hàm barplot lấy đầu vào của vector hoặc matrix. Khi đầu vào là matrix, R có thể sử dụng dimnames để tự động gắn nhãn mọi thứ cho bạn.

Hãy thử điều này:

heights1 = c(5, 5, 4.5, 4) 
barplot(t(matrix(heights1, ncol=2, byrow=TRUE, 
       dimnames=list(c("Hindi", "English"), 
           c("Read/Write", "Speak")))), 
     main="Language ", ylab="Level", 
     xlab="Language starting with mostly used", 
     col=c("darkblue", "red"), 
     beside=TRUE, ylim = c(0, 6), 
     legend.text = TRUE, 
     args.legend = list(x = "topright")) 

enter image description here

Nếu khoảng cách giữa hai nhóm là quá nhiều, sau đó đề nghị bởi @Didzis là thích hợp ở đây quá. Thêm space = c(0, .2) lệnh barplot của bạn, giữ trong tâm trí các chi tiết từ tài liệu:

Nếu height là một ma trận và besideTRUE, space có thể được xác định bởi hai số, trong đó đầu tiên là khoảng cách giữa các thanh trong cùng một nhóm, và thứ hai là không gian giữa các nhóm. Nếu không được đặt rõ ràng, giá trị mặc định là c(0,1) nếu chiều cao là ma trận và bên cạnh là TRUE và đến 0.2 nếu không.

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