Pengaturan interpolate_ ke True menghitung titik perpotongan antara dua garis dan memperluas bidang yang terisi hingga titik ini, yang menghasilkan area terisi yang terlihat lebih baik
Pada artikel ini, kita akan mempelajari cara mengisi area gambar apa pun dengan warna di matplotlib menggunakan Python. Untuk ini, kita memerlukan beberapa konsep dasar dari dua modul Python yang populer di dunia plotting figure atau diagram i. e. "numpy" dan "matplotlib"
Mengisi area dengan warna di matplotlib menggunakan Python
Kami akan menggunakan fungsi bawaan “plt. fill_between()“, fungsi ini mengambil dua argumen x dan y, yang menunjukkan dari mana ke mana warna akan diisi pada gambar. Mari kita lihat dengan beberapa contoh. -
Isi warna antara sumbu x dan kurva di matplotlib
import matplotlib.pyplot as plt import numpy as np x = np.arange(0,10,0.1) y = x**2 plt.plot(x,y,'k--') plt.fill_between(x, y, color='#539ecd') plt.grid() plt.show()Keluaran
Pada contoh di atas, pertama-tama, kita mengimpor dua modul wajib bernama matplotlib dan numpy dengan menulis dua baris kode ini. -
- impor matplotlib. pyplot sebagai plt
- impor numpy sebagai np
kemudian kita membuat array numpy dan disimpan dalam variabel bernama x dan kemudian kita membuat hubungan antara x dan y bahwa "y = x**2" dan kemudian kita menggunakan fungsi "plt. fill_between” untuk mengisi warna antara sumbu x dan kurva. Dan kemudian kami menggunakan “plt. grid()” untuk menandai grid pada gambar
Mengisi warna antara sumbu y dan kurva di matplotlib
import matplotlib.pyplot as plt import numpy as np x = np.arange(0,10,0.1) y = x**2 plt.plot(x,y,'k--') plt.fill_between(x, y, np.max(y), color='#539ecd') plt.grid() plt.show()_Keluaran
Penjelasan contoh di atas sama dengan contoh pertama. Satu-satunya perubahan yang kami tambahkan ke ini adalah kami menambahkan satu argumen tambahan di dalam "plt. fungsi fill_between”.
Isi warna antara dua kurva di matplotlib
import matplotlib.pyplot as plt import numpy as np def f1(x): return 1.0 / np.exp(x) def f2(x): return np.log(x) x = np.arange(0.01,10,0.1) y1 = f1(x) y2 = f2(x) plt.plot(x,y1,'k--') plt.plot(x,y2,'k--') plt.fill_between(x, y1, y2, color='#539ecd') plt.grid() plt.xlim(0,10) plt.ylim(-1,2.5) plt.show()Keluaran
Dalam contoh di atas, satu-satunya perubahan yang kami buat adalah kami memplot dua kurva dalam satu gambar, lalu kami menggunakan fungsi untuk mengisi warna di antara kedua kurva ini. Dan kami juga menggunakan “plt. xlim” dan “plt. ylim” untuk membatasi koordinat sumbu x dan sumbu y
impor plotly. graph_objects as go x=['Winter', 'Spring', 'Summer', 'Fall'] fig = go. Gambar() gbr. add_trace(lanjutkan. Sebarkan( x=x, y=[40, 20, 30, 40], mode='baris', baris=dict(lebar=0. 5, color='rgb(184, 247, 212)'), stackgroup='one', groupnorm='percent' # menetapkan normalisasi untuk jumlah stackgroup )) fig. add_trace(lanjutkan. Sebarkan( x=x, y=[50, 70, 40, 60], mode='baris', baris=dict(lebar=0. 5, color='rgb(111, 231, 219)'), stackgroup='one' )) gbr. add_trace(lanjutkan. Sebarkan( x=x, y=[70, 80, 60, 70], mode='baris', baris=dict(lebar=0. 5, color='rgb(127, 166, 238)'), stackgroup='one' )) gbr. add_trace(lanjutkan. Menyebar( x=x, y=[100, 100, 100, 100], mode='baris', baris=dict(lebar=0. 5, color='rgb(131, 90, 241)'), stackgroup='one' )) gbr. update_layout( showlegend=True, xaxis_type='category', yaxis=dict( type='linear', range=[1, 100], ticksuffix='%')) gbr. menunjukkan()Untuk mengisi area dalam poligon dengan Python menggunakan matplotlib, kita dapat melakukan langkah-langkah berikut −
Langkah
Atur ukuran gambar dan sesuaikan padding antara dan di sekitar subplot
Buat gambar dan satu set subplot
Dapatkan contoh poligon
Dapatkan koleksi tambalan umum dengan poligon yang dapat diubah
Tambahkan 'koleksi' ke koleksi sumbu;
Untuk menampilkan gambar, gunakan metode show()
Contoh
import matplotlib.pyplot as plt from matplotlib.collections import PatchCollection from matplotlib.patches import Polygon import numpy as np plt.rcParams["figure.figsize"] = [7.50, 3.50] plt.rcParams["figure.autolayout"] = True fig, ax = plt.subplots(1) polygon = Polygon(np.random.rand(6, 2), closed=True, alpha=1) collection = PatchCollection([polygon]) ax.add_collection(collection) plt.show()Keluaran
Ini akan menghasilkan output berikut -