Plot ini menampilkan tabel kontingensi dua arah yang datanya sekitar ini:
Branded Unbranded Social Referring Direct RSS
First-time... 177276 472737 88638 265915 472737 59092
Return Visits... 236002 629339 118001 354003 629339 78667
4+ Visits in ... 166514 444037 83257 249771 444037 55505
10+ Visit in ... 28782 76751 14391 43172 76751 9594
At Least One Visit... 6707 17886 3354 10061 17886 2236
Last Touch... 660 1759 330 989 1759 220
Ada banyak cara untuk membangun plot ini. Misalnya, Anda dapat menghitung posisi setiap patch warna persegi panjang dan secara terpisah menempelkan setiap patch. Namun, secara umum, ini membantu untuk menemukan deskripsi singkat tentang bagaimana suatu plot merepresentasikan data.
Sebagai titik tolak, kita dapat melihat yang ini sebagai variasi dari bagan batang yang ditumpuk.
Plot ini hampir tidak membutuhkan deskripsi: melalui keakraban kita tahu bahwa setiap baris persegi panjang sesuai dengan setiap baris tabel kontingensi; bahwa panjang persegi panjang berbanding lurus dengan jumlah mereka; bahwa mereka tidak tumpang tindih; dan bahwa warnanya sesuai dengan kolom tabel.
Jika kita mengonversi tabel ini menjadi "kerangka data" atau "tabel data" memiliki satu baris per hitungan dengan bidang yang menunjukkan nama baris, nama kolom, dan jumlah, maka memplotnya biasanya sama dengan memanggil fungsi yang sesuai dan menentukan di mana menemukan nama baris, nama kolom, dan jumlah. Menggunakan implementasi Grammar of Graphics ( paket untuk ) ini akan terlihat sepertiXggplot2
R
ggplot(X, aes(Outcome, Count, fill=Referral)) + geom_col()
Detail grafik, seperti seberapa lebar baris balok dan warna apa yang digunakan, biasanya perlu ditetapkan secara eksplisit. Cara melakukannya tergantung pada lingkungan yang merencanakan (dan begitu juga dengan minat yang relatif kecil: Anda hanya perlu mencarinya).
Implementasi khusus dari Grammar of Graphics ini memberikan sedikit fleksibilitas dalam memposisikan bar. Salah satu cara untuk menghasilkan tampilan yang diinginkan, dengan sedikit usaha, adalah memasukkan kategori yang tidak terlihat di dasar setiap batang sehingga batang berada di tengah. Sedikit pemikiran menunjukkan jumlah palsu yang dibutuhkan untuk memusatkan setiap batang harus menjadi rata-rata panjang total batang dan dari batang terpanjang. Untuk contoh ini, ini akan menjadi kolom awal dengan nilai
254478.0 0.0 301115.0 897955.0 993610.5 1019817.0
Berikut adalah bagan batang yang ditumpuk yang menunjukkan data palsu berwarna abu-abu terang:
Angka yang diinginkan dibuat dengan membuat grafik untuk kolom palsu tidak terlihat:
Grammar of Graphics description dari plot tidak perlu diubah: kami hanya menyediakan tabel kontingensi berbeda yang akan diberikan sesuai dengan deskripsi yang sama (dan mengesampingkan penetapan warna default untuk kolom palsu).
Komentar
Grafik ini jujur: tingkat horizontal setiap tambalan berwarna berbanding lurus dengan data yang mendasarinya, tanpa distorsi. Membandingkannya dengan yang asli (dalam pertanyaan) mengungkapkan betapa ekstremnya distorsi ( Faktor Lie Tufte ).
Jika diinginkan untuk menampilkan detail di bagian bawah "corong," pertimbangkan untuk mewakili penghitungan menurut wilayah daripada panjang. Anda bisa membuat panjang batang sebanding dengan akar kuadrat dari total panjang dan lebarnya (dalam arah vertikal) juga sebanding dengan akar kuadrat. Sekarang bagian bawah "corong" akan sekitar satu-dua puluh panjang terpanjang, daripada satu per empat ratus, memungkinkan beberapa detail untuk ditampilkan. Sayangnya, ggplot2
implementasi tidak memungkinkan seseorang untuk memetakan variabel dengan lebar bar, dan karenanya diperlukan kerja-sekitar (yang memang menggambarkan masing-masing persegi panjang secara individual). Mungkin ada implementasi Python yang lebih fleksibel.
Referensi
Edward Tufte, Tampilan Visual Informasi Kuantitatif . Cheshire Press 1984.
Leland Wilkinson, The Grammar of Graphics. Springer 2005.