介紹一個(gè)Python模塊,繪制超級(jí)驚艷的可視化動(dòng)圖
今天小編給大家介紹一款可視化模塊,使用它可以繪制出十分驚艷的動(dòng)圖效果,那么當(dāng)然第一步我們首先是要安裝一下該模塊,通過(guò)pip命令行來(lái)安裝:
pip install ipyvizzu
牛刀小試
我們首先來(lái)簡(jiǎn)單地使用該模塊來(lái)繪制一張動(dòng)圖,用Pandas導(dǎo)入數(shù)據(jù)集,代碼如下:
import pandas as pd
from ipyvizzu import Chart, Data, Config
data_frame = pd.read_csv("titanic.csv")
在導(dǎo)入數(shù)據(jù)集完畢之后,小編先來(lái)介紹一下使用該模塊的大致步驟,我們實(shí)例化Data()對(duì)象,然后將導(dǎo)入的數(shù)據(jù)集放置其中,代碼如下:
data = Data()
data.add_data_frame(data_frame)
然后我們?cè)賹?shí)例化圖表對(duì)象Chart(),將含有數(shù)據(jù)集的data放置其中:
chart = Chart()
chart.animate(data)
接下來(lái)我們開(kāi)始繪制圖表,需要指定好的是圖表的一些屬性,例如直方圖的話(huà)就是X軸Y軸該放置什么樣的數(shù)據(jù),顏色選擇是默認(rèn)的還是需要另外指定的,以及標(biāo)題等等:
chart.animate(Config({"x": "Count", "y": "Sex", "label": "Count","title":"Passengers of the Titanic"}))
output:
然后我們?cè)俅嘶A(chǔ)之上,在添加上下面的代碼:
chart.animate(Config({"x": ["Count","Survived"], "label": ["Count","Survived"], "color": "Survived"}))
output:
因此該模塊繪制出來(lái)的所謂的動(dòng)圖,其實(shí)就是若干張靜態(tài)圖表的疊加,我們不妨來(lái)看一下完整的案例:
import pandas as pd
from ipyvizzu import Chart, Data, Config
data_frame = pd.read_csv("titanic.csv")
data = Data()
data.add_data_frame(data_frame)
chart = Chart()
chart.animate(data)
chart.animate(Config({"x": "Count", "y": "Sex", "label": "Count","title":"Passengers of the Titanic"}))
chart.animate(Config({"x": ["Count","Survived"], "label": ["Count","Survived"], "color": "Survived"}))
chart.animate(Config({"x": "Count", "y": ["Sex","Survived"]}))
output:
散點(diǎn)圖與直方圖之間的動(dòng)圖轉(zhuǎn)變
因?yàn)槠邢蓿【幵谶@里也不太可能一次性將這個(gè)知識(shí)點(diǎn)講完,讀者可以自行去官網(wǎng)上查閱,github的地址是:https://github.com/vizzuhq/ipyvizzu/tree/main。
這里小編嘗試來(lái)繪制繪制一下散點(diǎn)圖與直方圖之間的動(dòng)圖轉(zhuǎn)變,首先是繪制散點(diǎn)圖,代碼如下:
import pandas as pd
from ipyvizzu import Chart, Data, Config, Style
data_frame = pd.read_csv("chart_types_eu.csv", dtype={"Year": str})
data = Data()
data.add_data_frame(data_frame)
chart = Chart()
chart.animate(data)
chart.animate(
Config(
{
"channels": {
"x": ["Joy factors", "Value 6 (+/-)"],
"y": "Value 5 (+/-)",
"color": "Joy factors",
"size": "Value 2 (+)",
"label": "Country_code",
},
"title": "Bubble Plot",
"geometry": "circle",
}
)
)
output:
我們通過(guò)title參數(shù)在設(shè)置標(biāo)題,size參數(shù)在設(shè)置散點(diǎn)的大小以及color參數(shù)在設(shè)置散點(diǎn)的顏色,接下來(lái)我們來(lái)繪制直方圖,代碼如下:
chart.animate(
Config(
{
"channels": {
"y": "Joy factors",
"x": ["Value 2 (+)", "Country_code"],
"label": None
},
"title": "Bar Chart",
"geometry": "rectangle",
"orientation": "vertical",
}
),
geometry={"delay": 0.7, "duration": 1},
)
output:
然后我們?cè)谥狈綀D上標(biāo)上標(biāo)記,代碼如下:
chart.animate(
Config(
{"channels": {"x": {"set": ["Value 2 (+)"]}, "label": {"set": ["Value 2 (+)"]}}}
)
)
我們總體來(lái)看一下出來(lái)的動(dòng)圖效果,如下圖所示:
無(wú)論是靜態(tài)的圖表還是動(dòng)態(tài),還有其他很多的案例,具體可以查閱以下的鏈接:https://vizzuhq.github.io/ipyvizzu/examples/examples.html