Python

Peta Panas dan Bilah Warna di Matplotlib

Peta Panas dan Bilah Warna di Matplotlib
Visualisasi data adalah salah satu langkah paling penting dalam Ilmu Data (atau ilmu lainnya, dalam hal ini). Kami, sebagai manusia, buruk dalam memahami deretan angka. Itulah mengapa selalu membantu untuk memiliki utilitas seperti Matplotlib untuk membantu kami mengembangkan intuisi visual tentang apa yang terjadi ketika, katakanlah, algoritme pembelajaran mesin mengklasifikasikan sejumlah besar data.

Sementara grafik yang menunjukkan hubungan antara dua variabel seperti tinggi dan berat dapat dengan mudah diplot pada layar datar seperti yang ditunjukkan di bawah ini, hal-hal menjadi sangat berantakan ketika kita memiliki lebih dari dua parameter.

Saat itulah orang mencoba untuk beralih ke plot 3D, tetapi ini sering membingungkan dan kikuk yang mengalahkan seluruh tujuan visualisasi data. Kami membutuhkan peta panas untuk visual.

Apa itu peta panas??

Jika Anda melihat gambar dari kamera termal, Anda dapat melihat peta panas literal. Kamera pencitraan termal mewakili suhu yang berbeda sebagai warna yang berbeda. Skema pewarnaan menarik intuisi kita bahwa Merah adalah “warna hangat” dan mengambil biru dan hitam untuk mewakili permukaan yang dingin.

Pemandangan mars ini adalah contoh yang sangat bagus di mana daerah yang dingin berwarna biru sedangkan daerah yang lebih hangat sebagian besar berwarna merah dan kuning. Bilah warna pada gambar menunjukkan warna apa yang mewakili suhu berapa.

Menggunakan matplotlib kita dapat mengasosiasikan dengan titik (x,y) pada grafik dengan warna tertentu yang mewakili variabel yang kita coba visualisasikan. Tidak perlu suhu, bisa jadi variabel lain. Kami juga akan menampilkan bilah warna di sebelahnya untuk menunjukkan kepada pengguna apa arti warna yang berbeda.

Sering kali Anda akan melihat orang menyebutkan peta warna alih-alih peta panas. Ini sering digunakan secara bergantian. Colormap adalah istilah yang lebih umum.

Menginstal dan Mengimpor Matplotlib dan Paket Terkait

Untuk memulai Matplotlib pastikan Anda telah menginstal Python (sebaiknya Python 3 dan pip). Anda juga akan membutuhkan numpy, pintar dan panda untuk bekerja dengan kumpulan data. Karena kita akan memplot fungsi sederhana, hanya dua paket numpy dan matplotlib akan diperlukan.

$ pip instal matplotlib numpy
#atau jika Anda menginstal python dua dan tiga
$ pip3 instal matplotlib numpy

Setelah Anda menginstal perpustakaan, Anda perlu memastikan bahwa mereka diimpor dalam program python Anda.

impor numpy sebagai np
impor matplotlib.pyplot sebagai plt

Sekarang Anda dapat menggunakan fungsi yang disediakan oleh perpustakaan ini dengan menggunakan sintaks seperti np.fungsi numpy()dan  plt.fungsi lain().

Beberapa Contoh

Mari kita mulai dengan memplot fungsi matematika sederhana yang mengambil titik pada bidang (koordinat x dan y) dan memberikan nilai pada titik tersebut. Tangkapan layar di bawah ini menunjukkan fungsi beserta plotnya.

Warna yang berbeda mewakili nilai yang berbeda (seperti yang ditunjukkan oleh skala di sebelah plot). Mari kita lihat kode yang dapat digunakan untuk menghasilkan ini.

impor numpy sebagai np
impor matplotlib.pyplot sebagai plt
 
# Fungsi matematika yang perlu kita plot
def z_func(x, y):
kembali (1 - (x ** 2 + y ** 3)) * np.exp(-(x ** 2 + y ** 2) / 2)
# Menyiapkan nilai input
x = np.rentang (-3.0, 3.0, 0.1)
y = np.rentang (-3.0, 3.0, 0.1)
X, Y = np.kisi kisi (x, y)
 
# Menghitung output dan menyimpannya dalam array Z
Z = z_fungsi(X, Y)
 
saya = plt.imshow(Z, cmap=plt.cm.RdBu, luas=(-3, 3, 3, -3), interpolasi='bilinear')
 
plt.bilah warna(saya);
 
plt.title('$z=(1-x^2+y^3) e^-(x^2+y^2)/2$')
 
plt.menunjukkan()

Hal pertama yang harus diperhatikan adalah kita mengimpor matplotlib.pyplot sebagian kecil dari seluruh perpustakaan. Karena proyek ini sudah cukup tua, proyek ini memiliki banyak hal yang terakumulasi selama bertahun-tahun. Misalnya, matplotlib.pyplot populer pada masa itu tetapi sekarang hanya peninggalan sejarah dan mengimpornya hanya menambah lebih banyak kembung ke program Anda.

Selanjutnya kita mendefinisikan fungsi matematika yang ingin kita plot. Dibutuhkan dua nilai (x,y) dan mengembalikan nilai ketiga z. Kami telah mendefinisikan fungsi yang belum digunakan.

Bagian selanjutnya mengambil tugas membuat array nilai input, kami menggunakan numpy untuk itu meskipun Anda dapat menggunakan build in jarak() fungsi untuk itu jika Anda suka. Setelah daftar nilai x dan y disiapkan (mulai dari negatif 3 hingga 3), kami menghitung nilai z darinya.

Sekarang kita telah menghitung input dan output kita, kita dapat memplot hasilnya. Itu plt.imshow() memberi tahu python bahwa gambar akan berkaitan dengan Z yang merupakan variabel keluaran kami. Ia juga mengatakan bahwa itu akan menjadi peta warna, sebuah cmap, dengan Merah Biru (RdBu)  skala memanjang dari -3 hingga 3 di kedua sumbu. Itu interpolasi parameter membuat grafik lebih halus, secara artifisial. Jika tidak, gambar Anda akan terlihat sangat berpiksel dan kasar.

Pada titik ini, grafik dibuat, hanya tidak dicetak. Kami kemudian menambahkan bilah warna di samping untuk membantu mengkorelasikan nilai Z yang berbeda dengan warna yang berbeda dan menyebutkan persamaan dalam judul. Ini dilakukan dalam langkah-langkah plt.bilah warna (saya) dan plt.judul (… ). Akhirnya, memanggil fungsi menunjukkan kepada kita grafik di layar.

Dapat digunakan kembali

Anda dapat menggunakan struktur di atas untuk memplot peta warna 2D lainnya. Anda bahkan tidak perlu menggunakan fungsi matematika. Jika Anda memiliki susunan data yang sangat besar di sistem file Anda, mungkin informasi tentang demografi tertentu, atau data statistik lainnya, Anda dapat memasukkannya dengan memodifikasi X, Y nilai tanpa mengubah bagian peta warna.

Semoga artikel ini bermanfaat bagi Anda dan jika Anda menyukai konten serupa, beri tahu kami.

Cara mengunduh dan Memainkan Civilization VI Sid Meier di Linux
Pengenalan permainan Civilization 6 adalah konsep modern dari konsep klasik yang diperkenalkan dalam seri game Age of Empires. Idenya cukup sederhana;...
Cara Menginstal dan Memainkan Doom di Linux
Pengantar Doom Seri Doom berasal dari tahun 90-an setelah rilis Doom. Itu adalah hit instan dan sejak saat itu seri game telah menerima banyak penghar...
Vulkan untuk Pengguna Linux
Dengan setiap generasi baru kartu grafis, kami melihat pengembang game mendorong batas kesetiaan grafis dan selangkah lebih dekat ke fotorealisme. Tet...