Praktik terbaik apa yang harus saya ikuti saat menyiapkan plot?

40

Saya biasanya membuat pilihan istimewa saya sendiri ketika menyiapkan plot. Namun, saya bertanya-tanya apakah ada praktik terbaik untuk menghasilkan plot.

Catatan: Komentar Rob untuk jawaban atas pertanyaan ini sangat relevan di sini.

pengguna28
sumber

Jawaban:

23

Prinsip Tufte adalah praktik yang sangat baik saat menyiapkan plot. Lihat juga bukunya Beautiful Evidence

Prinsip-prinsip tersebut meliputi:

  • Pertahankan rasio data-tinta yang tinggi
  • Hapus bagan sampah
  • Berikan beberapa fungsi elemen grafis
  • Ingat kepadatan data

Istilah untuk mencari adalah Visualisasi Informasi

Peter Smit
sumber
4
Tampilan Visual Informasi Kuantitatif Tufte ( amazon.com/o/ASIN/0961392142/ref=nosim/gettgenedone-20 ) lebih baik daripada IMO Bukti Indah. Keempat bukunya bagus, dan jika Anda memiliki kesempatan untuk menghadiri salah satu kursusnya, lakukanlah.
Stephen Turner
5
Saya setuju dengan sebagian besar dari apa yang dikatakan Tufte, tetapi saya harus mengatakan, datanya yang rendah: plot - plot kotak tinta benar -benar bodoh. Saya pikir mereka membutuhkan waktu 3-4 kali lebih lama untuk mencari tahu daripada plot kotak standar. Default R jauh lebih baik (meskipun garis di ujung ekor tidak perlu). Plot kotak tradisional memiliki keunggulan tambahan yang dapat mewakili ukuran sampel (dengan lebar), dan standar deviasi (dengan takik).
naught101
2
+1 @ naught101 beberapa orang lain membagikan pendapat ini di SO: stackoverflow.com/questions/6973394/…
Ben
15

Kita bisa tinggal di sini sepanjang hari untuk menunjukkan praktik terbaik, tetapi Anda harus mulai dengan membaca Tufte. Rekomendasi utama saya:

Tetap sederhana.

Seringkali orang mencoba memuat grafik mereka dengan informasi. Tetapi Anda harus benar-benar hanya memiliki satu ide utama yang ingin Anda sampaikan dan jika seseorang tidak segera menerima pesan Anda, maka Anda harus memikirkan kembali bagaimana Anda telah menyampaikannya. Jadi jangan mulai mengerjakan bagan Anda sampai pesannya sendiri jelas. Pisau cukur Occam juga berlaku di sini.

Shane
sumber
1
Saya setuju dengan sebagian besar poin ini, tetapi saya pikir "Tetap sederhana." bisa jadi tidak jelas. Poin utama Anda adalah Anda harus tahu apa yang ingin disampaikan oleh grafik. "Sederhana saja." memunculkan beberapa ide lain, seperti "Data: rasio tinta harus tinggi.", yang didorong oleh Tufte, dan "Presentasikan tidak lebih dari tiga variabel.", yang tidak disarankan oleh Tufte.
Thomas Levine
Jelas saran ini jauh lebih baik daripada yang sebaliknya. Tetapi ada situasi di mana grafik harus rumit dan membutuhkan studi yang terperinci, hati-hati, dan bijaksana. Tetapi komplikasi itu sendiri harus sesederhana mungkin. Sebagai contoh, 25 plot dalam matriks 5 x 5 mungkin memerlukan studi yang berkepanjangan, tetapi gagasan bahwa masing-masing menunjukkan hanya beberapa data yang relatif mudah dipahami.
Nick Cox
12

Salah satu aturan praktis yang tidak selalu saya ikuti tetapi yang kadang-kadang bermanfaat adalah memperhitungkan bahwa kemungkinan plot Anda pada suatu saat nanti akan terjadi.

  • dikirim melalui faks,
  • difotokopi, dan / atau
  • direproduksi dalam warna hitam-putih.

Anda perlu mencoba dan membuat plot Anda cukup jelas sehingga meskipun mereka tidak tepat direproduksi di masa depan, informasi yang ingin disampaikan plot masih dapat terbaca.

Thomas Levine
sumber
14
Saya pikir maksud Anda dikirim melalui faks di beberapa titik di masa lalu ;)
Hadley
+1 untuk ini. Plot seminal Anda, inti dari makalah Anda, seharusnya sama sekali tidak dapat dipahami karena saya mencetaknya.
Fomite
jawaban ini membahas masalah yang sama.
naught101
8

Selain menyampaikan pesan yang jelas, saya selalu mencoba mengingat plotnya:

  • ukuran font untuk label dan legenda harus cukup besar, lebih disukai ukuran font dan font yang sama yang digunakan dalam publikasi akhir.
  • linewidths harus cukup besar (garis 1 pt cenderung menghilang jika plot hanya menyusut sedikit). Saya mencoba untuk pergi ke linewidths dari 3 hingga 5 pt.
  • jika memplot banyak dataset / kurva dengan warna pastikan bahwa mereka dapat dipahami jika dicetak hitam-putih, misalnya dengan menggunakan simbol atau garis yang berbeda di samping warna.
  • selalu menggunakan format lossless (atau mendekati lossless), misalnya format vektor seperti pdf, ps atau svg atau png atau gif resolusi tinggi (jpeg tidak berfungsi sama sekali dan tidak pernah dirancang untuk seni garis).
  • menyiapkan gambar dalam aspek rasio akhir untuk digunakan dalam publikasi. Mengubah rasio aspek nantinya dapat memberikan bentuk huruf atau simbol yang menjengkelkan.
  • selalu hapus kekacauan yang tidak berguna dari program merencanakan seperti informasi histogram yang tidak digunakan, garis tren (hampir tidak berguna) atau judul default.

Saya telah mengkonfigurasi perangkat lunak plot saya (matplotlib, ROOT atau root2matplotlib) untuk melakukan sebagian besar hak ini secara default. Sebelum saya menggunakan gnuplotyang membutuhkan perawatan ekstra di sini.

Benjamin Bannier
sumber
8

Dalam bidang fisika ada aturan bahwa seluruh makalah / laporan harus dapat dipahami hanya dari melihat sekilas plot. Jadi saya terutama akan menyarankan bahwa mereka harus jelas.
Ini juga menyiratkan bahwa Anda harus selalu memeriksa apakah audiens Anda akrab dengan semacam plot - Saya pernah membuat kesalahan besar dengan asumsi bahwa setiap ilmuwan tahu apa itu boxplots, dan kemudian membuang waktu satu jam untuk menjelaskannya.

pengguna88
sumber
Simpati pada pengalaman plot kotak, tetapi yang tersirat adalah (a) penggunaan varian yang relatif sederhana (misalnya menunjukkan median, kuartil, 5% dan 95% poin dan semua poin data di luar) daripada menunjukkan apa pun berdasarkan konvensi yang berpusat pada 1,5 IQR; (B) menambahkan konvensi membuat keterangan teks eksplisit.
Nick Cox
6

Berikut adalah panduan saya, berdasarkan kesalahan paling umum yang saya lihat (selain semua poin bagus lainnya yang disebutkan)

  • Gunakan grafik pencar, bukan plot garis, jika urutan elemen tidak relevan.
  • Saat menyiapkan plot yang akan dibandingkan, gunakan faktor skala yang sama untuk semuanya.
  • Bahkan lebih baik - temukan cara untuk menggabungkan data dalam satu grafik (misalnya: boxplots lebih baik daripada beberapa histogram untuk membandingkan sejumlah besar distribusi).
  • Jangan lupa untuk menentukan unit
  • Gunakan legenda hanya jika Anda harus - umumnya lebih jelas untuk memberi label kurva secara langsung.
  • Jika Anda harus menggunakan legenda, pindahkan ke dalam plot, di area kosong.
  • Untuk grafik garis, bertujuan untuk rasio aspek yang menghasilkan garis yang kira-kira pada 45o dengan halaman .
Bossykena
sumber
"boxplots lebih baik daripada beberapa histogram untuk membandingkan sejumlah besar distribusi" - ini hanya berlaku jika data Anda unimodal, dan tidak memiliki kurtosis atau beberapa fitur lain yang tidak dapat ditangkap oleh boxplots ..
naught101
6

Lihatlah perpustakaan grafis R, ggplot2. Detail ada di halaman web http://had.co.nz/ggplot2/ Paket ini menghasilkan plot standar yang sangat baik, yang mengikuti prinsip Tufte, pedoman Cleveland dan paket warna Ihaka.

Visnut
sumber
6

Jika memplot dalam warna, pertimbangkan bahwa orang yang buta warna mungkin mengalami kesulitan membedakan elemen dengan warna saja. Begitu:

  • Gunakan gaya garis untuk membedakan garis.
  • Gunakan bobot ekstra dalam elemen, buat linewidth setidaknya 2 pt, dll.
  • Gunakan spidol yang berbeda serta warna untuk membedakan titik.
  • Gunakan label dan anotasi, mengacu pada posisi dan gaya juga.
  • Ketika mengacu pada elemen plot dalam teks, jelaskan dengan warna, posisi relatif dan gaya: "kurva merah, atas, garis putus-putus"
  • Gunakan palet ramah buta warna. Lihat http://www.vischeck.com/vischeck/ ,, http://jfly.iam.u-tokyo.ac.jp/color/#pallet . Saya memiliki implementasi python sederhana dari palet di referensi terakhir di code.google.com, cari python-cudtools
Andrej Panjkov
sumber
Juga pertimbangkan fakta bahwa seseorang mungkin harus mencetaknya pada printer skala abu-abu. Saya telah melakukan ini sebelumnya - saya menggunakan warna default ggplot2 (yang terlihat bagus di layar) untuk tugas, yang kemudian saya cetak hitam dan putih, dan setengah dari warna tidak dapat dibedakan dari yang lain! * blush *
naught101
4

Ini adalah saran yang bagus. Kami telah mengumpulkan banyak materi di http://biostat.mc.vanderbilt.edu/StatGraphCourse . Sekelompok ahli statistik dalam industri farmasi, akademisi, dan FDA juga menciptakan sumber daya yang akan sangat berguna untuk uji klinis dan penelitian terkait. Banyak materi baru akan diluncurkan dalam satu bulan tetapi banyak sudah ada di sana - http://www.ctspedia.org/do/view/CTSpedia/PageOneStatGraph

Buku grafis favorit pribadi saya adalah Elements of Graphing Data oleh William Cleveland.

Dalam hal perangkat lunak, menurut saya sulit untuk mengalahkan paket ggplot2 dan kisi R. Stata juga mendukung beberapa grafik yang luar biasa.

Frank Harrell
sumber
3

Itu juga tergantung di mana Anda tidak ingin mempublikasikan plot Anda. Anda akan menghemat banyak masalah dengan berkonsultasi dengan panduan untuk penulis sebelum membuat plot untuk jurnal.

Simpan juga plot dalam format yang mudah dimodifikasi atau simpan kode yang Anda gunakan untuk membuatnya. Kemungkinannya adalah Anda perlu melakukan koreksi.

Matti Pastell
sumber
2

Jawaban lainnya terlalu rumus untuk meyakinkan, jadi izinkan saya memberikan jawaban yang lebih umum. Saya telah berjuang dengan pertanyaan ini untuk sementara waktu. Saya menawarkan proses ini:

  1. Ketahui pesan Anda
  2. Kenali audiens Anda
  3. Ketahui kendala Anda
  4. Sesuaikan pesan Anda dengan audiens Anda mengingat kendala Anda

Saya skeptis terhadap klaim selimut seperti "tetap sederhana" - apa artinya itu? Ya, itu tergantung penontonnya. Beberapa audiens akan memakan gaya Tufte. Tetapi beberapa penonton menghargai sedikit bagan sampah sekarang dan kemudian. Beberapa orang bosan dengan sebaran plot. Beberapa orang menyukai latar belakang berwarna-warni. Apakah salah jika melibatkan mereka sedikit bahkan jika Anda membahayakan kemurnian "estetika"? Terserah Anda untuk memutuskan.

Reaksi audiens Anda akan menjadi bagian penting dari umpan balik, tetapi bukan satu-satunya. Jika Anda menemukan cara untuk mengukur pemahaman mereka sebelum dan setelah presentasi Anda, maka Anda akan mulai memahami dampak yang Anda buat.

Jawaban "benar" akan tergantung pada pertanyaan-pertanyaan berikut:

  • Media apa yang akan Anda gunakan?

  • Apakah Anda membuat plot statis atau interaktif?

  • Apakah Anda mencoba menceritakan kisah yang sudah ditentukan (eksposisi) atau mendorong eksperimen (eksplorasi)?

  • Sampai sejauh mana Anda ingin audiens menarik kesimpulan sendiri?

  • Sampai sejauh mana Anda ingin penonton mengikuti dan diyakinkan oleh cerita Anda?

  • Sampai sejauh mana Anda ingin audiens menantang temuan Anda?

Singkatnya, rancang materi Anda dengan sengaja memberikan pesan, audiens, dan batasan Anda.

David J.
sumber
"Libatkan", atau mengalihkan perhatian? Warna bisa ok, tapi Anda akhirnya di sini tentang data, dan estetika harus melayani data, dan bukan sebaliknya.
naught101
2

Satu hal yang sepertinya saya ingat disebutkan oleh Tufte, yang tidak ada dalam jawaban lain adalah pemetaan - yaitu, membuat posisi, arah, ukuran, dll. Pada grafik Anda mewakili kenyataan . Apa yang ada di grafik harus di dunia nyata. Apa yang besar harus besar (mengingat bahwa area harus mewakili area, dan volume volume. Jangan pernah mencoba untuk mewakili nilai skalar oleh suatu area, itu sangat ambigu!). Ini juga berlaku untuk warna, bentuk, dll, jika relevan.

Contoh yang menarik adalah grafik "seri rok" di sini: http://a-little-book-of-r-for-time-series.readthedocs.org/en/latest/src/timeseries.html . Meskipun secara teknis itu benar, dan panjang rok "lebih tinggi" menempati posisi yang lebih tinggi pada grafik, itu sebenarnya cukup membingungkan, karena panjang rok dimulai dari atas , dan turun (tidak seperti manusia, atau pohon, di mana kami mengukur ketinggian dari tanah). Jadi peningkatan panjang rok sebenarnya mewakili nilai yang lebih rendah :

skirts <- scan("http://robjhyndman.com/tsdldata/roberts/skirts.dat",skip=5)
skirtsseries <- ts(skirts,start=c(1866))
plot.ts(skirtsseries, ylim=c(max(skirts),min(skirts)))

masukkan deskripsi gambar di sini

Seperti biasa, ada kesulitan. Sebagai contoh, kami umumnya mempertimbangkan waktu untuk bergerak maju, dan di barat, setidaknya, kami membaca dari kiri ke kanan, sehingga grafik deret waktu kami juga biasanya mengalir dari kiri ke kanan saat waktu bertambah. Jadi apa yang terjadi jika Anda ingin mewakili sesuatu yang paling baik diwakili secara lateral (mis. Pengukuran timur-barat terhadap sesuatu), dari waktu ke waktu? Dalam hal ini, Anda harus berkompromi, dan menggambarkan waktu naik atau turun (yang tergantung pada persepsi budaya, saya kira), atau memilih untuk memetakan variabel lateral Anda ke atas / bawah pada grafik Anda.

neless101
sumber
1
Contoh trade off untuk waktu / ruang ada di buku, Making Maps (diskusi kritis dan contoh-contoh yang diberikan di sini .
Andy W
Contoh bagus (mengerikan)! Peta memunculkan trade off lain yang lebih sulit: mencoba merepresentasikan 2 dimensi + waktu pada halaman dua dimensi (misalnya peta pergeseran benua). Cukup sulit. Tapi saya rasa itulah
gunanya
Contoh jitu Anda memungkinkan menyebutkan dua poin tambahan yang sering muncul. 1. Dengan sumbu waktu, judul atau label seperti "TIme" biasanya berlebihan. 2. Judul atau label seperti "skirtseries" selalu dapat ditingkatkan dengan penjelasan singkat tetapi informatif, termasuk satuan pengukuran saat yang tepat.
Nick Cox
1

Itu tergantung pada cara plot akan dibahas.

Sebagai contoh, jika saya mengirimkan plot untuk pertemuan grup yang akan dilakukan dengan penelepon dari lokasi yang berbeda, saya lebih suka menempatkan mereka bersama di Powerpoint sebagai lawan dari Excel, jadi lebih mudah untuk membalik-balik.

Untuk panggilan teknis satu lawan satu, saya akan meletakkan sesuatu di excel sehingga klien dapat memindahkan plot ke samping, dan melihat data mentah. Atau, saya bisa memasukkan nilai-p ke dalam sel di sepanjang koefisien regresi sisi, misalnya

Perlu diingat: plot itu murah, terutama untuk peragaan slide, atau untuk mengirim email ke grup. Saya lebih suka membuat 10 plot jelas bahwa kita dapat membalik dari 5 plot di mana saya mencoba untuk menempatkan kohort yang berbeda (misalnya "pria dan wanita") pada grafik yang sama.

Baltimark
sumber
1

Saya ingin menambahkan bahwa pilihan plot harus mencerminkan jenis uji statistik yang digunakan untuk menganalisis data. Dengan kata lain, karakteristik data apa pun yang digunakan untuk analisis harus ditampilkan secara visual - sehingga Anda akan menunjukkan kesalahan rata-rata dan standar jika Anda menggunakan uji-t tetapi plot-kotak jika Anda menggunakan uji Mann-Whitney.

Freya Harrison
sumber