Python可视化动图组件ipyvizzu绘制惊艳的可视化动图


Posted in Python onApril 21, 2022

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

pip install ipyvizzu

牛刀小试

我们首先来简单地使用该模块来绘制一张动图,用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:

Python可视化动图组件ipyvizzu绘制惊艳的可视化动图

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

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

output:

Python可视化动图组件ipyvizzu绘制惊艳的可视化动图

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

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:

Python可视化动图组件ipyvizzu绘制惊艳的可视化动图

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

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

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

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:

Python可视化动图组件ipyvizzu绘制惊艳的可视化动图

我们通过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:

Python可视化动图组件ipyvizzu绘制惊艳的可视化动图

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

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

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

Python可视化动图组件ipyvizzu绘制惊艳的可视化动图

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


Tags in this post...

Python 相关文章推荐
Python中threading模块join函数用法实例分析
Jun 04 Python
python相似模块用例
Mar 04 Python
PHP网页抓取之抓取百度贴吧邮箱数据代码分享
Apr 13 Python
独特的python循环语句
Nov 20 Python
Django查询数据库的性能优化示例代码
Sep 24 Python
Python打印“菱形”星号代码方法
Feb 05 Python
Python常见内置高效率函数用法示例
Jul 31 Python
Django文件存储 默认存储系统解析
Aug 02 Python
PyCharm如何导入python项目的方法
Feb 06 Python
pycharm无法导入本地模块的解决方式
Feb 12 Python
Python GUI编程学习笔记之tkinter中messagebox、filedialog控件用法详解
Mar 30 Python
python实现简单贪吃蛇游戏
Sep 29 Python
Python探索生命起源 matplotlib细胞自动机动画演示
Apr 21 #Python
使用python绘制横竖条形图
python多次执行绘制条形图
Apr 20 #Python
Python 数据可视化工具 Pyecharts 安装及应用
python画条形图的具体代码
Python中的matplotlib绘制百分比堆叠柱状图,并为每一个类别设置不同的填充图案
Apr 20 #Python
Pandas 数据编码的十种方法
Apr 20 #Python
You might like
PHP入门之常量简介和系统常量
2014/05/12 PHP
PHP 实现类似js中alert() 提示框
2015/03/18 PHP
JavaScript中的prototype使用说明
2010/04/13 Javascript
jquery实现excel导出的方法
2013/04/04 Javascript
js判断是否为ie的方法小结
2014/01/13 Javascript
jQuery实现单击弹出Div层窗口效果(可关闭可拖动)
2015/09/19 Javascript
每天一篇javascript学习小结(基础知识)
2015/11/10 Javascript
jQuery与Ajax以及序列化
2016/02/01 Javascript
React.js入门学习第一篇
2016/03/30 Javascript
jquery输入数字随机抽奖特效的简单实现代码
2016/06/10 Javascript
jQuery的Each比JS原生for循环性能慢很多的原因
2016/07/05 Javascript
如何通过非数字与字符的方式实现PHP WebShell详解
2017/07/02 Javascript
BootStrap Table实现server分页序号连续显示功能(当前页从上一页的结束序号开始)
2017/09/12 Javascript
深入理解Vuex 模块化(module)
2017/09/26 Javascript
jQuery中图片展示插件highslide.js的简单dom
2018/04/22 jQuery
JS字典Dictionary类定义与用法示例
2019/02/01 Javascript
如何检查一个对象是否为空
2019/04/11 Javascript
Python复制目录结构脚本代码分享
2015/03/06 Python
Python数据结构之翻转链表
2017/02/25 Python
Python中存取文件的4种不同操作
2018/07/02 Python
对Python3.6 IDLE常用快捷键介绍
2018/07/16 Python
利用nohup来开启python文件的方法
2019/01/14 Python
Python 最强编辑器详细使用指南(PyCharm )
2019/09/16 Python
Python调用graphviz绘制结构化图形网络示例
2019/11/22 Python
Python调用shell cmd方法代码示例解析
2020/06/18 Python
CSS3 Flex 弹性布局实例代码详解
2018/11/01 HTML / CSS
在HTML5 Canvas中放入图片和保存为图片的方法
2014/05/03 HTML / CSS
粉红色的鲸鱼:Vineyard Vines
2018/02/17 全球购物
德国足球商店:OUTFITTER
2019/05/06 全球购物
毕业生自我鉴定
2013/11/05 职场文书
《小松树和大松树》教学反思
2014/02/20 职场文书
人民教师求职自荐信
2014/03/12 职场文书
安全资料员岗位职责范本
2014/06/28 职场文书
农林经济管理专业自荐信
2014/09/01 职场文书
教师读书笔记
2015/06/29 职场文书
python+opencv实现视频抽帧示例代码
2021/06/11 Python