Berlangganan di plot di R

96

Saya tidak dapat menemukan cara bagaimana menulis subskrip dalam judul atau subjudul di R. Bagaimana saya bisa menulis v 1,2 dengan 1,2 sebagai subskrip?

Terima kasih atas bantuan Anda!

jeffrey
sumber

Jawaban:

138

expression apakah temanmu:

plot(1,1, main=expression('title'^2))  #superscript
plot(1,1, main=expression('title'[2])) #subscript
smu
sumber
3
Bagaimana cara memuat "2" dari variabel? Saya memiliki lingkaran dan perlu memplot x_ [1] x_ [2] x_ [3] ...
0x2207
6
Anda dapat menggunakan bquotesaat bekerja dengan variabel yang disubscribe. Katakanlah, nIter <- 2maka plot(1, 1, main = bquote(title[.(nIter)]))apa yang Anda butuhkan (diambil dari milis R-help ).
fdetsch
120

Jika Anda ingin memiliki beberapa subskrip dalam satu teks, gunakan tanda bintang (*) untuk memisahkan bagian:

plot(1:10, xlab=expression('hi'[5]*'there'[6]^8*'you'[2]))
Cyrille
sumber
6
Wow, jawaban dua hari untuk pertanyaan dua tahun, ternyata itulah yang saya butuhkan. Terima kasih!
Michael
3
Dan jika Anda ingin subskrip menjadi string, masukkan saja dalam tanda kutip:plot(1:10, xlab=expression('hi'[5]*'there'[6]^8*'you'['down here']*'and'^'up'*'there'))
Stewart Macdonald
1
Itu tip yang bagus karena Anda bisa meletakkan [digits]atau [characters]atau bahkan [a5]di subskrip tetapi tidak [5a]atau [a a]. Saya baru-baru ini menemukan ini untuk:expression('x'['10sdt'])
Cyrille
28

Lihat? Ekspresi

plot(1:10,main=expression("This is a subscript "[2]))

masukkan deskripsi gambar di sini

Mengejar
sumber
10

Sebuah subskrip dan mengacu pada nilai yang disimpan ...

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))))

masukkan deskripsi gambar di sini

Tony Ladson
sumber
5

Contoh lain, ekspresi berfungsi untuk superskrip negatif tanpa perlu tanda kutip di sekitar angka negatif:

title(xlab=expression("Nitrate Loading in kg ha"^-1*"yr"^-1))

dan Anda hanya perlu * untuk memisahkan bagian seperti yang disebutkan di atas (saat Anda menulis superskrip atau subskrip dan perlu menambahkan lebih banyak teks ke ekspresi setelahnya).

pengguna29609
sumber
1
Terima kasih telah menjelaskan secara eksplisit apa yang * lakukan!
Lalochezia
4

Seperti yang ditunjukkan pengguna lain, kami menggunakan expression(). Saya ingin menjawab pertanyaan asli yang melibatkan koma di subskrip:

Bagaimana saya bisa menulis v 1,2 dengan 1,2 sebagai subskrip?

plot(1:10, 11:20 , main=expression(v["1,2"]))

Juga, saya ingin menambahkan referensi bagi mereka yang ingin menemukan expressionsintaks lengkap dalam Rplotting: Untuk informasi lebih lanjut lihat ?plotmathhalaman bantuan. Berjalan demo(plotmath)akan menampilkan banyak ekspresi dan sintaks yang relevan.

Ingatlah untuk menggunakan *untuk menggabungkan berbagai jenis teks dalam ekspresi.

Berikut beberapa contoh keluaran dari demo(plotmath):

masukkan deskripsi gambar di sini

Megatron
sumber