2012-05-17 44 views
37

Sử dụng đồ họa cơ sở trong R, làm cách nào tôi có thể thêm chữ viết tay vào nhãn trục, như có thể muốn khi vẽ các trục kinh độ và kinh độ trên bản đồ.Sử dụng chữ viết tắt trong nhãn trục R

Hãy xem xét ví dụ sau:

plot(-100:-50, 50:100, type="n", xlab="", ylab="", axes=FALSE) 
axis(1, seq(-100, -50, 10), labels=paste(abs(seq(-100, -50, 10)), "o", "W", sep="")) 
axis(2, seq(50, 100, 10), labels=paste(seq(50,100,10), "o", "N", sep="")) 
box() 

Tạo một khung đẹp xung quanh bản đồ. Nó thậm chí còn đẹp hơn để làm cho ký hiệu bậc cao.

này thường có thể được thực hiện trong các chức năng âm mưu khác như mtext()text() sử dụng expression(paste(...)) hoặc substitute() nhưng làm thế nào để làm điều đó trong trường hợp này?

+2

Liệu ô này (0, xlab = biểu thức (dán ('(SOC [', kgm^-2, '])'^0.25, sep = ''))) 'trả lời câu hỏi của bạn? –

Trả lời

37

Nó hoạt động theo cùng một cách cho trục: parse(text='70^o*N') sẽ nâng cao o dưới dạng siêu văn bản (số *N là đảm bảo rằng N cũng không được nâng lên).

labelsX=parse(text=paste(abs(seq(-100, -50, 10)), "^o ", "*W", sep="")) 
labelsY=parse(text=paste(seq(50,100,10), "^o ", "*N", sep="")) 
plot(-100:-50, 50:100, type="n", xlab="", ylab="", axes=FALSE) 
axis(1, seq(-100, -50, 10), labels=labelsX) 
axis(2, seq(50, 100, 10), labels=labelsY) 
box() 
+0

Đánh dấu văn bản trong các ô là một khu vực tối nghĩa của thực hành R. Nó luôn có vẻ làm tôi rối tung lên. Cảm ơn sự rõ ràng này. Nó sẽ là tuyệt vời nếu ai đó phát triển một chiều sâu hướng dẫn cho việc này. – digitalmaps

+0

Nhân vật nào được sử dụng để chỉ ra một chỉ số? – hendra

+2

@npo: dấu ngoặc vuông (xem '? Plotmath') –

23

Đây là một ví dụ nhanh

plot(rnorm(30), xlab = expression(paste("4"^"th"))) 
+0

Làm thế nào bạn sẽ viết một cái gì đó không có trong siêu phía cuối, như trong "thời điểm thứ tư" mà không superscripting "thời điểm"? – Pertinax

+0

@ TheThunderChimp Xin lỗi vì trả lời rất muộn. Có lẽ bạn đã tìm ra cách để làm điều này, nhưng bạn có thể làm điều này: 'plot (rnorm (30), xlab = expression (dán (" 4 "^" th "," moment ")))' – Alex

2

Các tùy chọn khác trong trường hợp đặc biệt này sẽ được gõ biểu tượng độ: ˚

R dường như xử lý nó tốt. Gõ Option-k trên máy Mac để lấy nó. Không chắc chắn về các nền tảng khác.

+0

không hoạt động đối với các ký hiệu khác như Unicode superscript 7 (http://www.fileformat.info/info/unicode/char/2077/index.htm) – Pertinax

1

@ The Thunder Chimp Bạn có thể tách văn bản theo cách mà một số phần bị ảnh hưởng bởi tập lệnh siêu (hoặc phụ) và các phần khác không thông qua việc sử dụng *. Ví dụ của bạn, với việc tách từ "thời điểm" ra khỏi "số 4" -

plot(rnorm(30), xlab = expression('4'^th*'moment')) 
Các vấn đề liên quan