16 个动态图!一款好用到爆的 Python 可视化利器

Python 数据可视化神器—Pyecharts 数据分析常用图表绘制 阅读详情

2b1c0136a50374febb5c8eb52a723819.png

一般提及数据可视化,会Python的读者朋友可能第一时间想到的就是matplotlib模块或者是seaborn模块,而谈及绘制动态图表,大家想到的比较多的是Plotly或者是Pyecharts。

今天小编来为大家介绍另外一个绘制动态图表的模块,使用起来也是非常的便捷,而且绘制出来的图表也是十分的精湛好看,它叫pygal,相比较seaborn等常用的模块相比,该模块的优点有:

  • 高度可定制,而且用法简单

  • 图表可交互性强

  • 图像可导出SVG格式(矢量图形)

  • 与Django、Flask等Web框架高度集成

404db482dbaeae8988cf820e7f7fdc1c.png

因此,pygal模块小编以为还是值得拿出来讲讲的,我们大致会说这些内容:

  • pygal模块的安装

  • 柱状图的绘制

  • 折线图的绘制

  • 饼图的绘制

  • 雷达图的绘制

  • 箱型图

  • 仪表盘

  • 树形图

  • 地图

模块的安装

模块的安装十分的简单,通过pip install就能够实现,

pip install pygal

当然国内的小伙伴要是觉得下载的速度慢,也可以通过加入第三方的镜像来提速

pip install -i http://pypi.douban.com/simple/ pygal

柱状图

我们来看柱状图的绘制,先看单列柱状图的例子

view = pygal.Bar()
#图表名
view.title = '柱状图'
#添加数据
view.add('数据', [1,3,5,7,9,11])
#在浏览器中查看
#view.render_in_browser()
view.render_to_file('bar.svg')

output

5ea21108c3fec89e5337e9bf974b5b3a.gif

我们既可以通过render_to_file()方法来导出成文件,也可以通过render_in_browser()方法在浏览器中查看

我们再来看多列柱状图的绘制,代码如下

view.add('奇数', [1,3,5,7,9,11])
view.add('偶数', [2,4,6,8,10,12])

output

ed535685dd76832106793d33efd45fb8.gif

要是我们想将柱状图横过来看,将上述代码当中的一小部分替换成

view = pygal.HorizontalBar()

output

f9aa1d5b543322625fee426ad4c39c62.png

而要是我们想要堆叠形式的柱状图,则需要将上述代码当中的一小部分替换成

view = pygal.HorizontalStackedBar()

output

66f943d6b7fbfc65dc64192d3aa5e17a.png

折线图

对于折线图的绘制,其实与上面柱状图的绘制基本一致,我们直接来看代码

view = pygal.Line()
#图表名
view.title = '折线图'
#添加数据
view.add('奇数', [1,3,5,7,9,11])
view.add('偶数', [2,4,6,8,10,12])
#在浏览器中查看
view.render_in_browser()

output

3a725508762cf8ae0bd33575d9cb51b9.png

也和上面柱状图的代码逻辑保持一致,折线图中也有堆叠式的折线图,只需要将上面的代码当中的一部分替换成

view = pygal.StackedLine(fill=True)

饼图

同样,饼图的绘制也是相似的代码逻辑

view = pygal.Pie()
#图表名
view.title = '饼状图'
#添加数据
view.add('A', 23)
view.add('B', 40)
view.add('C', 15)

view.render_to_file('pie.svg')

output

162f3f5eac8050efcbc9b6a96ee893e1.gif

同时我们也可以绘制圆环图,在饼图的中心掏空出来一块,代码大致相同,只是需要将上面的一小部分替换成

#设置空心圆半径
view = pygal.Pie(inner_radius=0.4)

output

b12b700cd532c8e1f5f222e5c8deca38.png

当我们每个类当中不止只有一个数字的时候,可以绘制多级饼图,代码如下

view = pygal.Pie()
#图表名
view.title = '多级饼图'
#添加数据
view.add('A', [20, 25, 30, 45])
view.add('B', [15, 19, 25, 50])
view.add('C', [18, 22, 28, 35])

view.render_to_file('pie_multi.svg')

output

c12766e4f0153a27c9d15b75757389d0.gif

雷达图

雷达图可以帮我们从多个维度来分析数据,例如我们分析运动员的运动能力的时候,就会从多个维度来综合看待,这个时候雷达图就变得非常有用,代码如下

radar_chart = pygal.Radar()
radar_chart.title = 'NBA 各球员能力比拼'
radar_chart.x_labels = ['得分', '防守', '助攻', '失误', '篮板']
radar_chart.add('库里', [70, 98, 96, 85, 97])
radar_chart.add('詹姆斯', [60, 95, 50, 75, 99])
radar_chart.add('杜兰特', [94, 45, 88, 91, 98])
radar_chart.render_to_file('radar_nba.svg')

output

bc6118ab77b96035615338e50fb012f3.png

当然上面的数据都是瞎编的,喜欢NBA的读者朋友或者是喜欢上面几个球形的读者朋友看了可别喷我哦

箱型图

箱型图可以快速地帮我们了解数据的分布,查看是否存在极值。在pygal模块当中也提供了绘制箱型图的方法,代码如下

box_plot = pygal.Box()
box_plot.title = '各浏览器的使用量'
box_plot.add('Chrome', [6395, 8212, 7520, 7218, 12464, 1660, 2123, 8607])
box_plot.add('Firefox', [7512, 8099, 11700, 2651, 6361, 1044, 8502, 9450])
box_plot.add('360安全卫士', [3472, 2933, 4203, 5510, 5810, 1828, 9013, 4669])
box_plot.add('Edge', [4310, 4109, 5935, 7902, 14404, 13608, 34004, 10210])
box_plot.render_to_file("box.svg")

output

014cbe2b07f544181aa019676ba34e11.gif

仪表盘

仪表盘可以帮助我们量化指标的好坏,代码如下

gauge_chart = pygal.Gauge(human_readable=True)
gauge_chart.title = '不同浏览器的性能差异'
gauge_chart.range = [0, 10000]
gauge_chart.add('Chrome', 8212)
gauge_chart.add('Firefox', 8099)
gauge_chart.add('360安全卫士', 2933)
gauge_chart.add('Edge', 2530)
gauge_chart.render_to_file('gauge_1.svg')

output

e69f0066eb58b63189dcece53068ec77.gif

热力图

热力图可以更加直观的观测每个区域当中数据的分布,代码如下

treemap = pygal.Treemap()
treemap.title = 'Binary TreeMap'
treemap.add('A', [12, 15, 12, 40, 2, 10, 10, 13, 12, 13, 40, None, 19])
treemap.add('B', [4, 2, 5, 10, 30, 4, 2, 7, 4, -10, None, 8, 30, 10])
treemap.add('C', [3, 8, 3, 3, 5, 15, 3, 5, 4, 12])
treemap.add('D', [23, 18])
treemap.add('E', [11, 2, 1, 12, 3, 13, 1, 2, 13,
      14, 3, 1, 2, 10, 1, 10, 12, 1])
treemap.add('F', [31])
treemap.add('G', [15, 9.3, 8.1, 12, 4, 34, 2])
treemap.add('H', [12, 13, 3])
treemap.render_in_browser()

output

d590608a4a53856df9b4fa23435d0189.gif

地图

首先我们来看世界地图的绘制,在这之前,我们还要下载绘制整个世界地图所需要的插件

pip install pygal_maps_world

代码如下

worldmap_chart = pygal.maps.world.World()
worldmap_chart.title = 'Some countries'
worldmap_chart.add('A countries', ['国家名称的缩写'])
worldmap_chart.add('B countries', ['国家名称的缩写'])
worldmap_chart.add('C countries', ['国家名称的缩写'])
worldmap_chart.render_in_browser()

output

2735795d75af3d06a61f09a5400123d4.gif

我们也可以针对不同国家的计数来进行地图的绘制,例如不同国家重大疾病的死亡人数,代码如下

worldmap_chart = pygal.maps.world.World()
worldmap_chart.title = 'Minimum deaths by capital punishement (source: Amnesty International)'
worldmap_chart.add('In 2012', {
  '国家名称的缩写': 数量,
  '国家名称的缩写': 数量,
  .....
})
worldmap_chart.render_in_browser()

output

6cc2a6bc8cf339362895450c66a10e8c.png

我们也可以绘制以五大洲为主的世界地图,代码如下

worldmap_continent = pygal.maps.world.SupranationalWorld()
worldmap_continent.add('Asia', [('asia', 1)])
worldmap_continent.add('Europe', [('europe', 1)])
worldmap_continent.add('Africa', [('africa', 1)])
worldmap_continent.add('North america', [('north_america', 1)])
worldmap_continent.add('South america', [('south_america', 1)])
worldmap_continent.add('Oceania', [('oceania', 1)])
worldmap_continent.add('Antartica', [('antartica', 1)])
worldmap_continent.render_in_browser()

output

9965035045fbac1107af7ea8c26b997e.png

当然我们也可以将某个国家作为绘制,例如我们以法国为例,首先我们需要下载绘制单独某个国家的地图所依赖的插件

pip install pygal_maps_fr

代码如下

fr_chart = pygal.maps.fr.Regions()
fr_chart.title = '法国区域图'
fr_chart.add('区域名称', ['数量'])
fr_chart.render_in_browser()

output

eb0f4e116c48c4429ae4012af951f264.png

但是提及绘制某个国家的地图而言,目前支持的国家的数量并不多,在官网上面也只罗列法国和瑞士这两个国家,其他国家的插件下载,小编尝试下载了一下,都下载不了,后面就等官方的更新与优化。

觉得还不错就给我一个小小的鼓励吧!
手把手教你用Python+可视化工具制作漂亮地图! 大家好,我是老表~ 今天和大家分享的内容是数据可视化相关的,利用kepler.gl进行地图可视化,学习了记得点赞、留言、转发,三连哦~ 这次呢,我想讲讲地图可视化的内容,以前我也写过用Python的内置库绘制地图,但总感觉不够美观。如何才能在短时间内制作漂亮的可视化地图呢,我觉得Python+可视化工具是不错的选择。 以下动态可视化地图就是J哥亲手绘制,展现了一段时间内广州市企事业单位在网上商城采购商品的分布及随时间的变化。 接下来,将手把手教你如何绘制这个动态图,您可在公众号后台... 阅读详情

相关推荐

Python 的可视化

Pandas的文本数据处理Pandas的文本处理DataFrame 的str常用函数DataFrame 的str案例DataFrame 的文本哑变量生成 Pandas的文本处理 import numpy 和 import pandas 导入两个库,再导入数据,若是txt数据则加上 sep = “,” 或者sep = “\t”。 pandas 中有个子模块叫str,专门处理文本数据。 pd str 中常用的函数,还有str.len() 计算每个序列 或者列表连续长度。 a.valu

Yin_Chun的博客 1660

当python遇上echarts(一)了解基本知识

pyecharts 一、简介 Echarts 是一个由百度开源的数据可视化,凭借着良好的交互性,精巧的图表设计,得到了众多开发者的认可。而 Python 是一门富有表达力的语言,很适合用于数据处理。当数据分析遇上数据可视化时,pyecharts 诞生了。 简单来说,pyecharts就是echarts的python接口,方便python用户开发。当然,精通Html,JavaScript的同学,可以直接使用echarts。 二、优势 python中,有很多的可视化模块,比如matplotlib,seaborn

leidawangzi的博客 2万+

UE5抗锯齿实战:如何用TAA解决闪烁问题(附参数优化指南)

本文深入探讨了UE5中TAA(时间性抗锯齿)技术如何有效解决画面闪烁问题,并提供了详细的参数优化指南。通过基础参数配置、高级优化技巧以及材质层面的策略,帮助开发者显著提升视觉质量。文章还介绍了诊断工具链,助力快速定位并解决顽固闪烁问题。

solidity8miner的博客 428

pyecharts

pyecharts 动画图特效,常用的图形类Bar,Line,Scatter,Pie,Map,Geo,Overlap等等。

分享我的点点滴滴,在成长路上与你同行! 1万+

高德地图与CAD图叠加显示方法汇总及优缺点分析

高德地图应用在许多领域,平常我们用的地图导航,除过正常的地图导航指引功能之外,其实还有很多实用的功能。如高德影像地图应用在包括地理、土地测量、水文学、生态学、气象学以及海洋学等方面。AutoCAD在行业中常用于城市规划、平面设计、建筑师等,这其中也要用到高德地图。最常见的是CAD图与高德地图叠加使用,通过两者叠加直观显示,助力行业提高工作效率。那如何将高德地图与CAD图叠加显示呢?下面听小编把方法一一介绍下以及各种方法的优缺点。

vjmap的博客 2728

国产信创服务器软硬件兼容情况1 --- ARM架构

信创,即信息技术应用创新产业,它是数据安全、网络安全的基础,也是新基建的重要组成部分...

一只猿的自我修养 4742

【Python】pyecharts 模块 ① ( ECharts 简介 | pyecharts 简介 | pyecharts 中文网站 | pyecharts 画廊网站 | pyecharts 画 )

一、pyecharts 模块 1、ECharts 简介 2、pyecharts 简介 3、pyecharts 中文网站 4、pyecharts 画廊网站 5、pyecharts 画廊用法

让 学习 成为一种 习惯 ( 韩曙亮 の 技术博客 ) 1万+

机器学习面试笔试求职必背!八股文(1/5)

算法工程师,技术软件类求职机器学习必背八股文 更多算法/业务/HR面等笔试题面试题 —— >个性签名自取! 1. 特征工程: 1.1 为什么要对特征做归一化处理: Feature scaling,常见的提法有“特征归一化”、“标准化”,是数据预处理中的重要技术。特征间的单位(尺度)可能不同,比如身高和体重,比如摄氏度和华氏度,比如房屋面积和房间数,一个特征的变化范围可能是[ 1000 , 10000 ] [1000, 10000][1000,10000],另一个特征的变化范围可能是[ −.

大厂offer宝典 1万+

【Python】pyecharts 介绍

ECharts,一个使用 JavaScript 实现的开源可视化库,可以流畅的运行在 PC 和移动设备上,兼容当前绝大部分浏览器(IE8/9/10/11,Chrome,Firefox,Safari等),底层依赖轻量级的矢量图形库 ZRender,提供直观,交互丰富,可高度个性化定制的数据可视化图表。 Echarts 百度开源可视化工具 http...

康师傅没有眼泪 9706

【浅读论文-红外和可见光图像融合-CNN】Infrared and Visible Image Fusion using a Deep Learning Framework

1.这篇是2018年ICPR会议上发表的一篇文章1。博主个人觉得这算比较早期在VIF(红外光和可见光图像融合)中加入了深度学习这一模型的论文。2.这篇文章并不是完全使用深度学习的模型,模型主体在图像分解和融合仍然采用传统的方法,只有其中一个分支在特征提取和重建方面用到了VGG网络。3.论文地址4.代码地址本文提出了基于深度学习框架的一种新算法。本文提出使用下述论文中Image fusion with guided filtering2中的分解方法将源图像分解为基本部分和细节内容。

一枚博鼠的博客 1709

用扩展点为 Fiori Elements 添加自定义动作:从原理到落地的完整实践

本文介绍了如何在基于OData V4的Fiori Elements应用中通过Extension Points添加自定义Action按钮。主要内容包括: 扩展点动作与标准注解动作的区别:扩展点用于非标准前端流程、组合操作等场景,需通过extensionAPI与框架交互。 扩展点动作的插入位置:可放置在List Report表格工具栏、Object Page页眉/页脚/Section工具栏等位置,并说明了相应的manifest.json配置节点。 配置模型与处理函数契约:详细说明了press、visible/e

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 250

16 个动态图:一款好用到爆的 Python 可视化利器

一般提及数据可视化,会Python的读者朋友可能第一时间想到的就是matplotlib模块或者是seaborn模块,而谈及绘制动态图表,大家想到的比较多的是Plotly或者是Pyecharts。 今天小编来为大家介绍另外一个绘制动态图表的模块,使用起来也是非常的便捷,而且绘制出来的图表也是十分的精湛好看,它叫pygal,相比较seaborn等常用的模块相比,该模块的优点有: 高度可定制,而且用法简单 图表可交互性强 图像可导出SVG格式(矢量图形) 与Django...

m0_62051288的博客 354

基于 YOLOv26 的 PCB 板缺陷检测:工业级视觉实战

本文提出了一种基于YOLOv26的PCB板缺陷检测系统,通过深度学习技术实现对PCB板缺陷的自动化检测。系统能够识别短路、开路、焊点不良等8种常见缺陷,具有高精度、多类别分类和实时推理等优势。文章详细介绍了系统架构,包括数据采集、预处理、YOLOv26模型检测和后处理模块。在代码实现部分,给出了环境配置、数据预处理与增强的具体方法,使用Albumentations库进行图像增强处理。该系统为电子制造业提供了高效、准确的PCB质量检测解决方案,显著提升了检测效率和准确性。

一键难忘的博客 339

3000字/16张炫酷动态图,推荐一款好用到爆的Python可视化利器

一般提及数据可视化,会Python的读者朋友可能第一时间想到的就是matplotlib模块或者是seaborn模块,而谈及绘制动态图表,大家想到的比较多的是Plotly或者是Pyechar...

weixin_43373042的博客 608

C++怎么学?零基础也可以,一份完整学习路线图助你搞定!

提供一条清晰、系统且实践导向的C++学习路径。从基础语法、面向对象、泛型编程、异常处理,逐步深入STL、智能指针、并发编程等现代C++高级特性。无论是新手还是希望提升,通过系统学习与项目实践,助您将理论知识转化为实际解决问题的能力。

Lion_Long的博客 4032

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

【python】如何用python生成并保存gif动态图

有时候在展示实验结果的时候,通过一个gif的动态图可以很好进行表现,通过python生成这种gif图的原理实际上就是通过每次生成图像快照,将它们保存下来,然后通过imageio这个库再将他们组合成一个gif图。 如果没有安装imageio这个库的话那就先安装: pip install imageio 下面通过模拟一段random walk来生成这个gif图。 import numpy as np...

敲代码的quant的博客 1万+

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

美国确诊超100万!教你用Python画出全球疫情动态图

目前,全球新冠疫情还十分严峻。截止4月29日,疫情突破多个标志性的统计节点。其中,全球累计确诊近296万例,累计死亡超20万例;美国累计确诊超100万例,西班牙和意大利累计确诊均超过20万例。 01 全球疫情严峻 美国确诊超100万 根据世卫组织最新实时统计数据,截至欧洲中部时间28日10时(北京时间28日16时),全球范围内,新冠确诊病例较前一日增加76026例,达到2954222例;死亡病例较前一日增加3932例,达到202597例。 美国约翰斯·霍普金斯大学统计...

CDA数据分析师 1397

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

Matplotlib 动态图还可以这样玩,收藏了!

作者:Lemon来源:Python数据之道Matplotlib 动态图还可以这样玩,收藏了!大家好,我是 Lemon。Matplotlib 是 Python 数据可视化中不可或缺的一个可...

Python数据之道 1093

用python画动态图_数据可视化|绘制酷炫的GIF动态图(五)

截至今日,数据可视化的内容已经更新到第五篇。如果你也想跟着我一起学习 matplotlib,可以点击如下传送门前往往期系列文章:01. 准备工作再次声明下我使用的工具和环境:Anaconda+Jupyter Notebook建议你和我使用同样的工具你才能无痛学习这个系统的教程。在 Jupyter Notebook 里要对动态图进行保存,需要ImageMagick这个超强大的图形处理软件的支持。所以...

weixin_39966909的博客 631

python可视化在508

color_mask = np.array(Image.open("aaa.jpg"))#把图片复制粘贴到pythonProject下。# # # 设置字体,中文为SimSun,英文为Times New Roman。# # # 设置字体,中文为SimSun,英文为Times New Roman。# # # 设置字体,中文为SimSun,英文为Times New Roman。创建一个HTML(在同一个目录下)# # 添加标题和标签。# # 添加标题和标签。# # 添加标题和标签。

2301_80917747的博客 920

df python 增加数据_美国确诊超100万!教你用Python画出全球疫情动态图(附数据下载)...

CDA数据分析师 出品【导语】:今天我们教你用Python绘制全球疫情动态图,技术部分请看第二部分。获取数据:扫描下方公众号回复关键字“全球疫情”目前,全球新冠疫情还十分严峻。昨夜今晨,疫情突破多个标志性的统计节点。其中,全球累计确诊近296万例,累计死亡超20万例;美国累计确诊超100万例,西班牙和意大利累计确诊均超过20万例。01全球疫情严峻美国确诊超100万根据世卫组织最新...

weixin_39807954的博客 743

美国网红python图片_美国失业人数突破2200万!这个动态图我用Python画出来了!...

目前,我国新冠疫情已经大幅度好转,各省市在3到4月份已经开始复产复工,连受灾最严重的武汉也解封了,全国的情况逐渐步入正轨。但同时全球疫情十分严峻, 根据美国约翰斯.霍普金斯大学统计的数据显示,截至 北京时间19日晚6时38分 , 全球新冠死亡病例超过16万例,达到161,324例,全球确诊病例突破230万,达2,343,293例。根据数据,目前死亡病例最多的国家是美国,为33,903例。美国同时还...

weixin_39820437的博客 269

9 个非常流行的Python可视化工具及示例

书籍的好处就在于权威和体系健全,刚开始学习的时候你可以只看视频或者听某个人讲课,但等你学完之后,你觉得你掌握了,这时候建议还是得去看一下书籍,看权威技术书籍也是每个程序员必经之路。Python所有方向路线就是把Python常用的技术点做整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照上面的知识点去找对应的学习资源,保证自己学得较为全面。光学理论是没用的,要学会跟着一起敲,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。工欲善其事必先利其器。

qq_56262770的博客 2317

Matplotlib 动态可视化!

大家好,我是 阳哥。Matplotlib 是 Python 数据可视化中不可或缺的一个可视化库,「Python数据之道」之前也给大家分享了一系列 Matplotlib 从基础到进阶的内容,...

Python数据之道 427
上一篇: 你是几级调参侠?
下一篇: 新年新气象,超级文献下载工具更新了!一行命令下载任意文献
Wang_AI
博客等级 码龄12年 996粉丝 162原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值