Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimana untuk membuat Stripplot dengan Jitter dalam Altair Python?

Bagaimana untuk membuat Stripplot dengan Jitter dalam Altair Python?

WBOY
WBOYke hadapan
2023-09-03 18:01:011291semak imbas

Tutorial ini menerangkan cara membuat Stripplot menggunakan Jitter dalam Altair Python. Gunakan carta bar dengan dithering dalam Altair Python untuk memvisualisasikan set data dengan cepat dan mudah yang mengandungi pembolehubah berterusan dan kategorikal. Dalam carta jalur, salah satu pembolehubah ialah pembolehubah kategori dan satu lagi pembolehubah berterusan. Carta jalur ialah sejenis carta serakan. Dengan melihat titik data sebagai titik individu di sepanjang paksi kategori, kita boleh melihat taburan pembolehubah berterusan untuk setiap kategori. Mengasingkan titik data merentasi plot memudahkan untuk memeriksa cara data diedarkan.

Menggunakan fungsi mark_circle() untuk membina carta dan fungsi jitter() untuk menambah kesan jitter, kita boleh mencipta carta bar dengan kesan jitter dalam Altair Python. Pertama, pembolehubah x dan y carta mesti ditentukan menggunakan parameter pengekodan. Kemudian gunakan fungsi mark_circle() untuk mencipta carta dan fungsi jitter() untuk menambah kesan jitter. Anda juga boleh mengubah suai carta dengan mengubah suai label paksi, skema warna dan menambah tajuk. Dengan mengikuti kaedah mudah ini, kita boleh mencipta carta bar yang boleh dibaca dan memberi pengajaran dengan kesan jitter dalam Altair Python.

Tatabahasa

Altair ialah perpustakaan Python yang boleh digunakan untuk mencipta carta jalur dengan dithering. Berikut ialah contoh sintaks untuk mencipta carta jalur dengan dithering menggunakan Altair -

import altair as alt

# create a stripplot with jitter using Altair
alt.Chart(df).mark_circle(size = 14).encode(
   x = alt.X('jitter:Q', title = None, axis = alt.Axis(ticks = True, grid = False, labels = False), scale = alt.Scale()),
   y = alt.Y('Y:Q', scale = alt.Scale()),
   color = alt.Color('C:N', legend = None),
).transform_calculate(
   Jitter = 'sqrt(-2*log(rand()))*cos(2*PI*rand())',
)

Kod yang diberikan mencipta carta bar dengan kesan jitter menggunakan Altair. Kaedah transform_calculate() mengira punca kuasa dua negatif dua kali logaritma asli bagi nombor rawak yang dijana oleh kaedah rand() dalam modul rawak Python, didarab dengan dua kali pi kali nombor rawak lain yang dijana menggunakan kaedah rand() yang sama nilai kosinus , menjana jitter Gaussian pada paksi-x. Ini menambah nilai jitter pada lajur 'jitter' DataFrame. Nilai jitter ini kemudiannya dipetakan pada paksi-x menggunakan pengekodan 'jitter:Q' dalam kaedah alt.X().

Contoh

Kod berikut menggunakan perpustakaan visualisasi Altair dalam Python untuk menjana carta bar dengan kesan jitter. Kod ini mula-mula menggunakan panda.DataFrame() untuk mencipta set data tersuai yang mengandungi 100 nilai x, nilai y dan kategori yang dijana secara rawak. Nilai x dan y mewakili koordinat titik dalam plot, manakala lajur kategori menentukan warna setiap titik.

Kemudian gunakan fungsi alt.Chart() untuk mencipta objek carta dan panggil fungsi mark_circle() untuk menentukan bahawa plot harus bulat. Kaedah encode() digunakan untuk menentukan cara data dipetakan kepada sifat visual plot, seperti kedudukan x dan y serta warna titik. Dalam kes ini, pengekodan x menambah jitter pada paksi-x menggunakan medan terkira yang dipanggil jitter, manakala pengekodan y menentukan nilai y. Pengekodan warna menggunakan lajur kategori untuk mewarnakan mata, dan legenda=Tiada parameter mengalih keluar legenda. Akhir sekali, fungsi transform_calculate() digunakan untuk mengira medan jitter menggunakan formula berdasarkan penjana nombor rawak yang menambah sejumlah kecil hingar rawak kepada nilai-x dan menyebarkan titik secara mendatar.

import altair as alt
import pandas as pd
import numpy as np

# create a custom dataset
custom_data = pd.DataFrame({
   'x_values': np.random.randn(100),
   'y_values': np.random.randn(100),
   'category': np.random.choice(['A', 'B', 'C'], 100)
})

# create a stripplot with jitter using Altair
alt.Chart(custom_data).mark_circle(size = 14).encode(
   x=alt.X('jitter:Q', title = None, 
   axis = alt.Axis(ticks = True, grid = False, labels = False), scale = alt.Scale()),
   y=alt.Y('y_values:Q', scale=alt.Scale()),
   color=alt.Color('category:N', legend = None),
).transform_calculate(
   jitter='sqrt(-2*log(random()))*cos(2*PI*random())',
)

Output

如何在Altair Python中制作带有Jitter的Stripplot?

Contoh

Contoh ini menunjukkan cara membuat carta jalur dengan jitter dalam Altair menggunakan set data Iris. Kod pertama mengimport perpustakaan yang diperlukan daripada perpustakaan vega_datasets, termasuk set data Altair dan Iris. Ia kemudian mencipta carta Altair menggunakan kaedah mark_circle, mencipta bulatan untuk setiap titik data dan mengekodkan pembolehubah x, y dan warna masing-masing menggunakan kelas Altair X, Y dan Warna.

Contoh ini menunjukkan cara membuat carta jalur dengan jitter dalam Altair menggunakan set data Iris. Kod pertama mengimport pustaka yang diperlukan daripada pustaka vega_datasets, termasuk set data Altair dan Iris. Ia kemudian mencipta carta Altair menggunakan kaedah mark_circle, mencipta bulatan untuk setiap titik data dan mengekodkan pembolehubah x, y dan warna masing-masing menggunakan kelas Altair X, Y dan Warna.

import altair as alt
from vega_datasets import data

# load the Iris dataset
iris = data.iris()

# create a stripplot with jitter using Altair
alt.Chart(iris).mark_circle(size = 14).encode(
   x = alt.X('jitter:Q', title = None, axis = alt.Axis(ticks = True, grid = False, labels = False), scale = alt.Scale()),
   y = alt.Y('petalWidth:Q', scale = alt.Scale()),
    color = alt.Color('species:N', legend = None),
).transform_calculate(
   jitter = 'sqrt(-2*log(random()))*cos(2*PI*random())',
)

Output

如何在Altair Python中制作带有Jitter的Stripplot?

Kesimpulan

Ringkasnya, menggunakan dithering untuk mencipta carta bar sangat berguna untuk menunjukkan pengedaran dan kebolehubahan titik data. Pakej Altair Python menjadikannya mudah dan cekap. Pengguna boleh mengikut arahan yang diberikan dalam artikel ini, termasuk mengimport pustaka yang diperlukan, memuatkan data dan pengekodan x, y dan pembolehubah warna, untuk mencipta carta yang mendidik dan cantik. Dengan menggunakan kaedah transform_calculate untuk memasukkan jitter, carta dipertingkatkan lagi kerana kini lebih mudah untuk mengenal pasti titik dan corak data tertentu dalam data.

Secara keseluruhan, Altair ialah alat visualisasi data Python yang berkuasa, dan menggunakan dither untuk mencipta carta jalur hanyalah satu contoh keupayaannya. Anda boleh mencipta pelbagai visualisasi yang berkuasa dan mendidik dengan bereksperimen dengan pelbagai set data dan pengekodan visual. Terima kasih kepada sintaks mudah Altair dan fungsi berkuasa, kemungkinan visualisasi data tidak berkesudahan.

Atas ialah kandungan terperinci Bagaimana untuk membuat Stripplot dengan Jitter dalam Altair Python?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Artikel ini dikembalikan pada:tutorialspoint.com. Jika ada pelanggaran, sila hubungi admin@php.cn Padam