Mulakan dengan matplotlib dengan cepat: tutorial ringkas
Matplotlib ialah perpustakaan visualisasi data Python terkenal yang menyediakan pelbagai alatan lukisan dan digunakan secara meluas dalam analisis data, pengkomputeran saintifik, lukisan kejuruteraan dan bidang lain. Artikel ini akan memperkenalkan cara cepat bermula dengan matplotlib dan menyediakan beberapa contoh kod khusus.
1. Pasang Matplotlib
Sebelum bermula, kita perlu memasang perpustakaan Matplotlib terlebih dahulu. Ia boleh dipasang melalui arahan pip:
pip install matplotlib
2. Fungsi lukisan asas
2.1 Carta garisan
Carta garisan ialah kaedah visualisasi data yang paling biasa digunakan, yang boleh menunjukkan perubahan arah aliran data.
Berikut ialah contoh mudah yang menunjukkan hujan tahunan di tempat tertentu:
import matplotlib.pyplot as plt years = [2015, 2016, 2017, 2018, 2019, 2020] rainfall = [800, 900, 850, 1000, 950, 1100] plt.plot(years, rainfall, marker='o', linestyle='--', color='blue') plt.xlabel('Year') plt.ylabel('Rainfall (mm)') plt.title('Annual Rainfall') plt.show()
Dalam contoh ini, kami mula-mula mentakrifkan dua senarai, tahun dan hujan, masing-masing mewakili tahun dan hujan tahunan. Kemudian carta garisan dilukis melalui fungsi plt.plot() dan gaya serta warna garisan ditentukan. Akhir sekali, label paksi mendatar dan menegak serta tajuk carta ditetapkan melalui fungsi plt.xlabel(), plt.ylabel() dan plt.title() dan carta dipaparkan melalui fungsi plt.show() .
2.2 Plot serakan
Plot serakan boleh digunakan untuk mewakili hubungan antara dua pembolehubah dan memerhati corak taburan antara mereka.
Berikut ialah contoh mudah yang menunjukkan hubungan antara berat dan tinggi pelajar:
import matplotlib.pyplot as plt weight = [50, 55, 60, 65, 70, 75] height = [150, 160, 165, 170, 175, 180] plt.scatter(weight, height, marker='o', color='red') plt.xlabel('Weight (kg)') plt.ylabel('Height (cm)') plt.title('Student Weight vs Height') plt.show()
Dalam contoh ini, kami mentakrifkan dua senarai, berat dan tinggi, yang masing-masing mewakili berat dan tinggi pelajar. Kemudian plot serakan dilukis melalui fungsi plt.scatter() dan gaya dan warna titik serakan ditentukan. Akhir sekali, label paksi mendatar dan menegak serta tajuk carta ditetapkan melalui fungsi plt.xlabel(), plt.ylabel() dan plt.title() dan carta dipaparkan melalui fungsi plt.show() .
2.3 Histogram
Histogram boleh digunakan untuk membandingkan saiz data antara kategori yang berbeza.
Berikut ialah contoh mudah yang menunjukkan hujan bulanan di tempat tertentu:
import matplotlib.pyplot as plt months = ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun'] rainfall = [50, 45, 60, 70, 65, 80] plt.bar(months, rainfall, color='green') plt.xlabel('Month') plt.ylabel('Rainfall (mm)') plt.title('Monthly Rainfall') plt.show()
Dalam contoh ini, kami mentakrifkan dua senarai, bulan dan hujan, yang masing-masing mewakili hujan bulan dan bulanan. Kemudian histogram dilukis melalui fungsi plt.bar() dan warna lajur ditentukan. Akhir sekali, label paksi mendatar dan menegak serta tajuk carta ditetapkan melalui fungsi plt.xlabel(), plt.ylabel() dan plt.title() dan carta dipaparkan melalui fungsi plt.show() .
3. Fungsi lanjutan
Selain fungsi lukisan asas, Matplotlib juga menyediakan banyak fungsi lanjutan, seperti subfigura, legenda, anotasi, dll.
3.1 Subplot
Anda boleh menggunakan fungsi plt.subplot() untuk mencipta subplot dan melukis carta berbeza dalam setiap subplot.
Berikut ialah contoh mudah yang menunjukkan dua subplot, carta garis dan plot serakan:
import matplotlib.pyplot as plt years = [2015, 2016, 2017, 2018, 2019, 2020] rainfall = [800, 900, 850, 1000, 950, 1100] weight = [50, 55, 60, 65, 70, 75] height = [150, 160, 165, 170, 175, 180] plt.subplot(1, 2, 1) plt.plot(years, rainfall, marker='o', linestyle='--', color='blue') plt.xlabel('Year') plt.ylabel('Rainfall (mm)') plt.title('Annual Rainfall') plt.subplot(1, 2, 2) plt.scatter(weight, height, marker='o', color='red') plt.xlabel('Weight (kg)') plt.ylabel('Height (cm)') plt.title('Student Weight vs Height') plt.tight_layout() plt.show()
Dalam contoh ini, kami menggunakan plt.subplot(1, 2, 1) dan plt.subplot(1 , 2, 2) yang dibuat dua subgraf masing-masing, dengan (1, 2, 1) mewakili subgraf pertama dalam subgraf dengan 1 baris dan 2 lajur, dan (1, 2, 2) mewakili subgraf dengan 1 baris dan 2 lajur Subplot kedua dalam rajah . Graf yang berbeza kemudiannya dilukis dalam setiap subgambar. Akhir sekali, laraskan reka letak subgraf melalui fungsi plt.tight_layout() dan paparkan carta melalui fungsi plt.show().
3.2 Legend
Anda boleh menggunakan fungsi plt.legend() untuk menambah legenda untuk menggambarkan maksud data yang berbeza.
Berikut ialah contoh mudah yang menunjukkan hujan tahunan dan bulanan di tempat tertentu, dan menambah legenda yang sepadan:
import matplotlib.pyplot as plt years = [2015, 2016, 2017, 2018, 2019, 2020] rainfall_year = [800, 900, 850, 1000, 950, 1100] months = ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun'] rainfall_month = [50, 45, 60, 70, 65, 80] plt.plot(years, rainfall_year, marker='o', linestyle='--', color='blue', label='Yearly') plt.bar(months, rainfall_month, color='green', label='Monthly') plt.xlabel('Time') plt.ylabel('Rainfall (mm)') plt.title('Rainfall') plt.legend() plt.show()
Dalam contoh ini, kami menggunakan fungsi plt.plot() dan plt.bar(), nyatakan label yang sepadan dengan hujan tahunan dan bulanan, dan kemudian gunakan fungsi plt.legend() untuk menambah legenda. Akhir sekali, label paksi mendatar dan menegak serta tajuk carta ditetapkan melalui fungsi plt.xlabel(), plt.ylabel() dan plt.title() dan carta dipaparkan melalui fungsi plt.show() .
3.3 Anotasi
Anda boleh menggunakan fungsi plt.annotate() untuk menambahkan anotasi teks pada carta.
Berikut ialah contoh mudah yang menunjukkan hujan tahunan maksimum di tempat tertentu dan menambahkan anotasi teks yang sepadan pada carta:
import matplotlib.pyplot as plt years = [2015, 2016, 2017, 2018, 2019, 2020] rainfall = [800, 900, 850, 1000, 950, 1100] plt.plot(years, rainfall, marker='o', linestyle='--', color='blue') plt.xlabel('Year') plt.ylabel('Rainfall (mm)') plt.title('Annual Rainfall') max_rainfall = max(rainfall) max_index = rainfall.index(max_rainfall) plt.annotate(f'Max: {max_rainfall}', xy=(years[max_index], max_rainfall), xytext=(years[max_index]+1, max_rainfall-50), arrowprops=dict(facecolor='black', arrowstyle='->')) plt.show()
Dalam contoh ini, kita mula-mula mencari hujan melalui fungsi max() Nilai maksimum dan indeks yang sepadan, dan kemudian gunakan fungsi plt.annotate() untuk menambah label teks pada carta, menyatakan kedudukan label dan gaya anak panah. Akhir sekali, label paksi mendatar dan menegak serta tajuk carta ditetapkan melalui fungsi plt.xlabel(), plt.ylabel() dan plt.title() dan carta dipaparkan melalui fungsi plt.show() .
4. Ringkasan
Melalui pengenalan artikel ini, kita dapat melihat bahawa Matplotlib ialah perpustakaan visualisasi data yang hebat yang menyediakan pelbagai alatan lukisan. Sama ada carta garisan, carta serakan atau carta bar, Matplotlib boleh melaksanakannya dengan mudah. Selain itu, Matplotlib juga menyediakan beberapa fungsi lanjutan, seperti subgraf, legenda, label, dll., yang boleh menyesuaikan carta dengan lebih fleksibel. Saya harap tutorial ini dapat membantu anda memulakan Matplotlib dengan cepat, dan melalui contoh kod tertentu, anda boleh lebih memahami cara menggunakan Matplotlib.
Atas ialah kandungan terperinci Bermula dengan matplotlib: tutorial pantas. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!