Thay thế trục X bằng các giá trị riêng


95

Tôi có một câu hỏi liên quan đến lô lệnh ().

Có cách nào để loại bỏ hoàn toàn trục x và thay thế nó bằng các giá trị riêng không? Tôi biết rằng tôi có thể thoát khỏi trục bằng cách làm

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

và sau đó thêm một trục với

axis(side = 1 etc.)

Tuy nhiên, khi tôi thêm trục, rõ ràng nó vẫn đề cập đến dữ liệu được vẽ dưới dạng 'x'. Tôi chỉ muốn vẽ các giá trị 'y' và thêm trục x của riêng tôi theo nghĩa chỉ "vẽ" trục x với các giá trị riêng được chỉ định. Có cách nào để làm điều đó?

Cơ sở của câu hỏi này là hai khung dữ liệu của tôi khác nhau về độ dài của chúng và do đó tôi không thể vẽ biểu đồ của chúng.


Bạn có muốn vẽ các vectơ có độ dài khác nhau hay chỉ muốn tự đặt nhãn x? Bạn có thể cung cấp một ví dụ hoặc cung cấp thêm thông tin về datset?
Manoel Galdino

Bạn cũng có thể muốn xem cách kết hợp hai khung dữ liệu với nhau. Bạn có thể tạo nhiều âm mưu hơn từ dữ liệu của mình và có thể làm cho dữ liệu có nhiều thông tin hơn.
Sam ngày



Câu trả lời:


176

Không chắc đó có phải ý bạn không, nhưng bạn có thể làm như sau:

plot(1:10, xaxt = "n", xlab='Some Letters')
axis(1, at=1:10, labels=letters[1:10])

sau đó cung cấp cho bạn biểu đồ:

nhập mô tả hình ảnh ở đây


Cảm ơn Tim! Không chính xác những gì tôi đang tìm kiếm nhưng nó đã giúp tôi thực hiện những gì tôi muốn =)
Dani

5
x và y có cùng độ dài trong trường hợp này. Làm thế nào để bạn vẽ n nhãn khi độ dài của trục còn lại là m?
Colbert Sesanker

2
chỉ để tham khảo: xaxt="n"tùy chọn trong plotlệnh ngăn chặn việc gắn nhãn trục x. Nếu tùy chọn này không được bao gồm, axissẽ là một NOOP.
Steen

Điều này hoạt động, nhưng làm cách nào để xoay nó để nó thẳng đứng? las = 2 không hoạt động.
runningbirds

Tôi đã thử giải pháp. xaxt = "n"tùy chọn hoạt động cho chuỗi thời gian lớp ts. Tuy nhiên, trong trường hợp nhiều chuỗi thời gian (mts-class), nó không hoạt động.
Erdogan CEVHER

14

Yo cũng có thể đặt labels = FALSEbên trong axis(...)và in nhãn trong một lệnh riêng biệt với Văn bản. Với tùy chọn này, bạn có thể xoay văn bản của văn bản trong trường hợp bạn cần

lablist<-as.vector(c(1:10))
axis(1, at=seq(1, 10, by=1), labels = FALSE)
text(seq(1, 10, by=1), par("usr")[3] - 0.2, labels = lablist, srt = 45, pos = 1, xpd = TRUE)

Giải thích chi tiết tại đây

Hình ảnh có nhãn được xoay


Liên kết đến detailed explanationđã chết
javadba
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.