Visualisasi adalah cara penting untuk memahami data dan menarik wawasan yang informatif dan dapat ditindaklanjuti. Visual yang baik memungkinkan pembaca mendapatkan pengertian dasar dari informasi hanya dengan pandangan sekilas.
Visualisasi populer yang digunakan untuk melihat data adalah peta panas. Pada artikel ini, saya akan menjelaskan peta panas dan cara membuatnya dengan Python menggunakan Matplotlib, Seaborn, dan Plotly.
Daftar isi
Apa itu Peta Panas?
Sumber: seaborn.pydata.org
Peta panas adalah gambar 2 dimensi yang merepresentasikan data sebagai matriks atau kisi titik. Bayangan plot warna mewakili setiap titik data. Nuansa yang lebih gelap mewakili nilai yang lebih tinggi daripada nuansa yang lebih terang.
Peta panas memudahkan untuk mengidentifikasi pola, tren, dan variasi dalam data. Mereka memberikan informasi ringkasan yang memungkinkan pengguna dengan cepat melihat area dengan nilai tinggi atau rendah, cluster, atau outlier.
Di Mana Peta Panas Digunakan?
Peta panas sangat membantu dalam menunjukkan bagaimana nilai bervariasi di ruang angkasa. Kasus penggunaan sehari-hari meliputi:
Cuaca
Peta panas paling populer yang dilihat kebanyakan orang adalah peta panas literal – menunjukkan bagaimana suhu bervariasi di berbagai tempat.
Ini adalah contoh ramalan cuaca dari Harian Ekspres menunjukkan suhu yang diharapkan sebagai peta panas. Ini memudahkan untuk memvisualisasikan tempat mana yang akan panas, dingin, atau di antaranya.
Menampilkan Penggunaan Situs Web/Aplikasi
Sumber: HotJar
Melalui pelacakan pergerakan mouse, klik, dan pola pengguliran, peta panas membantu mengidentifikasi area halaman web yang populer atau diabaikan. Ini kemudian dapat digunakan untuk mengoptimalkan antarmuka pengguna dan meningkatkan pengalaman pengguna.
Pencitraan medis
Sumber: researchgate.net
Peta panas memvisualisasikan area aktivitas tinggi atau rendah di tubuh. Ini dapat mengidentifikasi anomali dan penyakit serta menilai perkembangan atau respons terhadap pengobatan dalam kondisi seperti kanker.
Pustaka untuk Membuat Peta Panas dengan Python
Python adalah bahasa populer untuk analisis dan visualisasi data. Ini karena sintaksisnya yang sederhana dan ekosistem yang luas. Ada beberapa pustaka yang bisa Anda gunakan untuk membuat peta panas dengan Python. Ini termasuk:
- Matplotlib – Pustaka visualisasi data yang populer. Ini adalah perpustakaan tingkat rendah yang menyediakan lebih banyak opsi penyesuaian tetapi rumit.
- Seaborn – Pustaka visualisasi ini dibangun di atas Matplotlib dan menyederhanakan beberapa fungsinya sambil memberikan visualisasi yang terlihat lebih baik.
- Plotly – Ini adalah pustaka visualisasi yang menyediakan API yang mudah digunakan untuk membuat Peta Panas dengan Python.
Di bagian selanjutnya, kita akan mengeksplorasi cara membuat peta panas menggunakan semua pustaka ini.
Bagaimana Cara Menghasilkan Peta Panas?
Pada bagian ini, saya akan mengeksplorasi cara membuat peta panas menggunakan Matplotlib, Seaborn, dan Plotly. Untuk kode, saya akan menggunakan Google Colab. Ini adalah instance Notebook Python gratis yang menggunakan Infrastruktur Google untuk menjalankan kode Anda. Tidak memerlukan pengaturan, jadi Anda juga dapat menggunakannya untuk mengikuti. Untuk memulai, kita akan membahas Matplotlib terlebih dahulu.
Matplotlib
Untuk memulai, kita mulai dengan mengimpor library Matplotlib.
import matplotlib.pyplot as plt
Kami juga membutuhkan NumPy untuk menghasilkan kumpulan data acak.
import numpy as np
Untuk menghasilkan dataset, kami akan menambahkan kode berikut:
# Creating a seed for reproducibility np.random.seed(2) # Generating 10 x 10 array of integers between 1 and 50 data = np.random.randint(low = 1, high = 50, size = (10, 10))
Untuk memplot data, kami menggunakan metode imshow. Kami mengirimkan data sebagai argumen. Kita bisa berbuat lebih banyak dengan meneruskan argumen tambahan yang akan kita bahas nanti.
plt.imshow(data)
Jika Anda menjalankan sel, Anda akan melihat peta panas.
Meskipun ini bagus, ada banyak opsi penyesuaian yang tersedia untuk Anda. Sebagai permulaan, Anda dapat mengubah warna yang digunakan pada gambar menggunakan argumen cmap yang Anda berikan ke imshow. Misalnya, jika Anda ingin mengubah warna yang digunakan oleh peta panas menjadi warna biru yang berbeda, Anda akan membuat plot dengan yang berikut ini.
plt.imshow(data, cmap = 'Blues')
Daftar lengkap opsi cmap ditemukan Di Sini. Bagaimanapun, hasil di atas adalah:
Peta panas akan lebih berguna jika ada kunci untuk menjelaskan apa yang diwakili oleh warna. Untuk melakukannya, tambahkan kode berikut:
plt.colorbar()
Setelah ini, Anda akan mendapatkan gambar yang terlihat seperti ini:
Bilah warna berguna, tetapi dalam beberapa kasus, Anda mungkin ingin memberi anotasi pada nilai yang berbeda sehingga pemirsa dapat melihat dengan tepat apa yang diwakili. Untuk melakukannya, Anda akan menulis teks di setiap sel menggunakan plt.text().
for i in range(data.shape[0]): for j in range(data.shape[1]): plt.text(j, i, '%d' % data[i, j], horizontalalignment="center", verticalalignment="center", )
Hal terakhir yang akan kita lakukan dengan peta panas adalah menyetel label centang pada sumbu. Kita akan menggunakan fungsi plt.xticks untuk sumbu x dan fungsi plt.yticks untuk sumbu y. Metode ini disebut dengan cara yang sama; satu-satunya perbedaan adalah sumbu yang dipengaruhi oleh setiap metode.
Argumen pertama adalah daftar tempat untuk memasukkan tanda centang. Ini direpresentasikan sebagai array indeks. Argumen berikut adalah daftar sebenarnya dari label yang akan dimasukkan. Berikut adalah contoh bagaimana kita akan menyisipkan tanda centang:
x_labels = ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J'] y_labels = ['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j'] plt.xticks(np.arange(len(x_labels)), labels=x_labels) plt.yticks(np.arange(len(y_labels)), labels=y_labels)
Dan itu saja! Begitulah cara Anda membuat peta panas di Matplotlib. Solusi kode lengkap dirinci di bawah ini.
import numpy as np import matplotlib.pyplot as plt # Creating a seed for reproducibility np.random.seed(2) # Generating 10 x 10 array of integers between 1 and 50 data = np.random.randint(low = 1, high = 50, size = (10, 10)) # Creating a plot with blue as a color plt.imshow(data, cmap = 'Blues') # Displaying a color bar plt.colorbar() # Annotating values for i in range(data.shape[0]): for j in range(data.shape[1]): plt.text(j, i, '%d' % data[i, j], horizontalalignment="center", verticalalignment="center", ) # Creating lists of tick labels x_labels = ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J'] y_labels = ['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j'] # Adding the tick labels plt.xticks(np.arange(len(x_labels)), labels=x_labels) plt.yticks(np.arange(len(y_labels)), labels=y_labels)
Namun, menggunakan Matplotlib bukanlah solusi termudah. Seperti yang akan kita lihat selanjutnya, perpustakaan lain, seperti Seaborn dan Matplotlib, menyederhanakan proses pembuatan peta panas.
Yg keturunan dr laut
Di bagian ini, kita akan membuat ulang contoh sebelumnya menggunakan Seaborn. Seaborn adalah perpustakaan yang dibangun di atas Matplotlib. Ini memberikan abstraksi yang membuatnya lebih mudah untuk dikerjakan. Untuk membuat peta panas, kita mulai dengan mengimpor pustaka yang akan kita gunakan.
import matplotlib.pyplot as plt import numpy as np import seaborn as sn
Kami mengimpor Matplotlib karena Seaborn membutuhkannya. Selanjutnya, kita juga perlu mengimpor NumPy untuk menghasilkan kumpulan data acak. Terakhir, kita harus mengimpor Seaborn.
Selanjutnya, kami membuat dataset menggunakan NumPy.
# Creating a seed for reproducibility np.random.seed(2) # Generating 10 x 10 array of integers between 1 and 50 data = np.random.randint(low = 1, high = 50, size = (10, 10))
Setelah melakukan ini, kami membuat daftar label centang kami.
# Tick labels x_labels = ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J'] y_labels = ['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j']
Lalu terakhir, kita membuat peta panas sebenarnya dengan memanggil fungsi peta panas dari modul sn.
hm = sn.heatmap(data = data, cmap = 'Oranges', annot = True, yticklabels = y_labels, xticklabels = x_labels)
Seperti yang Anda lihat, kami melewati beberapa argumen. Berikut penjelasan masing-masing:
- data adalah kumpulan data yang ingin kita plot
- cmap adalah skema warna yang kita inginkan untuk membuat heatmap
- annot menyatakan apakah kita ingin membubuhi keterangan titik data dengan nilai sebenarnya
- yticklabels adalah daftar label yang kita inginkan untuk tick sumbu vertikal
- xticklabels adalah daftar label untuk tick sumbu horizontal.
Terakhir, kami menunjukkan plot menggunakan kode:
plt.show()
Ini akan menghasilkan peta panas berikut:
Secara plot
Untuk Plotly, prosesnya mirip dengan Seaborn. Berikut adalah garis besar kode untuk membuat peta panas di Plotly:
import plotly.express as px import numpy as np # Creating a seed for reproducibility np.random.seed(2) # Generating 10 x 10 array of integers between 1 and 50 data = np.random.randint(low = 1, high = 50, size = (10, 10)) # Tick labels x_labels = ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J'] y_labels = ['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j'] px.imshow(data, text_auto = True, x = x_labels, y = y_labels, color_continuous_scale="greys")
Seperti yang Anda lihat, peta panas dibuat di baris terakhir menggunakan fungsi px.imshow(). Fungsi ini mengambil data untuk diplot sebagai argumen posisi. Selain itu, dibutuhkan argumen kata kunci sebagai berikut:
- text_auto adalah boolean yang mengaktifkan anotasi saat disetel ke true
- x adalah daftar label centang sumbu x
- y adalah daftar label centang pada sumbu y
- color_continuous_scale menentukan skema warna yang digunakan untuk grafik.
Seperti yang Anda lihat, Plotly lebih sederhana daripada Seaborn dan Matplotlib. Selain itu, grafik yang dihasilkan bersifat interaktif dibandingkan dengan library lain yang menghasilkan gambar statis.
Berikut screenshot hasil akhirnya:
Kata Akhir
Pada artikel ini, kami membahas cara membuat peta panas dengan Python. Kami membahas perpustakaan utama – Matplotlib, Seaborn, dan Plotly. Kami juga melihat bagaimana Seaborn dan Plotly memberikan abstraksi yang disederhanakan melalui Matplotlib. Salah satu penggunaan penting Heatmaps adalah melacak bagaimana orang menggunakan situs web Anda.
Selanjutnya, periksa alat peta panas yang memberi tahu Anda di mana pengguna Anda mengklik.