Câu trả lời:
expression là bạn của bạn:
plot(1,1, main=expression('title'^2)) #superscript
plot(1,1, main=expression('title'[2])) #subscript
bquotekhi làm việc với các biến được chỉ định. Giả sử, nIter <- 2sau đó plot(1, 1, main = bquote(title[.(nIter)]))chính xác là những gì bạn cần (lấy từ danh sách gửi thư trợ giúp R ).
Nếu bạn đang muốn có nhiều subcript trong một văn bản thì hãy sử dụng dấu sao (*) để tách các phần:
plot(1:10, xlab=expression('hi'[5]*'there'[6]^8*'you'[2]))
plot(1:10, xlab=expression('hi'[5]*'there'[6]^8*'you'['down here']*'and'^'up'*'there'))
[digits]hoặc [characters]hoặc thậm chí [a5]trong chỉ số dưới nhưng không [5a]hay [a a]. Gần đây tôi đã phát hiện ra điều này cho:expression('x'['10sdt'])
Một chỉ số con và tham chiếu đến một giá trị được lưu trữ ...
a <- 10
plot(c(0,1), c(0,1), type = 'n', ann = FALSE, xaxt = 'n', yaxt = 'n')
text(0.2, 0.6, cex = 1.5, bquote(paste('S'['f']*' = ', .(a))))
Một ví dụ khác, biểu thức hoạt động cho các ký tự trên phủ định mà không cần dấu ngoặc kép xung quanh số âm:
title(xlab=expression("Nitrate Loading in kg ha"^-1*"yr"^-1))
và bạn chỉ cần dấu * để tách các phần như đã đề cập ở trên (khi bạn viết chỉ số trên hoặc chỉ số dưới và cần thêm nhiều văn bản vào biểu thức sau).
Như những người dùng khác đã chỉ ra, chúng tôi sử dụng expression(). Tôi muốn trả lời câu hỏi ban đầu liên quan đến dấu phẩy trong chỉ số phụ:
Làm thế nào tôi có thể viết v 1,2 với 1,2 dưới dạng subcript?
plot(1:10, 11:20 , main=expression(v["1,2"]))
Ngoài ra, tôi muốn thêm tài liệu tham khảo cho những người đang tìm kiếm expressioncú pháp đầy đủ trong việc Rvẽ biểu đồ: Để biết thêm thông tin, hãy xem ?plotmathtrang trợ giúp. Chạy demo(plotmath)sẽ hiển thị nhiều biểu thức và cú pháp có liên quan.
Hãy nhớ sử dụng *để nối các loại văn bản khác nhau trong một biểu thức.
Dưới đây là một số kết quả mẫu từ demo(plotmath):