Catatan: 50 titik data mentah dilampirkan sekarang.
Saya ingin menampilkan berapa banyak pembelajaran yang telah saya lakukan, dan berapa banyak halaman yang telah saya selesaikan sepanjang minggu, dibagi berdasarkan hari, dan saya telah melakukannya seperti yang ditunjukkan di bawah ini:
Saya memiliki orang-orang yang mengatakan kepada saya bahwa mereka tidak dapat memahami grafik, tetapi saya tidak tahu bagaimana lagi saya bisa menampilkannya. Karena saya pada dasarnya akan membutuhkan tiga dimensi tanpa membuat penggambaran kumulatif. Saya ingin menghindari menggunakan banyak grafik garis, karena setelah beberapa minggu grafik tersebut menjadi tidak terbaca. Apakah tidak ada yang bisa saya lakukan?
Bagaimana saya bisa menampilkan ini dengan lebih jelas?
Date Total Total pages
21/11/2014 2.4166 0
22/11/2014 0 0
23/11/2014 1.5833 4
24/11/2014 3.0166 13
25/11/2014 2.4999 6
26/11/2014 1.4833 3
27/11/2014 3.0499 6
28/11/2014 0 0
29/11/2014 2.4499 5
30/11/2014 2.8833 2
1/12/2014 0 0
2/12/2014 4.1166 8
3/12/2014 1.3333 5
4/12/2014 1.2499 3
5/12/2014 1.6666 8
6/12/2014 0 0
7/12/2014 2.4833 9
29/12/2014 0 0
30/12/2014 1.2332 1
31/12/2014 0.3333 0
1/01/2015 3.5666 2
2/01/2015 0.8166 0
3/01/2015 2.75 28
4/01/2015 0.4166 0
5/01/2015 1.2833 0
6/01/2015 0.3333 3
7/01/2015 0 0
8/01/2015 0 0
9/01/2015 2.35 2
10/01/2015 0.5666 0
11/01/2015 0 0
12/01/2015 1.6666 0
13/01/2015 2.2666 5
14/01/2015 2.5165 6
15/01/2015 2.0166 0
16/01/2015 2.9666 1
17/01/2015 0.8333 0
18/01/2015 0.6666 1
19/01/2015 1.45 0
20/01/2015 0.3166 0
21/01/2015 0 0
22/01/2015 0.2333 0
23/01/2015 0.85 2
24/01/2015 0 0
25/01/2015 0 0
26/01/2015 0.6666 4
27/01/2015 0.8333 1
28/01/2015 1.5498 5
29/01/2015 6.4159 9
30/01/2015 2.9166 0
sumber
Jawaban:
Salah satu cara memvisualisasikan data berdasarkan tanggal / kalender adalah melalui tampilan matriks yang mengkodekan data dengan warna. Matriks (atau tabel) diatur sehingga baris mewakili minggu dan kolom mewakili hari. Anda dapat menambahkan kolom terakhir untuk total mingguan jika diinginkan.
Ini dapat diimplementasikan agak sederhana di Excel dengan pemformatan bersyarat jika data disusun dengan benar. Secara khusus, Anda dapat membangun "kisi" nilai dengan rumus yang mencari data asli Anda. Dari sana, Anda dapat menggunakan pemformatan bersyarat untuk menampilkan hasilnya.
Berikut ini hasilnya. Maaf saya mengubah format tanggal. Rumus dalam sel H1 adalah:
"=IFERROR(VLOOKUP($G$1+$G6*7+H$5, $B$5:$C$16,2,FALSE), 0)"
. Melakukan beberapa matematika untuk mendapatkan hari-hari dalam urutan yang benar. Semoga ini mudah.Jika Anda benar-benar ingin mendorong amplop, Anda dapat menggunakan kerangka kerja seperti d3 dan plugin kalendernya untuk menampilkan data ini. Itu mungkin lebih dari sebuah usaha daripada nilainya sekalipun.
Format ini sangat mirip dengan bagaimana GitHub menampilkan aktivitas / kontribusi pengguna dari waktu ke waktu. Ini satu pengguna (bukan saya!).
sumber
Fitur utama dari yang asli adalah jumlah mingguan. Nilai-nilai individual menjadi bermakna hanya setelah Anda mempelajari warna-warnanya, dan saya membayangkan itulah alasan utama mengapa plot ini tidak berfungsi untuk pemirsa baru. Terkait dengan itu, aspek waktu hari-hari hilang. Sebuah berurutan set warna dapat membantu (misalnya, 7 nuansa biru).
Saya biasanya tidak peduli untuk memberi label pada setiap item - apakah nilai yang tepat itu penting? Grafik tidak melakukan tugasnya jika Anda tidak dapat menafsirkannya tanpa setiap nilai diberi label.
Aktif untuk saya coba . Mengingat pentingnya jumlah mingguan, saya telah merencanakan jumlah kumulatif mingguan. Ini menunjukkan jumlah mingguan dan hari-hari dalam urutan waktu. Nilai hari yang tepat kurang jelas, tetapi nilai outlier akan tetap menonjol.
Untuk jenis plot garis kecil ini (yang dapat direduksi menjadi ukuran sparkline ), sebaiknya memiliki garis referensi atau area. Sebagai ilustrasi, saya telah menambahkan rentang target. Jika target tidak sesuai, maka referensi bisa berupa kisaran selama tiga minggu terakhir atau beberapa nilai referensi tetap.
Saya menggunakan warna merah untuk menunjukkan minggu mana yang di bawah target untuk pemindaian cepat.
Dengan lebih banyak minggu, Anda dapat mengaturnya menjadi kisi-kisi daripada daftar vertikal.
sumber
Jika saya memahami Anda dengan benar, alasan Anda tidak ingin menggunakan grafik garis adalah karena Anda memiliki terlalu banyak minggu dan grafiknya akan berantakan.
Jika ini masalahnya, maka Anda dapat membagi deret waktu menjadi komponen:
Variasi harian
Variasi mingguan
Tren jangka panjang
Ada yang lain.
William S. Cleveland menunjukkan contoh yang bagus tentang hal ini di salah satu bukunya (saya tidak di kantor saya dan tidak dapat mengingat mana di antara bukunya yang memiliki contoh tetapi itu adalah Visualisasi data atau Unsur-unsur data grafik ).
Baik R dan SAS memiliki alat untuk melakukan ini. Apakah Anda memiliki akses ke keduanya?
sumber
Pertama-tama saya akan mengemukakan beberapa keberatan terhadap grafik batang asli Anda yang telah ditumpuk atau dibagi.
Sebuah. Pengodean warna tampak sepenuhnya sewenang-wenang. Karenanya grafik tidak dapat dipelajari tanpa berulang kali bolak-balik antara legenda dan grafik.
b. Nol adalah implisit, sebagai segmen bar yang tidak terlihat. Nol adalah bagian dari variasi.
Karena alasan-alasan tersebut dan lainnya, grafik sulit untuk diuraikan.
Yang mengatakan, grafik pantas jika minat sebagian besar dalam mempelajari variasi total dari minggu ke minggu. Banyak minggu dapat diplot sebagai banyak bar. Kelemahan yang sesuai adalah bahwa akan semakin sulit untuk mempelajari variasi dalam beberapa minggu.
Mencadangkan: Ada tiga variabel di sini di setiap masalah.
Waktu dipelajari atau halaman selesai.
Hari dalam seminggu.
Nomor minggu.
Dengan bertambahnya jumlah minggu, grafik apa pun akan menjadi lebih terperinci. Tantangannya adalah menjaga detail itu tetap terkendali.
Saya akan mempertimbangkan plot siklus (nama lain telah digunakan dalam literatur, tetapi kebanyakan merujuk pada penggunaannya untuk melihat variasi musiman). Ada pengantar yang jelas di sini oleh Naomi Robbins . Contohnya termasuk yang seperti milik Anda di mana minatnya adalah variasi di dalam dan di antara minggu.
sumber
Grafik garis mungkin akan lebih mudah untuk ditafsirkan jika Anda mengambil rata-rata bergerak tujuh hari, empat belas hari atau mungkin 28 hari. Itu akan memuluskan mereka dan masih memungkinkan Anda untuk melihat tren.
Ini memiliki beberapa kesamaan dengan solusi Peter Flom, meskipun agak lebih sederhana dan karenanya tidak memberi gambaran yang cukup lengkap - tetapi mungkin cukup untuk kebutuhan Anda. Jika Anda merekam data Anda dalam spreadsheet, itu memiliki keuntungan bahwa rata-rata seperti itu dapat dengan mudah dilakukan dalam spreadsheet itu sendiri dengan mengatur beberapa rumus, dan grafik akan secara otomatis diperbarui saat Anda mengisi data baru.
Perbarui untuk menyertakan grafik
Grafik spreadsheet untuk rata-rata bergulir tujuh hari tidak spektakuler tetapi tampaknya melakukan tugasnya dengan baik - variasi harian diperlancar sehingga tren lebih mudah untuk dideteksi (dibandingkan dengan grafik harian setara yang sangat bising sehingga tidak dapat dipahami). Beberapa fitur utama dipilih dengan baik oleh plot ini: misalnya, sejumlah besar pekerjaan dilakukan pada pertengahan Januari, dalam hitungan per jam, tetapi ini tidak disertai dengan kenaikan proporsional pada halaman rata-rata yang diselesaikan per hari. Istirahat Natal sangat terlihat dan selama masing-masing titik data jelas diplot maka itu tidak terlalu menyesatkan (jika hanya garis yang terlihat, tidak mungkin untuk menentukan bahwa periode datar disebabkan oleh kurangnya data!). Namun demikian, saya sangat merekomendasikan untuk memasukkanhari istirahat dalam tabel, meskipun dengan nol jam dan nol halaman. Grafik kemudian dapat merespons hal ini, daripada mengarahkan kursor≈ 1.5
Dengan hanya lima puluh item data, tampaknya tidak layak untuk dicoba rata-rata dalam periode waktu yang lebih lama untuk mendeteksi tren yang berjalan lebih lama. Demikian pula saya curiga bahwa ide bagus Peter Flom mengenai dekomposisi musiman akan bergumul dengan data yang terbatas. Jika Anda melakukan dekomposisi dalam spreadsheet Anda, akan lebih penting lagi untuk memasukkan break sebagai nol data.
Untuk mereproduksi formula saya, rekatkan ini sehingga 'Tanggal' ada di sel
A1
:sumber
Saat saya memahami pertanyaan Anda, akan layak untuk menampilkan jam dan halaman secara terpisah. Saya akan melakukannya dulu. Setelah itu, saya akan menampilkan Total dan Halaman dalam satu plot. Saya menduga bahwa angka sebenarnya bukan hal yang paling penting - lebih penting untuk mendapatkan gambaran tentang minggu dan hari kerja, yang produktif dan yang tidak. Dalam hal ini, saya sarankan Anda menjaga struktur temporal alami karena sebenarnya hanya ada satu dimensi temporal dalam data Anda. Kami masih dapat menemukan cara untuk membatasi minggu.
Saya menggunakan kode-R berikut dan paket-ggplot2 untuk menghasilkan plot pertama ini. Data Anda telah dimuat ke data objek dalam kode di bawah ini. Plot adalah plot bar yang dikelompokkan, dengan bar abu-abu menunjukkan jumlah halaman mingguan.
Ini jelas tidak sempurna. Bilah abu-abu mendominasi banyak karena mereka dibandingkan dengan bilah hari memiliki area yang lebih besar untuk jumlah bacaan yang sama. Kita bisa membuatnya lebih tipis, tapi saya suka cara mereka membatasi minggu. Mereka menunjukkan dengan cukup baik hari-hari mana dalam minggu yang sama - sesuatu yang tidak harus dipahami sebaliknya. Terutama karena kita tidak menghitung.
Dalam plot berikutnya, saya telah menggunakan jumlah rata-rata halaman (dalam minggu) sebagai ketinggian bilah abu-abu.
Ini mungkin mewakili data yang lebih baik. Namun, perhatikan bahwa minggu 0 dan 7 menyesatkan karena mereka tidak termasuk 7 hari. Anda dapat dengan mudah mengatasi ini.
Jika Anda bersikeras menampilkan halaman dan waktu secara bersamaan, Anda bisa melakukan plot bar back-to-back. Mungkin sedikit membingungkan karena dua skala vertikal tidak sama. Di sisi lain, mungkin lebih baik membandingkan waktu yang dihabiskan dan pekerjaan yang dilakukan secara langsung seperti ini.
EDIT: Menyadari bahwa warna benar-benar tidak diperlukan sebanyak itu dan terinspirasi oleh xan (lihat komentar di bawah), Anda dapat menyederhanakan plot menjadi sesuatu seperti ini. Saya telah menandai hari Kamis untuk memberikan panduan visual tambahan. Anda juga bisa berdebat mendukung penggunaan warna yang sama untuk semua bar untuk tidak terlalu menekankan beberapa hari (sewenang-wenang).
Pada catatan terakhir, Anda juga bisa mencoba menskalakan sumbu secara berbeda dengan membagi nilai Anda dengan nilai rata-rata. Ini akan membuat 1 nilai "normal". Kita bisa memasukkan garis pada 1 untuk menekankan poin ini - sekarang dilakukan pada plot back-to-back. Ini memisahkan "baik" dari hari "buruk" dalam hal beban kerja rata-rata.
Pada plot ini kita juga dapat memastikan bahwa satu unit sesuai dengan jarak yang sama pada kedua sumbu karena mereka sebanding sekarang.
Perhatikan juga bahwa saya mengacaukan hari-hari di versi pertama. Saya telah memperbaiki kode dan plot dan saya akan berlatih tujuh hari dalam seminggu sekarang.
Kode yang menghasilkan plot terakhir:
sumber
Perubahanx poros ke hari kerja, biarkan y sama dan:
sumber
Plot di bawah ini menunjukkan Jam Studi dan Total Halaman kumulatif dalam setiap minggu menggunakan garis alih-alih bilah bertumpuk, yang diharapkan akan memudahkan untuk melihat tren dalam setiap minggu dan membandingkan antara minggu. Saya telah mengisi minggu-minggu yang hilang dengan nol, tetapi Anda dapat mengecualikannya jika Anda mau. The
R
kode untuk pengolahan data dan plot generasi yang diposting di bawah grafik.Dalam melakukan langkah-langkah di bawah ini, saya pertama-tama memuat data yang diposting dalam pertanyaan ke dalam kerangka data yang disebut
dat
.sumber
Pilihan lain adalah bagan gelembung, di mana Anda dapat memiliki ketinggian vertikal untuk satu variabel dan ukuran titik untuk yang lainnya. Di bawah, tanggal (hari) adalah horisontal, Jam belajar adalah vertikal, Halaman yang dicakup per hari adalah ukuran gelembung, dan minggu diwarnai.
sumber
Anda bisa menggambar di 3d. Saya tidak memverifikasi bahwa hari dalam seminggu dihitung dengan benar, menemukan sudut pandang terbaik, dll, tetapi ini akan memberi Anda ide. Hiasan lebih lanjut juga dimungkinkan. Sebagai contoh, mungkin lebih baik untuk menghubungkan titik-titik dengan garis dan memindahkan garis kisi sesuai dengan setiap hari Senin.
Sebenarnya apa yang akan sangat menarik untuk dicoba adalah memiliki masing-masing kisi-kisi kiri-kanan dan atas-bawah (seperti yang ditunjukkan dalam sudut ini) sesuai dengan hari yang sama dalam seminggu (mis. Senin), kemudian menempatkan plot-plot kotak di dinding bawah dan kanan belakang di dalam garis kisi. Plot kotak akan sesuai dengan total jam dan total halaman untuk setiap minggu, masing-masing. Saya hampir yakin itu mungkin dilakukan dengan rgl, tetapi akan membutuhkan beberapa bermain-main. Mungkin layak. Petak biola atau petak kacang mungkin lebih baik.
Data (untuk memasukkan ke R):
Buat plot:
sumber
Mengikuti peta panas dengan nomor minggu (tahun), hari dalam seminggu dan segi jam dan halaman mungkin membantu:
Menghapus 2 nilai tinggi memberikan gradien warna yang lebih baik di plot:
Mengikuti barchart juga dapat membantu.
Itu jelas menunjukkan periode 2 minggu ketika tidak ada pekerjaan yang dilakukan.
Plot dengan garis mungkin juga berguna (garis tidak berantakan; titik-titiknya juga bisa dihilangkan, hanya menyimpan dua garis)
Mereka dengan jelas menyampaikan informasi sambil menyederhanakan plot untuk memudahkan pemahaman.
sumber