Saya sering bekerja dengan ggplot2
itu membuat gradien bagus ( klik di sini untuk contoh ). Saya memiliki kebutuhan untuk bekerja di basis dan saya pikir scales
dapat digunakan di sana untuk membuat gradien warna juga tetapi saya sangat melenceng tentang caranya. Tujuan dasarnya adalah menghasilkan palet warna n yang berkisar dari warna x ke warna y. Solusinya perlu bekerja di basis. Ini adalah titik awal tetapi tidak ada tempat untuk memasukkan n.
scale_colour_gradientn(colours=c("red", "blue"))
Saya sangat menyadari:
brewer.pal(8, "Spectral")
dari RColorBrewer
. Saya mencari lebih banyak untuk pendekatan yang mirip dengan bagaimana ggplot2
menangani gradien yang mengatakan saya memiliki dua warna ini dan saya ingin 15 warna di sepanjang jalan. Bagaimana saya bisa melakukan itu?
base
secara khusus, tetapi saya merasacolourvalues
( juga di CRAN ) sangat nyaman untuk memetakan nilai ke gradien. Ini juga cukup ringan (tergantungRcpp
).Jawaban:
colorRampPalette
bisa menjadi temanmu di sini:Dan hanya untuk menunjukkan bahwa itu berhasil:
sumber
brewer.pal(8, "Spectral")
, Anda dapat memberikan vektor warna yangcolorRampPalette
dihasilkan untuk menghasilkan lebih banyak warna di sepanjang jalan itu. Sebagai contoh:colorRampPalette(brewer.pal(8, "Spectral"))
.Hanya untuk memperluas jawaban sebelumnya
colorRampPalette
dapat menangani lebih dari dua warna.Jadi untuk tampilan jenis "peta panas" yang lebih diperluas, Anda dapat ....
Gambar yang dihasilkan:
sumber
Coba yang berikut ini:
sumber
Jawaban di atas berguna tetapi dalam grafik, sulit untuk membedakan antara gradien hitam yang lebih gelap. Salah satu alternatif yang saya temukan adalah dengan menggunakan gradien warna abu-abu sebagai berikut
Info lebih lanjut tentang skala abu-abu di sini.
Ditambahkan
Ketika saya menggunakan kode di atas untuk berbagai warna seperti biru dan hitam, gradiennya tidak begitu jelas.
heat.colors()
sepertinya lebih berguna.Dokumen ini memiliki informasi dan opsi yang lebih rinci. pdf
sumber