连续多期给大家推荐了R语言中的可视化工具包,今天给大家推荐一个我最近发现的特别好用且好看的可视化工具-「ipyvizzu」,该工具不仅支持常见的可视化图表类型,且其默认的配色真的很亮眼,赶紧来一起学习下吧~~
ipyvizzu是一个基于Python语言的可视化工具包,用于创建交互式、动态和自定义的数据可视化。它是在Jupyter Notebook中使用的库,可以轻松地呈现和探索数据。
ipyvizzu基于Vizzu JavaScript库,该库提供了强大的图表和可视化功能。它支持各种类型的图表,包括柱状图、折线图、饼图、散点图等。
使用ipyvizzu,你可以通过简单的代码创建各种图表,并根据需要进行自定义。它提供了丰富的配置选项,允许你修改图表的样式、颜色、标签和其他属性。此外,你还可以添加交互性,使用户能够与图表进行互动,例如缩放、旋转、筛选和排序数据。
pip install ipyvizzu
#or
conda install ipyvizzu
ipyvizzu由于是对Vizzu JavaScript库的封装使用,所以其基本的绘图方式还是以Vizzu为主,只不过在之前引入了python工具的数据读取操作,以下是一个简单的小例子:
#读取数据
import pandas as pd
from ipyvizzu import Chart, Data, Config
df = pd.read_csv(
"https://ipyvizzu.vizzuhq.com/0.17/assets/data/music_data.csv"
)
#实例化Data()对象,然后将导入的数据集放置其中
data = Data()
data.add_df(df)
#再实例化图表对象Chart(),将含有数据集的data放置其中
chart = Chart()
#绘制图表:使用Vizzu库的语法,一些基本的图层属性如画布大小、颜色、图例等可设置
chart.animate(
Config(
{
"channels": {
"y": {"set": ["Popularity"]},
"x": {"set": ["Genres"]},
},
}
)
)
可交互动态样式的
由于ipyvizzu包所能支持的图表类型很多,这里小编就挑选几个不错的图表给大家看下,如下:
import pandas as pd
from ipyvizzu import Chart, Data, Config, Style
df = pd.read_csv(
"https://ipyvizzu.vizzuhq.com/0.17/assets/data/chart_types_eu_data_6.csv",
dtype={"Year": str, "Timeseries": str},
)
data = Data()
data.add_df(df)
chart = Chart()
chart.animate(data)
chart.animate(
Config.percentageBar(
{
"x": "Value 2 (+)",
"y": "Country",
"stackedBy": "Joy factors",
"title": "Percentage Bar Chart",
}
)
)
Percentage Bar Chart
import pandas as pd
from ipyvizzu import Chart, Data, Config, Style
df = pd.read_csv(
"https://ipyvizzu.vizzuhq.com/0.17/assets/data/chart_types_eu.csv",
dtype={"Year": str, "Timeseries": str},
)
data = Data()
data.add_df(df)
chart = Chart()
chart.animate(data)
chart.animate(
Config.bubbleplot(
{
"x": "Value 4 (+/-)",
"y": "Value 5 (+/-)",
"color": "Joy factors",
"dividedBy": "Country",
"size": "Value 3 (+)",
"title": "Bubble Plot",
}
)
)
Bubble Plot
chart.animate(
Config.stream(
{
"x": "Year",
"y": "Revenue",
"stackedBy": "Format",
"title": "Stream Graph",
}
),
Style(
{
"plot": {
"yAxis": {"label": {"numberScale": "K, M, B, T"}},
"xAxis": {"label": {"angle": "-45deg"}},
}
}
),
)
Stream Graph
Stacked Treemap
Stacked Mekko Chart
Coxcomb Chart
「注意」:以上所有绘图结果都是动态的,且所有运行代码都是在Jupyter Notebook中。
更多关于ipyvizzu包的绘图语法和案例,大家可参考:ipyvizzu包官网[1]
参考资料
[1]
ipyvizzu包官网: https://ipyvizzu.vizzuhq.com/latest/。