Menggunakan Skala Logarithmik di Matplotlib
Matplotlib adalah salah satu library Python yang paling populer untuk ploting dan visualisasi data. Salah satu fitur yang sangat berguna dalam Matplotlib adalah skala logarithmik, yang memungkinkan kita untuk membuat plot dengan skala nilai yang sangat besar atau kecil.
Dalam contoh di bawah ini, kita akan membuat plot polar dengan skala radius logaritmik.
import matplotlib.pyplot as plt
import numpy as np
theta = np.linspace(0, 2*np.pi, 100)
r = np.exp(theta)
fig = plt.figure()
ax = fig.add_subplot(111, polar=True)
ax.plot(theta, r)
ax.set_yscale('log')
plt.show()
Output:
Plot Polar dengan Skala Logaritmik Theta
Dalam contoh di bawah ini, kita akan membuat plot polar dengan skala theta logaritmik.
import matplotlib.pyplot as plt
import numpy as np
theta = np.linspace(0, 2*np.pi, 100)
r = np.abs(np.sin(theta))
fig = plt.figure()
ax = fig.add_subplot(111, polar=True)
ax.plot(theta, r)
ax.set_xscale('log')
plt.show()
Output:
Skala Logaritmik untuk Label Axis
Kita juga dapat menyesuaikan label axis dengan skala logaritmik di Matplotlib. Berikut adalah contoh-contoh membuat plot dengan skala logaritmik untuk label axis:
import matplotlib.pyplot as plt
import numpy as np
x = np.linspace(1, 10, 100)
y = np.exp(x)
plt.plot(x, y)
plt.xlabel('log10(x)')
plt.ylabel('log10(y)')
plt.xscale('log')
plt.yscale('log')
plt.show()
Output:
Mengubah Format Skala Logaritmik
Kita juga dapat mengubah format skala logaritmik di Matplotlib. Berikut adalah contoh-contoh:
import matplotlib.pyplot as plt
import numpy as np
x = np.linspace(1, 10, 100)
y = np.exp(x)
plt.plot(x, y)
plt.xscale('log')
plt.gca().xaxis.set_major_formatter(plt.FuncFormatter(lambda x, _: '{:.2e}'.format(x)))
plt.show()
Output:
Garis Grid untuk Skala Logaritmik
Kita juga dapat menyesuaikan garis grid untuk plot dengan skala logaritmik di Matplotlib. Berikut adalah contoh-contoh:
import matplotlib.pyplot as plt
import numpy as np
x = np.linspace(1, 10, 100)
y = np.exp(x)
plt.plot(x, y)
plt.xscale('log')
plt.grid(which='both', axis='both')
plt.show()
Output:
Kesimpulan Menggunakan Skala Logaritmik di Matplotlib
Dalam artikel ini, kita telah menjelajahi bagaimana menggunakan skala logaritmik di Matplotlib untuk berbagai jenis plot, opsi customisasi, dan lebih dari satu axis. Dengan menggunakan skala logaritmik, kita dapat mengvisualisasikan data yang memiliki rentang nilai yang sangat besar atau kecil dalam bentuk yang lebih intuitif dan informatif. Apakah Anda membuat plot titik sederhana atau visualisasi 3D kompleks, fitur skala logaritmik Matplotlib memberikan alat yang kuat untuk visualisasi data. Cobalah contoh-contoh di atas untuk meningkatkan keterampilan Anda dalam membuat plot dan berkomunikasi data insight dengan lebih efektif.
Masalah Skala Logaritmik pada Plot Scatter
Pada kode berikut, python tidak menampilkan titik pada scatter plot karena x range yang dipilih tidak memungkinkan penampilan titik.
import matplotlib.pyplot as plt
plt.scatter([.005,.005],[1,2])
plt.xscale('log')
plt.yscale('log')
plt.show()
Namun, jika kita menggunakan kode berikut, maka plot akan ditampilkan dengan baik:
import matplotlib.pyplot as plt
plt.plot([.005,.005],[1,2])
plt.xscale('log')
plt.yscale('log')
plt.show()
Mengapa python tidak memilih x range yang baik dalam kasus ini? Berapa cara untuk mengatasi masalah ini?
Referensi
- Matplotlib 3.9.1 documentation:
matplotlib.pyplot.yscale