- Apa itu Python Matplotlib?
- Jenis Petak yang dapat kita bina, seperti Graf Bar, Histogram, Petak Penyebaran, Petak Kawasan dan Carta Pe
- Bekerja dengan Pelbagai petak
- Beberapa alternatif untuk Python Matplotlib
Apa itu Python Matplotlib?
The matplotlib.pyplot adalah pakej plot grafik yang boleh digunakan untuk membina grafik 2 dimensi menggunakan bahasa pengaturcaraan Python. Oleh kerana sifatnya yang dapat dipasang, paket ini dapat digunakan dalam aplikasi GUI, pelayan aplikasi Web atau skrip Python sederhana. Beberapa alat yang memperluas fungsi Python Matplotlib adalah:
- Peta asas adalah perpustakaan plot peta yang menyediakan ciri untuk membuat projek peta, garis pantai dan sempadan politik
- Natgrid dapat digunakan untuk grid data tidak teratur ke data jarak
- Alat Excel boleh digunakan untuk bertukar data antara MS Excel dan Matplotlib
- Kartopi adalah perpustakaan pemetaan yang sangat kompleks yang bahkan menyediakan ciri transformasi gambar selain unjuran titik, garis & poligon
Cuma nota sebelum memulakan adalah bahawa kita menggunakan persekitaran maya untuk pelajaran ini yang kita buat dengan arahan berikut:
python -m virtualenv matplotlibsumber matplotlib / bin / aktifkan
Setelah persekitaran maya aktif, kita dapat memasang perpustakaan matplotlib dalam env maya sehingga contoh yang kita buat seterusnya dapat dilaksanakan:
memasang pip matplotlibKami melihat sesuatu seperti ini semasa kami melaksanakan perintah di atas:
Anda juga boleh menggunakan Anaconda untuk menjalankan contoh-contoh ini yang lebih mudah. Sekiranya anda ingin memasangnya di mesin anda, lihat pelajaran yang menerangkan “Cara Memasang Anaconda Python di Ubuntu 18.04 LTS ”dan kongsi maklum balas anda. Sekarang, mari kita maju ke pelbagai jenis plot yang boleh dibina dengan Python Matplotlib.
Jenis Petak
Di sini, kami menunjukkan jenis plot yang dapat dilukis dengan Python Matplotlib.
Graf Ringkas
Contoh pertama yang akan kita lihat adalah plot grafik sederhana. Contoh ini digunakan sebagai demonstrasi betapa mudahnya membina plot grafik bersama dengan penyesuaian sederhana yang disertakan dengannya. Kita mulakan dengan mengimport matplotlib dan menentukan koordinat x dan y yang ingin kita plot:
dari matplotlib import pyplot sebagai pltx = [3, 6, 9]
y = [2, 4, 6]
Selepas ini, kita dapat memetakan koordinat ini pada grafik dan menunjukkannya:
plt.plot (x, y)plt.tunjuk ()
Apabila kita menjalankannya, kita akan melihat grafik berikut:
Dengan hanya beberapa baris kod, kami dapat memetakan grafik. Mari kita tambahkan beberapa penyesuaian untuk menjadikan grafik ini sedikit lebih ekspresif:
plt.ylabel ('Paksi Y')
plt.xlabel ('Paksi X')
Tambahkan baris kod di atas sebelum anda menunjukkan plot dan grafik kini akan mempunyai label:
Kami akan berusaha sekali lagi untuk menyesuaikan grafik ini untuk menjadikannya intuitif dengan garis kod berikut sebelum kami menunjukkan plot:
x1 = [3, 6, 9]y1 = [2, 4, 6]
x2 = [2, 7, 9]
y2 = [4, 5, 8]
plt.tajuk ('Maklumat')
plt.ylabel ('Paksi Y')
plt.xlabel ('Paksi X')
plt.petak (x1, y1, 'g', label = 'Quarter 1', linewidth = 5)
plt.petak (x2, y2, 'r', label = 'Quarter 2', linewidth = 5)
plt.legenda ()
plt.grid (Benar, warna = 'k')
plt.tunjuk ()
Kami akan melihat plot berikut semasa menjalankan coretan kod di atas:
Perhatikan apa yang kita mulakan dan apa yang akhirnya kita buat, grafik yang sangat intuitif dan menarik yang boleh anda gunakan dalam persembahan anda dan ia dibuat dengan kod Python tulen, pastinya sesuatu yang boleh dibanggakan !
Membuat Graf Bar
Graf bar berguna terutamanya ketika kita ingin membuat perbandingan dengan langkah-langkah khusus dan terhad. Sebagai contoh, membandingkan markah purata pelajar dengan satu subjek adalah kes penggunaan yang baik. Mari kita bina graf bar untuk kes penggunaan yang sama di sini, coretan kod untuk ini adalah:
avg_markah = [81, 92, 55, 79]fizik = [68, 77, 62, 74]
plt.bar ([0.25, 1.25, 2.25, 3.25], avg_mark, label = "Purata", lebar =.5)
plt.bar ([.75, 1.75, 2.75, 3.75], fizik, label = "Fizik", warna = 'r', lebar =.5)
plt.legenda ()
plt.xlabel ('Julat')
plt.ylabel ('Tanda')
plt.tajuk ('Perbandingan')
plt.tunjuk ()
Graf bar yang dibuat dengan data sampel di atas akan kelihatan seperti berikut:
Terdapat banyak bar di sini untuk membuat perbandingan. Harap maklum bahawa kami telah memberikan lebar setiap bar sebagai parameter pertama dan bar beralih 0.5 nilai dari yang sebelumnya.
Kita boleh menggabungkan pembinaan graf bar ini dengan perpustakaan Pandas untuk menyesuaikannya lebih banyak tetapi kita akan membahasnya dalam pelajaran yang berbeza mengenai Pandas.
Taburan dengan Histogram
Histogram sering dikelirukan dengan carta bar. Perbezaan paling asas terletak pada kes penggunaannya. Carta palang digunakan untuk membuat perbandingan antara data sedangkan histogram digunakan untuk menggambarkan pembahagian data.
Sebagai contoh, mari kita gunakan contoh untuk markah pelajar sekali lagi tetapi kali ini, kita hanya akan melihat markah purata pelajar dan melihat bagaimana mereka diedarkan. Berikut adalah coretan kod, sangat serupa dengan contoh sebelumnya:
tong = [0,10,20,30,40,50,60,70,80,90,100]avg_mark = [81, 77, 55, 88, 81, 66, 51, 66, 81, 92, 55, 51]
plt.hist (avg_mark, bins, histtype = 'bar', rwidth = 0.8)
plt.xlabel ('Julat')
plt.ylabel ('Tanda')
plt.tajuk ('Perbandingan')
plt.tunjuk ()
Histogram yang dibuat dengan data sampel di atas akan kelihatan seperti berikut:
Paksi-Y menunjukkan di sini bahawa berapa banyak pelajar yang mendapat markah yang sama yang diberikan sebagai data untuk pembinaan.
Membuat Petak Penyebaran
Ketika membandingkan beberapa pemboleh ubah dan menentukan kesannya antara satu sama lain, plot Penyebaran adalah cara yang baik untuk menunjukkan yang sama. Dalam hal ini, data ditunjukkan sebagai titik dengan nilai satu pemboleh ubah yang dipantulkan oleh paksi mendatar dan nilai pemboleh ubah kedua menentukan kedudukan titik pada paksi menegak.
Mari kita lihat coretan kod ringkas untuk menjelaskan perkara yang sama:
x = [1,1.5,2,2.5,3,3.5,3.6]y = [75,8,85,9,95,10,75]
x1 = [8,8.5,9,9.5,10,10.5,11]
y1 = [3,35,3.7,4,45,5,52]
plt.penyebaran (x, y, label = '10 Pelajar yang mendapat markah tinggi ', warna =' r ')
plt.penyebaran (x1, y1, label = '10 Pelajar yang mendapat markah rendah ', warna =' b ')
plt.xlabel ('Tanda')
plt.ylabel ('Kiraan pelajar')
plt.tajuk ('Scatter Plot')
plt.legenda ()
plt.tunjuk ()
Plot penyebaran yang dibuat dengan data sampel di atas akan kelihatan seperti berikut:
Petak Kawasan
Petak kawasan digunakan terutamanya untuk mengesan perubahan data dari masa ke masa. Mereka juga disebut sebagai plot tumpukan dalam pelbagai teks. Sebagai contoh, jika kita ingin menunjukkan perwakilan masa yang dilaburkan oleh pelajar untuk setiap mata pelajaran dalam satu hari, berikut adalah kod yang boleh kita lakukan sama:
hari = [1,2,3,4,5]fizik = [2,8,6,5,7]
ular sawa = [5,4,6,4,1]
r = [7,9,4,3,1]
matematik = [8,5,7,8,13]
plt.plot ([], [], warna = 'm', label = 'Fizik', garis lebar = 5)
plt.plot ([], [], warna = 'c', label = 'Python', linewidth = 5)
plt.plot ([], [], warna = 'r', label = 'R', garis lebar = 5)
plt.plot ([], [], warna = 'k', label = 'Matematik', garis lebar = 5)
plt.stackplot (hari, fizik, ular sawa, r, matematik, warna = ['g', 'k', 'r', 'b'])
plt.xlabel ('x')
plt.ylabel ('y')
plt.tajuk ('Stack Plot')
plt.legenda ()
plt.tunjuk ()
Plot kawasan yang dibuat dengan data sampel di atas akan kelihatan seperti berikut:
Hasil di atas jelas menunjukkan perbezaan masa yang diluangkan oleh pelajar dalam setiap mata pelajaran dengan cara yang jelas untuk memberikan perbezaan dan pembahagian.
Carta pai
Apabila kita ingin membahagikan seluruh bahagian menjadi beberapa bahagian dan menerangkan jumlah yang dihuni setiap bahagian, carta pai adalah cara yang baik untuk membuat persembahan ini. Ini digunakan untuk menunjukkan peratusan data dalam set data lengkap. Berikut adalah coretan kod asas untuk membuat carta pai ringkas:
label = 'Python', 'C ++', 'Ruby', 'Java'saiz = [225, 130, 245, 210]
warna = ['r', 'b', 'g', 'c']
meletup = (0.1, 0, 0, 0) # meletup potongan pertama
# Petak
plt.pai (saiz, meletup = meletup, label = label, warna = warna,
autopct = '% 1.1f %% ', bayangan = Benar, segi tiga = 140)
plt.paksi ('sama')
plt.tunjuk ()
Carta pai yang dibuat dengan data sampel di atas akan kelihatan seperti berikut:
Dalam bahagian di atas, kami melihat pelbagai komponen grafik yang dapat kami bina dengan perpustakaan Matplotlib untuk mewakili data kami dalam pelbagai bentuk dan mewujudkan perbezaan secara intuitif sambil menjadi statistik.
Ciri dan Alternatif untuk Matplotlib
Salah satu ciri terbaik untuk matplotlib ialah ia dapat berfungsi pada banyak sistem operasi dan latar belakang grafik. Ia menyokong puluhan sistem operasi dan output grafik yang kita lihat dalam pelajaran ini. Ini bermaksud kita dapat mengandalkannya ketika memberikan output dengan cara yang kita perlukan.
Terdapat pelbagai perpustakaan lain yang boleh bersaing dengan matplotlib seperti:
- Seahorn
- Plotly
- Ggplot2
Walaupun perpustakaan yang disebutkan di atas mungkin menyajikan beberapa cara lanjutan untuk menggambarkan dan menyajikan data secara grafik tetapi tidak ada penolakan dalam kesederhanaan dan sifat efektif perpustakaan matplotlib.
Kesimpulannya
Dalam pelajaran ini, kami melihat pelbagai aspek perpustakaan visualisasi data ini yang dapat kami gunakan dengan Python untuk menghasilkan grafik yang indah dan intuitif yang dapat memvisualisasikan data dalam bentuk yang diinginkan oleh perniagaan dari platform. Matplotlib adalah salah satu perpustakaan visualisasi yang paling penting ketika datang ke kejuruteraan data dan menyajikan data dalam kebanyakan bentuk visual, pastinya kemahiran yang perlu kita miliki.
Sila kongsi maklum balas anda mengenai pelajaran di Twitter dengan @sbmaggarwal dan @LinuxHint.