这 10 个 Python 可视化工具,你用过哪些?-程序员宅基地

技术标签: python  可视化  java  数据分析  大数据  

今天我们会介绍一下10个适用于多个学科的Python数据可视化库,其中有名气很大的也有鲜为人知的

1、matplotlib

0d2b81bf293d6d58f2f1641269caa7ce.png两个直方图

matplotlib 是Python可视化程序库的泰斗。经过十几年它任然是Python使用者最常用的画图库。它的设计和在1980年代被设计的商业化程序语言MATLAB非常接近。

由于 matplotlib 是第一个 Python 可视化程序库,有许多别的程序库都是建立在它的基础上或者直接调用它。

比如pandas和Seaborn就是matplotlib的外包,它们让你能用更少的代码去调用 matplotlib的方法。

虽然用 matplotlib 可以很方便的得到数据的大致信息,但是如果要更快捷简单地制作可供发表的图表就不那么容易了。

就像Chris Moffitt 在“Python可视化工具简介”中提到的一样:“功能非常强大,也非常复杂。”

matplotlib 那有着强烈九十年代气息的默认作图风格也是被吐槽多年。即将发行的matplotlib 2.0 号称会包含许多更时尚的风格。

开发者:John D. Hunter

更多资料:http://matplotlib.org/

2、Seaborn

c1ed684b9cf6fcb2d3fcf34bea54ae98.png

Violinplot (Michael Waskom)

Seaborn利用了matplotlib,用简洁的代码来制作好看的图表。

Seaborn跟matplotlib最大的区别就是它的默认绘图风格和色彩搭配都具有现代美感。

由于Seaborn是构建在matplotlib的基础上的,你需要了解matplotlib从而来调整Seaborn的默认参数。

开发者: Michael Waskom

更多资料:http://seaborn.pydata.org/index.html

3、ggplot

4f48427c727eb03d73f17836d5079250.png

Small multiples (ŷhat)

ggplot 基于R的一个作图包 ggplot2, 同时利用了源于 《图像语法》(The Grammar of Graphics)中的概念。

ggplot 跟 matplotlib 的不同之处是它允许你叠加不同的图层来完成一幅图。比如你可以从轴开始,然后加上点,加上线,趋势线等等。

虽然《图像语法》得到了“接近思维过程”的作图方法的好评,但是习惯了matplotlib的用户可能需要一些时间来适应这个新思维方式。

ggplot的作者提到 ggplot 并不适用于制作非常个性化的图像。它为了操作的简洁而牺牲了图像复杂度。

ggplot is tightly integrated with pandas, so it’s best to store your data in a DataFrame when using ggplot.

ggplot跟pandas的整合度非常高,所以当你使用它的时候,最好将你的数据读成 DataFrame。

开发者: ŷhat

更多资料:http://ggplot.yhathq.com/

4、Bokeh

7d19eef5e53b390ba2807918e5b49a0e.png

Interactive weather statistics for three cities (Continuum Analytics)

跟ggplot一样, Bokeh 也是基于《图形语法》的概念。

但是跟ggplot不一样的是,它完全基于Python而不是从R引用过来的。

它的长处在于它能用于制作可交互,可直接用于网络的图表。图表可以输出为JSON对象,HTML文档或者可交互的网络应用。

Boken也支持数据流和实时数据。Bokeh为不同的用户提供了三种控制水平。

最高的控制水平用于快速制图,主要用于制作常用图像, 例如柱状图,盒状图,直方图。

中等控制水平跟matplotlib一样允许你控制图像的基本元素(例如分布图中的点)。

最低的控制水平主要面向开发人员和软件工程师。

它没有默认值,你得定义图表的每一个元素。

开发者: Continuum Analytics

更多资料:https://docs.bokeh.org/en/latest/

5、pygal

f253a60fbd7640720ab5473923ae2e69.png

Box plot (Florian Mounier)

pygal 跟 Bokeh 和 Plotly 一样,提供可直接嵌入网络浏览器的可交互图像。

跟其他两者的主要区别在于它可以将图表输出为SVG格式。

如果你的数据量相对小,SVG就够用了。但是如果你有成百上千的数据点,SVG的渲染过程会变得很慢。

由于所有的图表都被封装成了方法,而且默认的风格也很漂亮,用几行代码就可以很容易地制作出漂亮的图表。

开发者: Florian Mounier

更多资料:http://www.pygal.org/en/latest/index.html

6、Plotly

ffa0bcfacfc4491440584d5a44572e67.png

Line plot (Plotly)

你也许听说过在线制图工具Plotly,但是你知道你可以通过Python使用它么?

Plotly 跟 Bokeh 一样致力于交互图表的制作,但是它提供在别的库中很难找到的几种图表类型,比如等值线图,树形图和三维图表。

开发者: Plotly

更多资料:https://plotly.com/python/

7、geoplotlib

7f45474dd278c1b12cadffc6018b07af.png

Choropleth (Andrea Cuttone)

geoplotlib 是一个用于制作地图和地理相关数据的工具箱。

你可以用它来制作多种地图,比如等值区域图, 热度图,点密度图。

你必须安装 Pyglet (一个面向对象编程接口)来使用geoplotlib。不过因为大部分Python的可视化工具不提供地图,有一个专职画地图的工具也是挺方便的。

开发者: Andrea Cuttone

更多资料:https://github.com/andrea-cuttone/geoplotlib

8、Gleam

5322e119e56a30eb9e37d7affe4ceecd.png

Scatter plot with trend line (David Robinson)

Gleam 借用了R中 Shiny 的灵感。它允许你只利用 Python 程序将你的分析变成可交互的网络应用,你不需要会用HTML CSS 或者 JaveScript。

Gleam 可以使用任何一种 Python 的可视化库。

当你创建一个图表的时候,你可以在上面加上一个域,这样用户可以用它来对数据排序和过滤了。

开发者: David Robinson
更多资料:https://github.com/dgrtwo/gleam

9、missingno

16ad3ff92dce646ed41966b48e363491.png

Nullity matrix (Aleksey Bilogur) 

缺失数据是永远的痛。

missingno 用图像的方式让你能够快速评估数据缺失的情况,而不是在数据表里面步履维艰。

你可以根据数据的完整度对数据进行排序或过滤,或者根据热度图或树状图来考虑对数据进行修正。

开发者: Aleksey Bilogur

更多资料:https://github.com/ResidentMario/missingno

10、Leather

ffb4f1cf25bd9f0b9d2c96d6c31caef5.png

Chart grid with consistent scales (Christopher Groskopf)

Leather的最佳定义来自它的作者 Christopher Groskopf。

“Leather 适用于现在就需要一个图表并且对图表是不是完美并不在乎的人。”

它可以用于所以的数据类型然后生成SVG图像,这样在你调整图像大小的时候就不会损失图像质量。

开发者: Christopher Groskopf

更多资料:https://leather.readthedocs.io/en/latest/index.html

作者:Lty美丽人生
链接:https://blog.csdn.net/weixin_44208569









推荐阅读:
入门: 最全的零基础学Python的问题  | 零基础学了8个月的Python  | 实战项目 |学Python就是这条捷径
干货:爬取豆瓣短评,电影《后来的我们》 | 38年NBA最佳球员分析 |   从万众期待到口碑扑街!唐探3令人失望  | 笑看新倚天屠龙记 | 灯谜答题王 |用Python做个海量小姐姐素描图 |碟中谍这么火,我用机器学习做个迷你推荐系统电影
趣味:弹球游戏  | 九宫格  | 漂亮的花 | 两百行Python《天天酷跑》游戏!
AI: 会做诗的机器人 | 给图片上色 | 预测收入 | 碟中谍这么火,我用机器学习做个迷你推荐系统电影
小工具: Pdf转Word,轻松搞定表格和水印! | 一键把html网页保存为pdf!|  再见PDF提取收费! | 用90行代码打造最强PDF转换器,word、PPT、excel、markdown、html一键转换 | 制作一款钉钉低价机票提示器! |60行代码做了一个语音壁纸切换器天天看小姐姐!|

年度爆款文案

点阅读原文,看B站我的视频!

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/cainiao_python/article/details/126277031

智能推荐

c# 调用c++ lib静态库_c#调用lib-程序员宅基地

文章浏览阅读2w次,点赞7次,收藏51次。四个步骤1.创建C++ Win32项目动态库dll 2.在Win32项目动态库中添加 外部依赖项 lib头文件和lib库3.导出C接口4.c#调用c++动态库开始你的表演...①创建一个空白的解决方案,在解决方案中添加 Visual C++ , Win32 项目空白解决方案的创建:添加Visual C++ , Win32 项目这......_c#调用lib

deepin/ubuntu安装苹方字体-程序员宅基地

文章浏览阅读4.6k次。苹方字体是苹果系统上的黑体,挺好看的。注重颜值的网站都会使用,例如知乎:font-family: -apple-system, BlinkMacSystemFont, Helvetica Neue, PingFang SC, Microsoft YaHei, Source Han Sans SC, Noto Sans CJK SC, W..._ubuntu pingfang

html表单常见操作汇总_html表单的处理程序有那些-程序员宅基地

文章浏览阅读159次。表单表单概述表单标签表单域按钮控件demo表单标签表单标签基本语法结构<form action="处理数据程序的url地址“ method=”get|post“ name="表单名称”></form><!--action,当提交表单时,向何处发送表单中的数据,地址可以是相对地址也可以是绝对地址--><!--method将表单中的数据传送给服务器处理,get方式直接显示在url地址中,数据可以被缓存,且长度有限制;而post方式数据隐藏传输,_html表单的处理程序有那些

PHP设置谷歌验证器(Google Authenticator)实现操作二步验证_php otp 验证器-程序员宅基地

文章浏览阅读1.2k次。使用说明:开启Google的登陆二步验证(即Google Authenticator服务)后用户登陆时需要输入额外由手机客户端生成的一次性密码。实现Google Authenticator功能需要服务器端和客户端的支持。服务器端负责密钥的生成、验证一次性密码是否正确。客户端记录密钥后生成一次性密码。下载谷歌验证类库文件放到项目合适位置(我这边放在项目Vender下面)https://github.com/PHPGangsta/GoogleAuthenticatorPHP代码示例://引入谷_php otp 验证器

【Python】matplotlib.plot画图横坐标混乱及间隔处理_matplotlib更改横轴间距-程序员宅基地

文章浏览阅读4.3k次,点赞5次,收藏11次。matplotlib.plot画图横坐标混乱及间隔处理_matplotlib更改横轴间距

docker — 容器存储_docker 保存容器-程序员宅基地

文章浏览阅读2.2k次。①Storage driver 处理各镜像层及容器层的处理细节,实现了多层数据的堆叠,为用户 提供了多层数据合并后的统一视图②所有 Storage driver 都使用可堆叠图像层和写时复制(CoW)策略③docker info 命令可查看当系统上的 storage driver主要用于测试目的,不建议用于生成环境。_docker 保存容器

随便推点

网络拓扑结构_网络拓扑csdn-程序员宅基地

文章浏览阅读834次,点赞27次,收藏13次。网络拓扑结构是指计算机网络中各组件(如计算机、服务器、打印机、路由器、交换机等设备)及其连接线路在物理布局或逻辑构型上的排列形式。这种布局不仅描述了设备间的实际物理连接方式,也决定了数据在网络中流动的路径和方式。不同的网络拓扑结构影响着网络的性能、可靠性、可扩展性及管理维护的难易程度。_网络拓扑csdn

JS重写Date函数,兼容IOS系统_date.prototype 将所有 ios-程序员宅基地

文章浏览阅读1.8k次,点赞5次,收藏8次。IOS系统Date的坑要创建一个指定时间的new Date对象时,通常的做法是:new Date("2020-09-21 11:11:00")这行代码在 PC 端和安卓端都是正常的,而在 iOS 端则会提示 Invalid Date 无效日期。在IOS年月日中间的横岗许换成斜杠,也就是new Date("2020/09/21 11:11:00")通常为了兼容IOS的这个坑,需要做一些额外的特殊处理,笔者在开发的时候经常会忘了兼容IOS系统。所以就想试着重写Date函数,一劳永逸,避免每次ne_date.prototype 将所有 ios

如何将EXCEL表导入plsql数据库中-程序员宅基地

文章浏览阅读5.3k次。方法一:用PLSQL Developer工具。 1 在PLSQL Developer的sql window里输入select * from test for update; 2 按F8执行 3 打开锁, 再按一下加号. 鼠标点到第一列的列头,使全列成选中状态,然后粘贴,最后commit提交即可。(前提..._excel导入pl/sql

Git常用命令速查手册-程序员宅基地

文章浏览阅读83次。Git常用命令速查手册1、初始化仓库git init2、将文件添加到仓库git add 文件名 # 将工作区的某个文件添加到暂存区 git add -u # 添加所有被tracked文件中被修改或删除的文件信息到暂存区,不处理untracked的文件git add -A # 添加所有被tracked文件中被修改或删除的文件信息到暂存区,包括untracked的文件...

分享119个ASP.NET源码总有一个是你想要的_千博二手车源码v2023 build 1120-程序员宅基地

文章浏览阅读202次。分享119个ASP.NET源码总有一个是你想要的_千博二手车源码v2023 build 1120

【C++缺省函数】 空类默认产生的6个类成员函数_空类默认产生哪些类成员函数-程序员宅基地

文章浏览阅读1.8k次。版权声明:转载请注明出处 http://blog.csdn.net/irean_lau。目录(?)[+]1、缺省构造函数。2、缺省拷贝构造函数。3、 缺省析构函数。4、缺省赋值运算符。5、缺省取址运算符。6、 缺省取址运算符 const。[cpp] view plain copy_空类默认产生哪些类成员函数

推荐文章

热门文章

相关标签