Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Kongsi modul visualisasi Python yang popular, mudah dan cepat untuk bermula! !

Kongsi modul visualisasi Python yang popular, mudah dan cepat untuk bermula! !

WBOY
WBOYke hadapan
2023-04-12 11:28:151271semak imbas

Kongsi modul visualisasi Python yang popular, mudah dan cepat untuk bermula! !

Apakah itu Altair?

Altair dipanggil perpustakaan visualisasi statistik kerana ia boleh memahami, memahami dan menganalisis data secara menyeluruh melalui klasifikasi dan pengagregatan, transformasi data, interaksi data, komposit grafik, dll., dan proses pemasangannya juga sangat mudah , laksanakannya terus melalui arahan pip, seperti berikut:

pip install altair
pip install vega_datasets
pip install altair_viewer

Jika anda menggunakan pengurus pakej conda untuk memasang modul Altair, kodnya adalah seperti berikut:

conda install -c conda-forge altair vega_datasets

Pengalaman pertama dengan Altair

Mari cuba lukis histogram Mula-mula, buat set data DataFrame Kodnya adalah seperti berikut:

df = pd.DataFrame({"brand":["iPhone","Xiaomi","HuaWei","Vivo"],
"profit(B)":[200,55,88,60]})

Kemudian kod untuk melukis histogram: <.>

import altair as alt
import pandas as pd
import altair_viewer
chart = alt.Chart(df).mark_bar().encode(x="brand:N",y="profit(B):Q")
# 展示数据,调用display()方法
altair_viewer.display(chart,inline=True)
output

Kongsi modul visualisasi Python yang popular, mudah dan cepat untuk bermula! !

Dari perspektif keseluruhan struktur sintaks, mula-mula gunakan alt.Chart() untuk menentukan set data yang akan digunakan dan kemudian gunakan kaedah instance mark_*() untuk melukis Gaya carta, dan akhirnya nyatakan data yang diwakili oleh Jenis pembolehubah yang terlibat dalam graf Hanya dengan cara ini graf yang dilukis boleh memberi kesan yang kita harapkan.

N mewakili pembolehubah nominal (Nominal Sebagai contoh, jenama telefon bimbit adalah semua kata nama khas, manakala Q mewakili pembolehubah berangka (Kuantitatif), yang boleh dibahagikan kepada data diskret). dan data berterusan (berterusan), sebagai tambahan kepada data siri masa, singkatan ialah T dan pembolehubah ordinal (O), sebagai contoh, penarafan pedagang semasa proses membeli-belah dalam talian mempunyai 1-5 bintang.

Menyimpan carta

Untuk menyimpan carta akhir, kita boleh terus memanggil kaedah save() untuk menyimpan objek sebagai fail HTML Kodnya adalah seperti berikut:

chart.save("chart.html")
Ia juga boleh disimpan sebagai fail JSON, yang sangat serupa dari sudut pandangan kod.

chart.save("chart.json")
Sudah tentu kita juga boleh menyimpan fail dalam format imej, seperti yang ditunjukkan di bawah:

Kongsi modul visualisasi Python yang popular, mudah dan cepat untuk bermula! !

Operasi lanjutan Altair

Berdasarkan di atas, kami terus memperoleh dan mengembangkannya Sebagai contoh, jika kami ingin melukis carta bar mendatar dan menukar data pada paksi-X dan paksi-Y, kodnya adalah seperti berikut:

chart = alt.Chart(df).mark_bar().encode(x="profit(B):Q", y="brand:N")
chart.save("chart1.html")
output

Kongsi modul visualisasi Python yang popular, mudah dan cepat untuk bermula! !

Pada masa yang sama, kami juga cuba melukis carta garis Kaedah mark_line() dipanggil dan kodnya adalah seperti berikut:

## 创建一组新的数据,以日期为行索引值
np.random.seed(29)
value = np.random.randn(365)
data = np.cumsum(value)
date = pd.date_range(start="20220101", end="20221231")
df = pd.DataFrame({"num": data}, index=date)
line_chart = alt.Chart(df.reset_index()).mark_line().encode(x="index:T", y="num:Q")
line_chart.save("chart2.html")
output

Kongsi modul visualisasi Python yang popular, mudah dan cepat untuk bermula! !

Kita juga boleh melukis carta Gantt, yang biasanya digunakan dalam pengurusan projek Paksi-X menambah masa dan tarikh, manakala paksi-Y mewakili Ia adalah kemajuan projek Kodnya adalah seperti berikut:

project = [{"project": "Proj1", "start_time": "2022-01-16", "end_time": "2022-03-20"},
{"project": "Proj2", "start_time": "2022-04-12", "end_time": "2022-11-20"},
......
]
df = alt.Data(values=project)
chart = alt.Chart(df).mark_bar().encode(
 alt.X("start_time:T",
 axis=alt.Axis(format="%x",
 formatType="time",
 tickCount=3),
 scale=alt.Scale(domain=[alt.DateTime(year=2022, month=1, date=1),
 alt.DateTime(year=2022, month=12, date=1)])),
 alt.X2("end_time:T"),
 alt.Y("project:N", axis=alt.Axis(labelAlign="left",
labelFontSize=15,
labelOffset=0,
labelPadding=50)),
 color=alt.Color("project:N", legend=alt.Legend(labelFontSize=12,
symbolOpacity=0.7,
titleFontSize=15)))
chart.save("chart_gantt.html")
output

Kongsi modul visualisasi Python yang popular, mudah dan cepat untuk bermula! !

Daripada gambar di atas, kita dapat melihat beberapa projek sedang diusahakan oleh pasukan Kemajuan setiap projek adalah berbeza Sudah tentu, jangka masa projek yang berbeza juga adalah sangat intuitif apabila ditunjukkan pada carta.

Seterusnya, kami melukis plot serakan, memanggil kaedah mark_circle(), kodnya adalah seperti berikut:

df = data.cars()
## 筛选出地区是“USA”也就是美国的乘用车数据
df_1 = alt.Chart(df).transform_filter(
 alt.datum.Origin == "USA"
)
df = data.cars()
df_1 = alt.Chart(df).transform_filter(
 alt.datum.Origin == "USA"
)
chart = df_1.mark_circle().encode(
 alt.X("Horsepower:Q"),
 alt.Y("Miles_per_Gallon:Q")
)
chart.save("chart_dots.html")
output

Kongsi modul visualisasi Python yang popular, mudah dan cepat untuk bermula! !

Sudah tentu kita boleh mengoptimumkannya lagi untuk menjadikan carta lebih cantik dan menambah beberapa warna Kodnya adalah seperti berikut:

chart = df_1.mark_circle(color=alt.RadialGradient("radial",[alt.GradientStop("white", 0.0),
alt.GradientStop("red", 1.0)]),
 size=160).encode(
 alt.X("Horsepower:Q", scale=alt.Scale(zero=False,padding=20)),
 alt.Y("Miles_per_Gallon:Q", scale=alt.Scale(zero=False,padding=20))
)
output

Kongsi modul visualisasi Python yang popular, mudah dan cepat untuk bermula! !Kami menukar saiz titik taburan Saiz mata taburan yang berbeza mewakili nilai yang berbeza.

Atas ialah kandungan terperinci Kongsi modul visualisasi Python yang popular, mudah dan cepat untuk bermula! !. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

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