2012-08-02 33 views
46

tôi đang tạo ra một cốt truyện trong R và tôi không thích các giá trị trục x được vẽ bởi R.Làm thế nào để xác định các giá trị x trục thực tế để vẽ như trục x bọ ve trong R

Ví dụ:

x <- seq(10,200,10) 
y <- runif(x) 

plot(x,y) 

này âm mưu một đồ thị với các giá trị sau trên trục X:

50, 100, 150, 200

Tuy nhiên, tôi muốn âm mưu 20 giá trị 10,20, 30 ... 200 lưu trữ trong variab le x, làm giá trị trục X. Tôi đã lùng sục qua vô số các blog và hướng dẫn ngắn gọn - sau nhiều giờ tìm kiếm, gần nhất tôi đã đến để tìm kiếm bất cứ điều gì hữu ích là theo hướng dẫn (tóm tắt):

  1. gọi plot() hoặc par(), xác định lập luận xaxt='n'
  2. gọi axis() ví dụ axis(side = 1, at = seq(0, 10, by = 0.1), labels = FALSE, tcl = -0.2)

Tôi đã thử nó và cốt truyện kết quả không có giá trị trục x nào cả. Có thể ai đó ngoài kia biết cách làm điều này không? Tôi không thể tin rằng không ai từng cố gắng làm điều này trước đây.

Trả lời

66

Bạn sẽ tìm thấy câu trả lời cho câu hỏi của mình trong trang trợ giúp cho ?axis.

Đây là một trong những ví dụ trang trợ giúp, sửa đổi dữ liệu của bạn:

Lựa chọn 1: sử dụng xaxp để xác định trục nhãn

plot(x,y, xaxt="n") 
axis(1, xaxp=c(10, 200, 19), las=2) 

Lựa chọn 2: Sử dụng atseq() để xác định các nhãn :

plot(x,y, xaxt="n") 
axis(1, at = seq(10, 200, by = 10), las=2) 

Cả hai tùy chọn này đều có cùng hình ảnh:

enter image description here


PS. Vì bạn có một số lượng lớn các nhãn, bạn sẽ phải sử dụng các đối số bổ sung để có được văn bản phù hợp trong cốt truyện. Tôi sử dụng las để xoay nhãn.

5

Xem kỹ hơn tài liệu ?axis. Nếu bạn nhìn vào các mô tả về đối số labels, bạn sẽ thấy rằng nó là:

"a logical value specifying whether (numerical) annotations are 
to be made at the tickmarks," 

Vì vậy, chỉ cần thay đổi nó là true, và bạn sẽ nhận nhãn đánh dấu của bạn.

x <- seq(10,200,10) 
y <- runif(x) 
plot(x,y,xaxt='n') 
axis(side = 1, at = x,labels = T) 
# Since TRUE is the default for labels, you can just use axis(side=1,at=x) 

Hãy cẩn thận nếu bạn không kéo dài chiều rộng cửa sổ, thì R không thể viết tất cả nhãn của bạn. Chơi với chiều rộng cửa sổ và bạn sẽ hiểu ý tôi.


Thật tệ khi bạn gặp khó khăn khi tìm tài liệu! Cụm từ tìm kiếm của bạn là gì?Thử nhập r axis vào Google và liên kết đầu tiên bạn sẽ nhận được là Quick R page that I mentioned earlier. Cuộn xuống "Trục" và bạn sẽ nhận được một hướng dẫn rất nhỏ về cách thực hiện. Bạn có lẽ nên kiểm tra có đầu tiên cho bất kỳ câu hỏi âm mưu, nó sẽ được nhanh hơn so với chờ đợi một trả lời SO.

+2

cẩn thận. 'T' không phải lúc nào cũng là' TRUE'. Tốt hơn là chỉ định 'nhãn = TRUE'. Ngoài ra, kết quả tìm kiếm của Google sẽ tùy thuộc vào lịch sử tìm kiếm của bạn. Để biết các mẹo về cách tìm kiếm [tag: r], xem [how-to-search-for-r-materials] (http://stackoverflow.com/questions/102056/how-to-search-for-r- nguyên vật liệu) – Andrie

0

Hope mã hóa này sẽ giúp bạn :)

plot(x,y,xaxt = 'n') 

axis(side=1,at=c(1,20,30,50),labels=c("1975","1980","1985","1990")) 
Các vấn đề liên quan