Membuat palet bentuk baru di ggplot2 dan grafik R lainnya

Saya ingin menentukan palet bentuk saya sendiri untuk ggplot2 setidaknya sebagai vektor untuk masukan ke scale_shape_manual. Saya sangat menyukai palet bentuk berpasangan dari JMP, tetapi saya perhatikan R tidak memiliki beberapa bentuk ini. Khususnya, segitiga menyamping (misalnya |> atau <|) atau segitiga terbalik yang terisi (misalnya \/) tidak ada. Apakah ini tersedia di mana saja? Jika tidak, bagaimana cara menentukan bentuk tambahan ini dan apakah ada cara agar ggplot2 menggunakannya dalam plot?


person wdkrnls    schedule 09.06.2015    source sumber


Jawaban (1)


Anda dapat membuat palet bentuk Anda sendiri dengan menentukan nilai Unicode untuk karakter yang Anda inginkan. Anda dapat menemukan nilai Unicode untuk berbagai bentuk geometris di sini. Misalnya:

library(ggplot2)

ggplot(mtcars[mtcars$carb %in% 1:4,], 
       aes(wt, mpg, shape=factor(carb), colour=factor(carb))) +
  geom_point(size=5) +
  scale_shape_manual(values=c("\u25BA","\u25C4","\u25BC","\u25B2"))

masukkan deskripsi gambar di sini

Anda tentu saja dapat menggunakan karakter Unicode dalam grafik dasar juga:

with(mtcars, plot(wt, mpg, pch="\u25BC"))

Tidak semua karakter Unicode ditampilkan dengan benar. Saya tidak yakin kenapa, tapi mungkin ada hubungannya dengan font mana yang telah Anda instal.

person eipi10    schedule 09.06.2015
comment
Terkait dengan itu, saya telah menemukan dua paket untuk membantu dengan simbol, font, dan emoji khusus: cran.r-project.org/web/packages/emojifont/vignettes/ (penulis Y.X. Qiu) dan github.com/dill/emoGG/issues (penulis D.L.Miller) - person PatrickT; 08.05.2016
comment
Saya baru memperhatikan bahwa, di sistem saya, simbol merah dan hijau tidak muncul di konsol R (dan tidak dicetak dalam PDF), sementara simbol tersebut muncul di konsol RStudio, tetapi tidak satu pun dari 4 simbol tersebut muncul dicetak, bahkan dengan perangkat cairo_pdf atau cairo_ps... satu-satunya pilihan sejauh ini adalah mencetak sebagai PNG. - person PatrickT; 08.05.2016
comment
@PatrickT Saya juga memperhatikan ini. Dalam beberapa kasus, Anda bisa memunculkan simbol dengan menentukan tampilan font yang berbeda. Berikut contoh tempat saya melakukan itu. extrafont paket berguna untuk menambahkan font baru. - person eipi10; 08.12.2016
comment
Terima kasih eipi10, sangat berguna! - person PatrickT; 08.12.2016