Monday, June 11, 2018

Visualisasi Matplotlib - Plot Scatter Sederhana

Tipe plot lain yang biasa digunakan adalah plot scatter/sebar sederhana, sepupu dekat dari plot line/garis. Alih-alih titik yang digabung dengan segmen garis, di sini titik diwakili secara individual dengan titik, lingkaran, atau bentuk lainnya.

Untuk script Python materi plot scatter dapat di download di https://drive.google.com/open?id=1pZ3-RGGUMSKHkeI5A1ErlFlA4ERTbdDS

Kami akan mulai dengan menyiapkan notebook untuk merencanakan dan mengimpor fungsi yang akan kami gunakan:

%matplotlib inline
import matplotlib.pyplot as plt
plt.style.use('seaborn-whitegrid')
import numpy as np

Plot Scatter Dengan plt.plot
Di bagian sebelumnya, kami melihat plt.plot / ax.plot untuk membuat plot garis. Ternyata fungsi yang sama ini bisa menghasilkan plot scatter juga:

x = np.linspace(0, 10, 30)
y = np.sin(x)

plt.plot(x, y, 'o', color='black');
Argumen ketiga dalam pemanggilan fungsi adalah karakter yang mewakili jenis simbol yang digunakan untuk plotting. Anda juga dapat menentukan opsi seperti '-', '--' untuk mengontrol model garis, model penanda memiliki kumpulan kode string singkatnya sendiri. Daftar lengkap simbol yang tersedia dapat dilihat dalam dokumentasi plt.plot, atau dalam dokumentasi online Matplotlib. Sebagian besar kemungkinannya cukup intuitif, dan kami akan menampilkan sejumlah yang lebih umum di sini:

rng = np.random.RandomState(0)
for marker in ['o', '.', ',', 'x', '+', 'v', '^', '<', '>', 's', 'd']:
    plt.plot(rng.rand(5), rng.rand(5), marker,
             label="marker='{0}'".format(marker))
plt.legend(numpoints=1)
plt.xlim(0, 1.8);
Untuk lebih banyak kemungkinan, kode-kode karakter ini dapat digunakan bersama dengan kode garis dan warna untuk memplot titik-titik bersama dengan garis yang menghubungkannya:

plt.plot(x, y, '-ok');
Argumen kata kunci tambahan untuk plt.plot menentukan berbagai properti garis dan marker:

plt.plot(x, y, '-p', color='gray',
         markersize=15, linewidth=4,
         markerfacecolor='white',
         markeredgecolor='gray',
         markeredgewidth=2)
plt.ylim(-1.2, 1.2);
Fleksibilitas jenis ini dalam fungsi plt.plot memungkinkan berbagai kemungkinan opsi visualisasi. Untuk keterangan lengkap tentang opsi yang tersedia, lihat dokumentasi plt.plot.

Plot Scatter Dengan plt.scatter
Metode kedua yang lebih powerful untuk membuat plot scatter adalah fungsi plt.scatter, yang penggunaannya sangat mirip dengan fungsi plt.plot:

plt.scatter(x, y, marker='o');
Perbedaan utama plt.scatter dari plt.plot adalah ia dapat digunakan untuk membuat plot scatter di mana property setiap titik individual (ukuran, warna wajah, warna tepi, dll.) Dapat dikontrol secara individual atau dipetakan ke data.

Mari kita tunjukkan ini dengan membuat plot scatter acak dengan banyak warna dan ukuran. Untuk lebih baik melihat hasil yang tumpang tindih, kami juga akan menggunakan kata kunci alpha untuk menyesuaikan tingkat transparansi:

rng = np.random.RandomState(0)
x = rng.randn(100)
y = rng.randn(100)
colors = rng.rand(100)
sizes = 1000 * rng.rand(100)

plt.scatter(x, y, c=colors, s=sizes, alpha=0.3,
            cmap='viridis')
plt.colorbar();  # show color scale
Perhatikan bahwa argumen warna secara otomatis dipetakan ke skala warna (diperlihatkan di sini oleh perintah colorbar()), dan bahwa argumen ukuran diberikan dalam piksel. Dengan cara ini, warna dan ukuran poin dapat digunakan untuk menyampaikan informasi dalam visualisasi, untuk memvisualisasikan data multidimensi.

Sebagai contoh, kita dapat menggunakan data Iris dari Scikit-Learn, di mana setiap sampel adalah salah satu dari tiga jenis bunga yang memiliki ukuran kelopak dan sepal yang diukur dengan hati-hati:

from sklearn.datasets import load_iris
iris = load_iris()
features = iris.data.T

plt.scatter(features[0], features[1], alpha=0.2,
            s=100*features[3], c=iris.target, cmap='viridis')
plt.xlabel(iris.feature_names[0])
plt.ylabel(iris.feature_names[1]);
Kita dapat melihat bahwa plot pencar ini telah memberi kita kemampuan untuk secara simultan mengeksplorasi empat dimensi data yang berbeda: lokasi (x, y) dari setiap titik sesuai dengan panjang dan lebar sepal, ukuran titik terkait dengan kelopak lebar, dan warnanya terkait dengan spesies bunga tertentu. Multi warna dan plot scatter multi fitur seperti ini dapat berguna baik untuk eksplorasi dan penyajian data.

---*** SEMOGA BERMANFAAT ***---

No comments:

Post a Comment