Introduction to Matplotlib#
Matplotlib adalah salah satu library paling populer dan mature yang digunakan untuk visualisasi data di Python. Matplotlib memiliki banyak fitur yang memungkinkan kita untuk membuat berbagai jenis visualisasi data dengan mudah.
Secara umum, Matplotlib termasuk dalam kategori library yang low-level, yang berarti kita perlu menuliskan lebih banyak kode untuk membuat visualisasi yang kompleks. Namun, hal ini juga memungkinkan kita untuk memiliki kontrol yang lebih besar terhadap visualisasi yang kita buat.
Menurut pendapat kami, cara terbaik untuk mempelajari Matplotlib adalah dengan mengunjungi galeri Matplotlib resmi sesering mungkin. Galeri tersebut memiliki source code untuk berbagai jenis visualisasi data yang dapat kita gunakan sebagai referensi.
Pada halaman ini, kita akan melihat beberapa contoh sederhana tentang bagaimana kita dapat menggunakan Matplotlib untuk membuat visualisasi data.
%matplotlib inline
import matplotlib.pyplot as plt
import numpy as np
Fungsi plotting utama dari Matplotlib terdapata di dalam pyplot
modul, dimana telah kita import di atas.
Perhatikan perintah %matplotlib inline
dimana perintah tersebut adalah perintah “IPython magic” yang spesifik digunakan untuk Jupyter notebook untuk menampilkan plot secara “inline” di dalam notebook itu sendiri.
Plotting functions and lines#
x = np.linspace(0, 10, 100)
plt.plot(x, np.sin(x))
plt.show()
Tambahkan label dan ranges pada sumbu x:
x = np.linspace(0, 10, 100)
plt.plot(x, np.sin(x))
plt.xlim([2, 8])
plt.ylim([0, 0.75])
plt.xlabel("x-axis")
plt.ylabel("y-axis")
plt.show()
x = np.linspace(0, 10, 10)
plt.plot(x, np.sin(x), label=("sin(x)"), linestyle="", marker="o")
plt.ylabel("f(x)")
plt.xlabel("x")
plt.legend(loc="lower left")
plt.show()
Scatter plots#
rng = np.random.RandomState(123)
x = rng.normal(size=500)
y = rng.normal(size=500)
plt.scatter(x, y)
plt.show()
Bar plots#
# input data
means = [5, 8, 10]
stddevs = [0.2, 0.4, 0.5]
bar_labels = ["bar 1", "bar 2", "bar 3"]
# plot bars
x_pos = list(range(len(bar_labels)))
plt.bar(x_pos, means, yerr=stddevs)
plt.show()
Histograms#
rng = np.random.RandomState(123)
x = rng.normal(0, 20, 1000)
# fixed bin size
bins = np.arange(-100, 100, 5) # fixed bin size
plt.hist(x, bins=bins)
plt.show()
rng = np.random.RandomState(123)
x1 = rng.normal(0, 20, 1000)
x2 = rng.normal(15, 10, 1000)
# fixed bin size
bins = np.arange(-100, 100, 5) # fixed bin size
plt.hist(x1, bins=bins, alpha=0.5)
plt.hist(x2, bins=bins, alpha=0.5)
plt.show()
Subplots#
x = range(11)
y = range(11)
fig, ax = plt.subplots(nrows=2, ncols=3, sharex=True, sharey=True)
for row in ax:
for col in row:
col.plot(x, y)
plt.show()
Colors and markers#
x = np.linspace(0, 10, 100)
plt.plot(x, np.sin(x), color="blue", marker="^", linestyle="")
plt.show()
Saving plots#
Format file untuk output plot yang akan disimpan dapat dispesifikasikan sebagai suffix atau extension file (.png, .svg, .jpg, .pdf, dll), Kami merekomendasikan untuk menggunakan format vector graphics (.svg, .pdf) karena memiliki ukuran yang lebih kecil dibanding format bitmap graphics (.png, .jpg) dan tidak memiliki batasan resolusi.
x = np.linspace(0, 10, 100)
plt.plot(x, np.sin(x))
plt.savefig("myplot.png", dpi=300)
plt.savefig("myplot.pdf")
plt.show()