Kategori saya perlu diberi nama dengan huruf Yunani. Saya menggunakan ggplot2
, dan ini bekerja dengan baik dengan data. Sayangnya saya tidak dapat menemukan cara untuk meletakkan simbol-simbol yunani tersebut pada sumbu x (pada tanda centang) dan juga membuatnya muncul di legenda. Apakah ada cara untuk melakukannya?
PEMBARUAN: Saya telah melihat tautannya , namun, tidak ada metode bagus yang dijelaskan untuk mencapai apa yang ingin saya lakukan.
expression
fungsi di sini: stackoverflow.com/questions/1395105/getting-latex-into-r-plotsviewports
dari ggplot2. Jika itu bisa dilakukan, saya yakin bahwa mengubah tanda x-tic akan langsung dilakukan.latex2exp
paket: cran.r-project.org/web/packages/latex2exp/vignettes/…Jawaban:
Berikut ini tautan ke wiki yang luar biasa yang menjelaskan cara meletakkan simbol yunani di ggplot2. Singkatnya, inilah yang Anda lakukan untuk mendapatkan simbol yunani
parse = T
di dalamgeom_text
atauannotate
.expression(alpha)
untuk mendapatkan alfa yunani.labeller = label_parsed
di dalamfacet
.bquote(alpha == .(value))
di label legenda.Anda dapat melihat penggunaan detail dari opsi ini di tautan
EDIT. Tujuan penggunaan simbol yunani di sepanjang tanda centang dapat dicapai sebagai berikut
Untuk dokumentasi lengkap tentang berbagai simbol yang tersedia saat melakukan ini dan cara menggunakannya, lihat
?plotmath
.sumber
substitute
, ini juga berfungsi di tempat-tempat di manaexpression
tidak berfungsi, dan bahkan memungkinkan pemformatan lain sepertiitalics
,bold
dll.Solusi paling sederhana: Gunakan Karakter Unicode
Tidak ada
expression
atau paket lain yang dibutuhkan.Tidak yakin apakah ini adalah fitur yang lebih baru untuk ggplot, tetapi berfungsi. Itu juga memudahkan untuk mencampur teks Yunani dan biasa (seperti menambahkan '*' ke tanda centang)
Cukup gunakan karakter unicode dalam string teks. tampaknya berfungsi dengan baik untuk semua opsi yang dapat saya pikirkan. Edit: sebelumnya tidak berfungsi di label faset. Ini rupanya telah diperbaiki di beberapa titik.
Dibuat pada 2019-08-28 oleh paket reprex (v0.3.0)
sumber
expression
ataubquote
- Anda berakhir dengan objek karakter yang dapat Anda gunakan dengan cara lain Anda menggunakan objek karakter.Warning message in grid.Call(C_textBounds, as.graphicsAnnot(x$label), x$x, x$y, : “conversion failure on '>3σ' in 'mbcsToSbcs': dot substituted for <cf>
Gunakan di
expression(delta)
mana 'delta' untuk huruf kecilδ
dan 'Delta' untuk mendapatkan modalΔ
.Berikut daftar lengkap karakter Yunani:
EDIT: Disalin dari komentar, saat digunakan bersama dengan kata lain, gunakan seperti:
expression(Delta*"price")
sumber
Δprice
?expression(Deltaprice)
tidak berfungsi, juga tidakexpression(Delta price)
xlab(expression(Delta)price)
memberikan kesalahanAnda tidak perlu
latex2exp
paket tersebut untuk melakukan apa yang ingin Anda lakukan. Kode berikut akan melakukan triknya.Juga, beberapa komentar (belum terjawab pada poin ini) menanyakan tentang memberi tanda bintang (*) setelah huruf Yunani.
expression(alpha~"*")
bekerja, jadi saya sarankan untuk mencobanya.Lebih banyak komentar tentang mendapatkan
Δ Price
dan saya menemukan cara paling mudah untuk mencapainya adalahexpression(Delta~price))
. Jika Anda perlu menambahkan sesuatu sebelum huruf Yunani, Anda juga bisa melakukan ini:expression(Indicative~Delta~price)
yang memberi Anda:sumber