Saya ingin menunjukkan bagaimana nilai-nilai variabel tertentu (~ 15) berubah seiring waktu, tetapi saya juga ingin menunjukkan bagaimana variabel berbeda satu sama lain di setiap tahun. Jadi saya membuat plot ini:
Tetapi bahkan ketika mengubah skema warna atau menambahkan jenis garis / bentuk yang berbeda ini terlihat berantakan. Apakah ada cara yang lebih baik untuk memvisualisasikan data semacam ini?
Uji data dengan kode R:
structure(list(Var = structure(c(1L, 2L, 2L, 2L, 2L, 2L, 2L,
2L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 6L,
6L, 6L, 6L, 6L, 6L, 7L, 7L, 7L, 7L, 7L, 7L, 7L, 8L, 8L, 8L, 8L,
8L, 8L, 8L, 9L, 9L, 9L, 9L, 9L, 9L, 9L, 11L, 11L, 11L, 11L, 11L,
11L, 11L, 12L, 12L, 12L, 12L, 12L, 12L, 13L, 14L, 14L, 14L, 14L,
14L, 14L, 14L, 16L, 16L, 16L, 16L, 16L, 16L, 17L, 17L, 17L, 17L,
17L, 17L, 17L, 18L, 18L, 18L, 18L, 18L, 18L, 18L), .Label = c("A",
"B", "C", "D", "E", "F", "G", "H", "I", "J", "K", "L", "M", "N",
"O", "P", "Q", "R", "S", "T", "U", "V", "W", "X", "Y", "Z"), class = "factor"),
Year = c(2015L, 1991L, 1993L, 1996L, 2000L, 2004L, 2011L,
2015L, 1991L, 1993L, 1996L, 2000L, 2004L, 2011L, 2015L, 1991L,
1993L, 1996L, 2000L, 2004L, 2011L, 2015L, 1993L, 1996L, 2000L,
2004L, 2011L, 2015L, 1991L, 1993L, 1996L, 2000L, 2004L, 2011L,
2015L, 1991L, 1993L, 1996L, 2000L, 2004L, 2011L, 2015L, 1991L,
1993L, 1996L, 2000L, 2004L, 2011L, 2015L, 1991L, 1993L, 1996L,
2000L, 2004L, 2011L, 2015L, 1993L, 1996L, 2000L, 2004L, 2011L,
2015L, 2015L, 1991L, 1993L, 1996L, 2000L, 2004L, 2011L, 2015L,
1991L, 1993L, 1996L, 2000L, 2011L, 2015L, 1991L, 1993L, 1996L,
2000L, 2004L, 2011L, 2015L, 1991L, 1993L, 1996L, 2000L, 2004L,
2011L, 2015L), Val = c(25.6, 22.93, 20.82, 24.1, 24.5, 29,
25.55, 24.5, 24.52, 20.73, 25.8, 25.5, 29.5, 27.7, 25.1,
25, 24.55, 26.75, 25, 30.5, 27.25, 25.1, 22.4, 27.07, 26,
29, 27.2, 24.2, 23, 24.27, 27.68, 27, 30.5, 28.1, 24.9, 23.75,
22.75, 27.25, 25, 29, 28.45, 24, 20.25, 17.07, 24.45, 25,
28.5, 26.75, 24.9, 21.25, 20.65, 25.1, 24.5, 26.5, 25.35,
23.5, 21.93, 26.5, 24.5, 29, 29.1, 26.4, 28.1, 23.75, 26.5,
28.05, 27, 30.5, 25.65, 23.3, 23.25, 24.57, 26.07, 27.5,
28.85, 27.7, 22, 23.43, 26.88, 27, 30.5, 29.25, 28.1, 23,
23.8, 28.32, 27, 29.5, 29.15, 27.6)), row.names = c(1L, 4L,
5L, 6L, 7L, 8L, 9L, 10L, 13L, 14L, 15L, 16L, 17L, 18L, 19L, 20L,
21L, 22L, 23L, 24L, 25L, 26L, 27L, 28L, 29L, 30L, 31L, 32L, 35L,
36L, 37L, 38L, 39L, 40L, 41L, 44L, 45L, 46L, 47L, 48L, 49L, 50L,
53L, 54L, 55L, 56L, 57L, 58L, 59L, 62L, 63L, 64L, 65L, 66L, 67L,
68L, 69L, 70L, 71L, 72L, 73L, 74L, 75L, 78L, 79L, 80L, 81L, 82L,
83L, 84L, 87L, 88L, 89L, 90L, 91L, 92L, 95L, 96L, 97L, 98L, 99L,
100L, 101L, 104L, 105L, 106L, 107L, 108L, 109L, 110L), na.action = structure(c(2L,
3L, 11L, 12L, 33L, 34L, 42L, 43L, 51L, 52L, 60L, 61L, 76L, 77L,
85L, 86L, 93L, 94L, 102L, 103L), .Names = c("2", "3", "11", "12",
"33", "34", "42", "43", "51", "52", "60", "61", "76", "77", "85",
"86", "93", "94", "102", "103"), class = "omit"), class = "data.frame", .Names = c("Var",
"Year", "Val"))
r
data-visualization
amuba kata Reinstate Monica
sumber
sumber
Jawaban:
Kebetulan atau tidak, contoh Anda adalah ukuran optimal (hingga 7 nilai untuk masing-masing 15 kelompok) pertama, untuk menunjukkan bahwa ada masalah secara grafis; dan kedua, untuk memungkinkan solusi lain yang cukup sederhana. Grafik adalah jenis yang sering disebut spageti oleh orang-orang di bidang yang berbeda, meskipun tidak selalu jelas apakah istilah itu dimaksudkan sebagai kasih sayang atau kasar. Grafik memang menunjukkan perilaku kolektif atau keluarga semua kelompok, tetapi tidak ada harapan untuk menunjukkan detail yang akan dieksplorasi.
Salah satu alternatif standar adalah hanya untuk menunjukkan kelompok yang terpisah di panel yang terpisah, tetapi pada gilirannya dapat membuat perbandingan kelompok-ke-kelompok yang tepat menjadi sulit; masing-masing kelompok dipisahkan dari konteks kelompok lainnya.
Jadi mengapa tidak menggabungkan kedua ide: panel terpisah untuk masing-masing kelompok, tetapi juga menunjukkan kelompok lain sebagai latar belakang? Hal ini bergantung pada penyorotan grup yang fokus dan mengecilkan yang lain, yang cukup mudah dalam contoh ini mengingat beberapa penggunaan warna garis, ketebalan dll. Dalam contoh lain, pilihan penanda atau simbol simbol mungkin lebih alami.
Dalam hal ini, rincian kemungkinan kepentingan atau kepentingan praktis atau ilmiah mungkin disorot:
Kami hanya memiliki satu nilai untuk A dan M.
Kami tidak memiliki semua nilai untuk semua tahun yang diberikan dalam semua kasus lainnya.
Beberapa kelompok plot tinggi, beberapa rendah, dan sebagainya.
Saya tidak akan mencoba penafsiran di sini: datanya anonim, tetapi itu adalah masalah peneliti.
Bergantung pada apa yang mudah atau mungkin dalam perangkat lunak Anda, ada ruang untuk mengubah detail kecil di sini, seperti apakah label dan judul sumbu diulangi (ada argumen sederhana yang mendukung dan menentang).
Masalah yang lebih besar adalah sejauh mana strategi ini akan bekerja secara lebih umum. Jumlah kelompok adalah pendorong utama, lebih dari jumlah poin di setiap kelompok. Secara kasar, pendekatan ini dapat bekerja hingga sekitar 25 kelompok (tampilan 5 x 5, katakanlah): dengan lebih banyak kelompok, grafik tidak hanya menjadi lebih kecil dan lebih sulit dibaca, tetapi bahkan peneliti kehilangan kecenderungan untuk memindai semua panel. Jika ada ratusan (ribuan, ...) grup, biasanya penting untuk memilih sejumlah kecil grup untuk ditampilkan. Beberapa campuran kriteria seperti memilih beberapa panel "tipikal" dan beberapa "ekstrim" akan dibutuhkan; yang harus didorong oleh tujuan proyek dan beberapa ide tentang apa yang masuk akal untuk setiap dataset. Pendekatan lain yang bisa efisien adalah dengan menekankan sejumlah kecil seri di setiap panel. Begitu, jika ada 25 grup besar, masing-masing grup besar dapat ditampilkan dengan yang lain sebagai latar belakang. Atau, mungkin ada beberapa rangkuman atau rangkuman lainnya. Menggunakan (misalnya) komponen utama atau independen mungkin juga merupakan ide bagus.
Meskipun contoh membutuhkan plot garis, prinsipnya secara alami lebih umum. Contoh dapat dikalikan, plot pencar, plot diagnostik model, dll.
Beberapa referensi untuk pendekatan ini [lainnya disambut baik]:
Cox, NJ 2010. Grafik himpunan bagian. Jurnal Stata 10: 670-681.
Knaflic, CN 2015. Bercerita dengan Data: Panduan Visualisasi Data untuk Profesional Bisnis. Hoboken, NJ: Wiley.
Koenker, R. 2005. Regresi Kuantitatif. Cambridge: Cambridge University Press. Lihat pp.12-13.
Schwabish, JA 2014. Panduan ekonom untuk memvisualisasikan data. Jurnal Perspektif Ekonomi 28: 209-234.
Unwin, A. 2015. Analisis Data Grafis dengan R. Boca Raton, FL: CRC Press.
Wallgren, A., B. Wallgren, R. Persson, U. Jorner, dan J.-A. Haaland. 1996. Grafik Statistik dan Data: Membuat Grafik yang Lebih Baik. Newbury Park, CA: Sage.
Catatan: Grafik dibuat di Stata.
subsetplot
harus diinstal terlebih dahulu denganssc inst subsetplot
. Data disalin dan disisipkan dari R dan label nilai didefinisikan untuk menunjukkan tahun sebagai90 95 00 05 10 15
. Perintah utamanya adalahEDIT Referensi tambahan Mei, September, Desember 2016; April, Juni 2017, Desember 2018, April 2019:
Kairo, A. 2016. Seni Sejati: Data, Bagan, dan Peta untuk Komunikasi. San Francisco, CA: Penunggang Baru. hal.211
Camões, J. 2016. Data di Tempat Kerja: Praktik Terbaik untuk Membuat Grafik dan Grafik Informasi yang Efektif di Microsoft Excel . San Francisco, CA: Penunggang Baru. hal.354
Carr, DB dan Pickle, LW 2010. Memvisualisasikan Pola Data dengan Micromaps. Boca Raton, FL: CRC Press. hal.85.
Grant, R. 2019. Visualisasi Data: Grafik, Peta, dan Grafik Interaktif. Boca Raton, FL: CRC Press. hal.52.
Koponen, J. dan Hilden, J. 2019. Buku Pegangan Visualisasi Data. Espoo: Aalto ARTS Books. Lihat hal.101.
Kriebel, A. and Murray, E. 2018. #MakeoverMonday: Meningkatkan Cara Kami Visualisasikan dan Analisis Data, Satu Bagan Sekaligus. Hoboken, NJ: John Wiley. hal.303.
Rougier, NP, Droettboom, M. dan Bourne, PE 2014. Sepuluh aturan sederhana untuk angka yang lebih baik. PLOS Biologi Komputasi 10 (9): e1003833. doi: 10.1371 / journal.pcbi.1003833 tautan di sini
Schwabish, J. 2017. Presentasi Lebih Baik: Panduan bagi Para Cendekiawan, Peneliti, dan Wonks. New York: Columbia University Press. Lihat hal.98.
Wickham, H. 2016. ggplot2: Grafik Elegan untuk Analisis Data. Cham: Springer. Lihat hal.157.
sumber
Sebagai pelengkap jawaban Nick, berikut beberapa kode R untuk membuat plot serupa menggunakan data simulasi:
sumber
Bagi mereka yang ingin menggunakan
ggplot2
pendekatan dalam R mempertimbangkanfacetshade
fungsi dalam paketextracat
. Ini menawarkan pendekatan umum, bukan hanya untuk plot garis. Berikut ini adalah contoh dengan sebaran (dari kaki halaman ini ):EDIT: Menggunakan dataset simulasi Adrian dari jawaban sebelumnya:
Pendekatan lain adalah menggambar dua lapisan terpisah, satu untuk latar belakang dan satu untuk kasus-kasus yang disorot. Caranya adalah dengan menggambar lapisan latar belakang menggunakan dataset tanpa variabel faceting. Untuk dataset minyak zaitun kodenya adalah:
sumber
ggplot(df %>% select(-label), aes(x=time, y=y, group=label2)) + geom_line(alpha=0.8, color="grey") + labs(y=NULL) + geom_line(data=df, color="red") + facet_wrap(~ label)
Ini adalah solusi yang terinspirasi oleh Ch. 11.3, bagian tentang "Data Perumahan Texas", dalam Buku Hadley Wickham di ggplot2 . Di sini saya memasukkan model linier ke setiap deret waktu, mengambil residu (yang berpusat di sekitar rata-rata 0), dan menggambar garis ringkasan dalam warna yang berbeda.
sumber