Plotly - Plot Kotak Plot Biola dan Plot Kontur
Bab ini memfokuskan pada pemahaman rinci tentang berbagai plot termasuk plot kotak, plot biola, plot kontur dan plot quiver. Awalnya, kita akan mulai dengan Box Plot mengikuti.
Plot Kotak
Plot kotak menampilkan ringkasan sekumpulan data yang berisi minimum, first quartile, median, third quartile, dan maximum. Dalam plot kotak, kami menggambar kotak dari kuartil pertama ke kuartil ketiga. Garis vertikal melewati kotak di median. Garis yang memanjang secara vertikal dari kotak yang menunjukkan variabilitas di luar kuartil atas dan bawah disebut kumis. Karenanya, plot kotak juga dikenal sebagai kotak danwhisker plot. Kumis bergerak dari setiap kuartil ke minimum atau maksimum.
Untuk menggambar bagan Kotak, kita harus menggunakan go.Box()fungsi. Seri data dapat diberikan ke parameter x atau y. Dengan demikian, plot kotak akan digambar secara horizontal atau vertikal. Dalam contoh berikut, angka penjualan suatu perusahaan tertentu di berbagai cabangnya diubah dalam plot kotak horizontal. Ini menunjukkan median dari nilai minimum dan maksimum.
trace1 = go.Box(y = [1140,1460,489,594,502,508,370,200])
data = [trace1]
fig = go.Figure(data)
iplot(fig)
Outputnya adalah sebagai berikut -
Itu go.Box()fungsi dapat diberikan berbagai parameter lain untuk mengontrol tampilan dan perilaku plot kotak. Salah satunya adalah parameter boxmean.
Itu boxmeanparameter disetel ke true secara default. Hasilnya, rata-rata distribusi yang mendasari kotak digambar sebagai garis putus-putus di dalam kotak. Jika diset ke sd, deviasi standar dari distribusi juga digambar.
Itu boxpoints parameter secara default sama dengan "outliers". Hanya titik sampel yang terletak di luar kumis yang ditampilkan. Jika" dicurigai pencilan ", titik pencilan ditampilkan dan titik yang kurang dari 4" Q1-3 "Q3 atau lebih besar dari 4" Q3-3 "Q1 disorot. Jika" False ", hanya kotak yang ditampilkan tanpa titik sampel.
Dalam contoh berikut, file box trace digambar dengan deviasi standar dan titik pencilan.
trc = go.Box(
y = [
0.75, 5.25, 5.5, 6, 6.2, 6.6, 6.80, 7.0, 7.2, 7.5, 7.5, 7.75, 8.15,
8.15, 8.65, 8.93, 9.2, 9.5, 10, 10.25, 11.5, 12, 16, 20.90, 22.3, 23.25
],
boxpoints = 'suspectedoutliers', boxmean = 'sd'
)
data = [trc]
fig = go.Figure(data)
iplot(fig)
Output yang sama dinyatakan di bawah ini -
Plot Biola
Plot biola mirip dengan plot kotak, hanya saja plot tersebut juga menunjukkan kepadatan probabilitas data pada nilai yang berbeda. Plot biola akan menyertakan penanda untuk median data dan kotak yang menunjukkan kisaran interkuartil, seperti pada plot kotak standar. Dihamparkan pada plot kotak ini adalah perkiraan kepadatan kernel. Seperti plot kotak, plot biola digunakan untuk mewakili perbandingan distribusi variabel (atau distribusi sampel) di berbagai "kategori".
Plot biola lebih informatif daripada plot kotak biasa. Faktanya, meskipun plot kotak hanya menampilkan statistik ringkasan seperti mean / median dan rentang interkuartil, plot biola menunjukkanfull distribution of the data.
Objek jejak biola dikembalikan oleh go.Violin() berfungsi di graph_objectsmodul. Untuk menampilkan plot kotak yang mendasari, fileboxplot_visibleatribut disetel ke True. Begitu pula dengan settingmeanline_visible properti true, garis yang sesuai dengan rata-rata sampel ditampilkan di dalam biola.
Contoh berikut menunjukkan bagaimana plot biola ditampilkan menggunakan fungsionalitas plotly.
import numpy as np
np.random.seed(10)
c1 = np.random.normal(100, 10, 200)
c2 = np.random.normal(80, 30, 200)
trace1 = go.Violin(y = c1, meanline_visible = True)
trace2 = go.Violin(y = c2, box_visible = True)
data = [trace1, trace2]
fig = go.Figure(data = data)
iplot(fig)
Outputnya adalah sebagai berikut -
Plot kontur
Plot kontur 2D menunjukkan garis kontur dari larik numerik 2D z, yaitu garis interpolasi dari isovaluesdari z. Garis kontur fungsi dua variabel adalah kurva di mana fungsi tersebut memiliki nilai konstan, sehingga kurva tersebut menghubungkan titik-titik yang memiliki nilai yang sama.
Plot kontur cocok jika Anda ingin melihat bagaimana beberapa nilai Z berubah sebagai fungsi dari dua input, X dan Y seperti yang Z = f(X,Y). Garis kontur atau isoline dari fungsi dua variabel adalah kurva di mana fungsi tersebut memiliki nilai konstan.
Variabel independen x dan y biasanya dibatasi pada grid biasa yang disebut meshgrid. Numpy.meshgrid membuat kisi persegi panjang dari larik nilai x dan larik nilai y.
Mari kita buat dulu nilai data untuk x, y dan z menggunakan linspace()fungsi dari perpustakaan Numpy. Kami membuatmeshgrid dari nilai x dan y dan dapatkan larik z yang terdiri dari akar kuadrat dari x2+y2
Kita punya go.Contour() berfungsi di graph_objects modul yang membutuhkan x,y dan zatribut. Potongan kode berikut menampilkan plot kontur x,y dan z nilai dihitung seperti di atas.
import numpy as np
xlist = np.linspace(-3.0, 3.0, 100)
ylist = np.linspace(-3.0, 3.0, 100)
X, Y = np.meshgrid(xlist, ylist)
Z = np.sqrt(X**2 + Y**2)
trace = go.Contour(x = xlist, y = ylist, z = Z)
data = [trace]
fig = go.Figure(data)
iplot(fig)
Outputnya adalah sebagai berikut -
Plot kontur dapat disesuaikan dengan satu atau lebih parameter berikut -
Transpose (boolean) - Mentransposisi data z.
Jika xtype (atau ytype) sama dengan "array", koordinat x / y diberikan oleh "x" / "y". Jika "diskalakan", koordinat x diberikan oleh "x0" dan "dx".
Itu connectgaps parameter menentukan apakah celah dalam data z diisi atau tidak.
Nilai default ncontoursparameternya adalah 15. Jumlah kontur sebenarnya akan dipilih secara otomatis menjadi kurang dari atau sama dengan nilai `nkontur`. Memiliki efek hanya jika `autocontour` adalah" True ".
Jenis kontur secara default: "levels"sehingga data direpresentasikan sebagai plot kontur dengan beberapa level ditampilkan. If constrain, data direpresentasikan sebagai batasan dengan wilayah tidak valid berarsir seperti yang ditentukan oleh operation dan value parameter.
showlines - Menentukan apakah garis kontur digambar atau tidak.
zauto adalah True secara default dan menentukan apakah domain warna dihitung berkenaan dengan data masukan (di sini di `z`) atau batas yang ditetapkan di`zmin`dan`zmax`Default menjadi`False`ketika` zmin` dan `zmax` disetel oleh pengguna.
Plot yang tenang
Plot Quiver juga dikenal sebagai velocity plot. Ini menampilkan vektor kecepatan sebagai panah dengan komponen (u,v) pada titik-titik (x, y). Untuk menggambar plot Quiver, kami akan menggunakancreate_quiver() fungsi yang didefinisikan dalam figure_factory modul di Plotly.
Python API Plotly berisi modul pabrik gambar yang mencakup banyak fungsi pembungkus yang membuat jenis bagan unik yang belum disertakan di plotly.js, Pustaka grafik sumber terbuka Plotly.
Fungsi create_quiver () menerima parameter berikut -
x - x koordinat lokasi panah
y - koordinat y dari lokasi panah
u - x komponen vektor panah
v - komponen y dari vektor panah
scale - ukuran sisik panah
arrow_scale - panjang mata panah.
angle - sudut panah.
Kode berikut membuat plot bergetar sederhana di notebook Jupyter -
import plotly.figure_factory as ff
import numpy as np
x,y = np.meshgrid(np.arange(-2, 2, .2), np.arange(-2, 2, .25))
z = x*np.exp(-x**2 - y**2)
v, u = np.gradient(z, .2, .2)
# Create quiver figure
fig = ff.create_quiver(x, y, u, v,
scale = .25, arrow_scale = .4,
name = 'quiver', line = dict(width = 1))
iplot(fig)
Output dari kode tersebut adalah sebagai berikut -