Saya menggunakan plotrix
dalam R
untuk merencanakan peta tingkat negara AS. Ini memiliki fungsi yang sangat baik floating.pie
untuk meletakkan diagram lingkaran di setiap negara bagian.
Saya bertanya-tanya apakah ada fungsi serupa dalam plotrix
paket untuk menampilkan diagram batang di setiap negara? (Saya melihat dokumentasi dan fungsi-fungsi yang berhubungan dengan bar chart sepertinya tidak memiliki kemungkinan ini, tetapi saya hanya ingin memastikan.) Saya lebih suka bekerja dalam paket plotrix jika mungkin, tetapi merasa bebas untuk menyebutkan nama paket lainnya.
Sebagai contoh, saya akan tertarik untuk menghasilkan peta yang mirip dengan ini (tetapi untuk AS):
Untuk peta AS saya, akan ada 50 grafik batang, satu untuk setiap negara bagian.
Saya mendapatkan peta ini dari /programming/20465070/barplots-on-a-map , tetapi tampaknya ggsubplot tidak berfungsi pada versi R saya (mirip dengan apa yang orang lain katakan di pos ).
sumber
ggsubplot
paket, tetapi sekarang sudah usang dan tidak akan berfungsi (seperti yang Anda sebutkan). Mungkin posting ini bisa menjadi titik awal: stackoverflow.com/questions/36063043/…Jawaban:
Saya tahu saya benar-benar terlambat dengan ini, tetapi saya pikir saya telah menemukan solusi yang agak sederhana.
Jika Anda melihat-lihat kode sumber
floating.pie()
(misalnya dengan menelepongetAnywhere(floating.pie)
), Anda akan melihat bahwa itu menggunakan pendekatan yang sangat sederhana namun efektif: menggambar segmen pai sebagai poligon. Jika yang Anda inginkan dari diagram batang adalah bilah (tanpa label, sumbu, dll.), Anda dapat mengikuti pendekatan yang sama dan menulis fungsi Anda sendiri. Ini versi cepat dan kotor:x
adalah untuk nilai-nilai yang diwakili oleh barxllc
danyllc
tentukan posisi sudut kiri bawah bilah kiri dalam sistem koordinat apa pun yang Anda gunakanbarwidth
danmaxheight
digunakan untuk menskalakan ukuran barBerikut ini demo dengan
sp
plot dasar . Saya tidak berpikir saya pernah bekerja denganplotrix
sebelumnya, tetapi berdasarkan pada carafloating.pie
kerjanya, saya berasumsi bahwa ini juga harus bekerjaplotrix
.Hasilnya terlihat seperti ini:
sumber
mapbars
ini didefinisikan dalam blok kode besar pertama, di mana dikatakanmapbars <- function (x, xllc = 0, ...
. Anda harus menjalankan seluruh bagian kode terlebih dahulu, untuk "mengajarkan" R perintah baru.ggplot2 dan ggvis adalah dua perpustakaan yang dapat membantu Anda untuk menampilkan plot di peta. Di ggplot2 Anda dapat memplot gelembung pada peta dan kemudian Anda hanya perlu memberikan aes () koordinat yang tidak ada hubungannya dengan ukuran dan warna gelembung. Mengenai bagan batang, Anda harus menetapkan setidaknya 2 pasang x dan y, satu untuk lokasi bagan batang dan yang lainnya untuk tinggi dan lebar bagan batang. Dengan kata lain, Anda perlu mengetahui koordinat 4 sudut untuk sebuah bar.
sumber