2012-05-23 31 views
7

Hãy xem xét ví dụ sau:Spacing trong nhãn trục khi sử dụng biểu thức (dán (...))

plot(c(2,4,6)~c(1,2,3),xlab="x", 
ylab=expression(paste('flux (g ',CO[2]~m^{-2}~h^{-1},')'))) 

Rõ ràng là tôi muốn có một không gian đầy đủ giữa "g" và "Công ty", nhưng đối với một số lý do tôi có được một không gian nhỏ hơn (với một số nhãn thậm chí là 0) trong nhãn biểu đồ.

Vấn đề là thậm chí rõ ràng hơn, nếu tôi làm điều đó như thế này:

plot(c(2,4,6)~c(1,2,3),xlab="x", 
ylab=expression(paste('flux (g C',O[2]~m^{-2}~h^{-1},')'))) 

Tôi có làm điều gì sai? Có cách nào để sửa chữa khoảng cách hoặc thậm chí là một cách tốt hơn để tạo nhãn với rất nhiều phụ/superscripts và chữ Hy Lạp?

+1

là 'ylab = expression (" flux "~ (g ~ CO [2] ~ m^{- 2} ~ h^{- 1}))) 'tốt hơn? (có nghĩa là: tại sao bạn sử dụng dán?) – baptiste

+0

không, nó không tốt hơn bởi vì sau đó không gian sau khi thông lượng quá nhỏ. – Roland

+0

dunno, có vẻ như với tôi rằng khoảng cách là chính xác. Hãy thử cho chúng tôi biết hệ điều hành, thiết bị đồ họa và ảnh chụp màn hình của bạn. Ngoài ra, hãy xem nếu sau đây cho thấy tăng khoảng cách: 'thư viện (lưới); grid.text (biểu thức (thông lượng * (g ~ CO [2] ~ m^{- 2} ~ h^{- 1}), thông lượng ~ (g ~ CO [2] ~ m^{- 2} ~ h^{-1}), thông lượng ~~ (g ~ CO [2] ~ m^{- 2} ~ h^{- 1})), y = đơn vị (0,5, "npc") + đơn vị (0: 2, "dòng")) nền tảng ' – baptiste

Trả lời

7

Trong mọi khả năng bạn nhận được "khoảng trống" chính xác về kiểu chữ, trong phông chữ mà hệ điều hành của bạn sử dụng cho màn hình không phải serif. Bạn có thể thay đổi phông chữ hoặc bạn có thể chèn khoảng trống đó là đủ để tổ chức một chuỗi ký tự đặc biệt với plotmath phantom():

plot(c(2,4,6)~c(1,2,3),xlab="x", 
    ylab=expression(paste('flux',phantom(x),'(g ',CO[2]~m^{-2}~h^{-1},')'))) 

Hoặc như @baptiste chỉ ra điều này có thể được thực hiện mà không plomath paste sử dụng dải phân cách plotmath bình thường vì một dấu ngã trong biểu thức R đúng được xử lý dưới dạng "khoảng trắng":

 ylab=expression(flux*phantom(x)*(g~CO[2]~m^{-2}~h^{-1}))) 
Các vấn đề liên quan