Bermula dengan matplotlib: tutorial pantas

WBOY
Lepaskan: 2024-01-09 10:38:11
asal
1355 orang telah melayarinya

Bermula dengan matplotlib: tutorial pantas

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
Salin selepas log masuk

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()
Salin selepas log masuk

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()
Salin selepas log masuk

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()
Salin selepas log masuk

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()
Salin selepas log masuk

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()
Salin selepas log masuk

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()
Salin selepas log masuk

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!

Label berkaitan:
sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!