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中的ctime()方法使用教程
May 22 Python
深入理解python函数递归和生成器
Jun 06 Python
Python实现将一个大文件按段落分隔为多个小文件的简单操作方法
Apr 17 Python
Python基础教程之浅拷贝和深拷贝实例详解
Jul 15 Python
用Python实现随机森林算法的示例
Aug 24 Python
使用Template格式化Python字符串的方法
Jan 22 Python
Python mutiprocessing多线程池pool操作示例
Jan 30 Python
使用Python做垃圾分类的原理及实例代码附源码
Jul 02 Python
python实现对变位词的判断方法
Apr 05 Python
python如何从键盘获取输入实例
Jun 18 Python
python开发一款翻译工具
Oct 10 Python
详解Python类和对象内容
Jun 22 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 读取大文件的X行到Y行内容的实现代码
2013/06/24 PHP
php登陆页的密码处理方式分享
2013/10/14 PHP
PHP Hash算法:Times33算法代码实例
2015/05/13 PHP
PHP+MariaDB数据库操作基本技巧备忘总结
2018/05/21 PHP
PHP+iframe模拟Ajax上传文件功能示例
2019/07/02 PHP
jQuery 获取对象 根据属性、内容匹配, 还有表单元素匹配
2010/05/31 Javascript
javascript 判断中文字符长度的函数代码
2012/08/27 Javascript
AngularJs  unit-testing(单元测试)详解
2016/09/02 Javascript
KnockoutJS 3.X API 第四章之表单value绑定
2016/10/10 Javascript
angularjs项目的页面跳转如何实现(5种方法)
2017/05/25 Javascript
Vue.js中兄弟组件之间互相传值实例
2017/06/01 Javascript
在Vue中使用echarts的实例代码(3种图)
2017/07/10 Javascript
js 开发之autocomplete="off"在chrom中失效的解决办法
2017/09/28 Javascript
详解vue项目首页加载速度优化
2017/10/18 Javascript
详解Vue2 添加对scss的支持
2019/01/02 Javascript
JSONP解决JS跨域问题的实现
2020/05/25 Javascript
vue使用Sass时报错问题的解决方法
2020/10/14 Javascript
vue-drawer-layout实现手势滑出菜单栏
2020/11/19 Vue.js
Python易忽视知识点小结
2015/05/25 Python
利用python批量修改word文件名的方法示例
2017/10/17 Python
Python简单计算数组元素平均值的方法示例
2017/12/26 Python
python导出hive数据表的schema实例代码
2018/01/22 Python
通过celery异步处理一个查询任务的完整代码
2019/11/19 Python
python基于celery实现异步任务周期任务定时任务
2019/12/30 Python
使用Python对Dicom文件进行读取与写入的实现
2020/04/20 Python
使用Python实现批量ping操作方法
2020/05/06 Python
Python unittest装饰器实现原理及代码
2020/09/08 Python
澳大利亚足球鞋和服装购物网站:Ultra Football
2018/10/11 全球购物
师说教学反思
2014/02/07 职场文书
《彩色世界》教学反思
2014/04/12 职场文书
运动会标语
2014/06/21 职场文书
教师自我剖析材料(群众路线)
2014/09/29 职场文书
公务员个人考察材料
2014/12/23 职场文书
2015年检验科工作总结
2015/04/27 职场文书
Java Socket实现Redis客户端的详细说明
2021/05/26 Redis
HTML5基础学习之文本标签控制
2022/03/25 HTML / CSS