介绍一个 Python 模块,绘制超级惊艳的可视化动图

f2f885091688a5129589a47593b255a3.gif

作者 | 欣一

来源 | Python爱好者集中营

今天小编给大家介绍一款可视化模块,使用它可以绘制出十分惊艳的动图效果,那么当然第一步我们首先是要安装一下该模块,通过pip命令行来安装

pip install ipyvizzu

2dd2e7f022b9365ebf3f373e309d0c9d.png

牛刀小试

我们首先来简单地使用该模块来绘制一张动图,用Pandas导入数据集,代码如下

import pandas as pd
from ipyvizzu import Chart, Data, Config

data_frame = pd.read_csv("titanic.csv")

在导入数据集完毕之后,小编先来介绍一下使用该模块的大致步骤,我们实例化Data()对象,然后将导入的数据集放置其中,代码如下

data = Data()
data.add_data_frame(data_frame)

然后我们再实例化图表对象Chart(),将含有数据集的data放置其中

chart = Chart()
chart.animate(data)

接下来我们开始绘制图表,需要指定好的是图表的一些属性,例如直方图的话就是X轴Y轴该放置什么样的数据,颜色选择是默认的还是需要另外指定的,以及标题等等

chart.animate(Config({"x": "Count", "y": "Sex", "label": "Count","title":"Passengers of the Titanic"}))

output

6414eec719b99a6569f03466fdd76fd3.png

然后我们再此基础之上,在添加上下面的代码:

chart.animate(Config({"x": ["Count","Survived"], "label": ["Count","Survived"], "color": "Survived"}))

output

a273abf0168b3f638e8d8945dc8d5665.gif

因此该模块绘制出来的所谓的动图,其实就是若干张静态图表的叠加,我们不妨来看一下完整的案例。

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

2b3172ac620986dc69acb16660eab9a5.gif

1d75d1eba8ef339ac7d2e2a226c35709.png

散点图与直方图之间的动图转变

因为篇幅有限,小编在这里也不太可能一次性将这个知识点讲完,读者可以自行去官网上查阅,github的地址是:

https://github.com/vizzuhq/ipyvizzu/tree/main

这里小编尝试来绘制绘制一下散点图与直方图之间的动图转变,首先是绘制散点图,代码如下

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

9a3a8d2163a8628e00b257d84bc2ebe7.png

我们通过title参数在设置标题,size参数在设置散点的大小以及color参数在设置散点的颜色,接下来我们来绘制直方图,代码如下:

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

05006a8541759b7194535b9f9e6c0098.gif

然后我们在直方图上标上标记,代码如下:

chart.animate(
    Config(
        {"channels": {"x": {"set": ["Value 2 (+)"]}, "label": {"set": ["Value 2 (+)"]}}}
    )
)

我们总体来看一下出来的动图效果,如下图所示:

01f5783806fb3267120e2e5f57407af5.gif

无论是静态的图表还是动态,还有其他很多的案例,具体可以查阅以下的链接:https://vizzuhq.github.io/ipyvizzu/examples/examples.html

4bdf5b8c168b07c49364a2b18d7d01c4.gif

技术

强大的Gensim库用于NLP文本分析

资讯

何同学又上热搜了,这次为什么?

技术

手把手教你用Python绘制桑葚图!

技术

用Python打造一个语音合成系统

58b4ba16d8baae64d1898644a4ab1106.png

分享

2ba5a2fa3080a84df96fffda98eae8d7.png

点收藏

125d07db9138c067c480b2967d4235f5.png

点点赞

40dbd4951d08152cf8e5989f636ae1b1.png

点在看

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值