Python那些优质可视化工具!

news2024/12/23 4:25:58

作者:Lty美丽人生

https://blog.csdn.net/weixin_44208569

本次分享10个适用于多个学科的Python数据可视化库,其中有名气很大的也有鲜为人知的!

1、matplotlib

两个直方图

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

Violinplot (Michael Waskom)

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

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

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

开发者: Michael Waskom

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

3、ggplot

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

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

Box plot (Florian Mounier)

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

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

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

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

开发者: Florian Mounier

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

6、Plotly

Line plot (Plotly)

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

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

开发者: Plotly

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

7、geoplotlib

Choropleth (Andrea Cuttone)

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

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

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

开发者: Andrea Cuttone

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

8、Gleam

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

Nullity matrix (Aleksey Bilogur)

缺失数据是永远的痛。

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

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

开发者: Aleksey Bilogur

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

10、Leather

Chart grid with consistent scales (Christopher Groskopf)

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

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

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

开发者: Christopher Groskopf

更多资料:

https://leather.readthedocs.io/en/latest/index.html

本文转自 https://mp.weixin.qq.com/s/EKmUiV_28qafQmdunq3e7w,如有侵权,请联系删除。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1923748.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

mitmproxy介绍及使用

mitmproxy介绍 mitmproxy又名中间人攻击代理,是一个抓包工具,类似于WireShark、Filddler,并且它支持抓取HTTP和HTTPS协议的数据包,只不过它是一个控制台的形式操作。另外,它还有两个非常有用的组件,一个mi…

漏扫处理:SSH弱算法问题解决

目录 漏洞说明解决方法1. 查看可用的算法2. 禁用弱算法3.检查ssh配置4.重启ssh服务5.ssh测试连接是否正常6.漏扫测试参考链接漏洞说明 通过漏扫得出,服务器SSH支持密钥交换算法,而此算法被认为是弱算法,存在高风险问题。 启用了以下弱算法: diffie-hellman-group-exchage…

前端JS特效第33波:jQuery旋转木马焦点图轮播插件PicCarousel

jQuery旋转木马焦点图轮播插件PicCarousel&#xff0c;先来看看效果&#xff1a; 部分核心的代码如下&#xff1a; <!doctype html> <html> <head> <meta charset"utf-8"> <meta http-equiv"X-UA-Compatible" content"IE…

Go 初始化一个字典

&#x1f49d;&#x1f49d;&#x1f49d;欢迎莅临我的博客&#xff0c;很高兴能够在这里和您见面&#xff01;希望您在这里可以感受到一份轻松愉快的氛围&#xff0c;不仅可以获得有趣的内容和知识&#xff0c;也可以畅所欲言、分享您的想法和见解。 推荐:「stormsha的主页」…

Python量化交易学习——Part12:回归模型的典型应用

回归模型在很多的时候被应用于对股票的基本面数据进行分析&#xff0c;例如经典的CAPM模型、Fama-French三因子模型以及最新的PB_ROE模型等。这些都是已经应用于现实中的金融市场并获得较好收益的经典模型。本章将通过介绍PB_ROE模型&#xff0c;进一步讲解回归分析在实战过程中…

深入探讨【C++容器适配器】:现代编程中的【Stack与Queue】的实现

目录 一、Stack&#xff08;栈&#xff09; 1.1 Stack的介绍 1.2 Stack的使用 1.3 Stack的模拟实现 二、Queue&#xff08;队列&#xff09; 2.1 Queue的介绍 2.2 Queue的使用 2.3 Queue的模拟实现 三、容器适配器 3.1 什么是适配器 3.2 为什么选择deque作为stack和…

【web】-sql注入-login

根据网址提示打开如图&#xff1a; 查看源代码前台并没有过滤限制、扫描后台也没有发现特殊文件。看到标题显示flag is in database&#xff0c;尝试sql注入。 由于post,bp抓包如下&#xff1a; 运行python sqlmap.py -r 1.txt --dump 获取flag 42f4ebc342b6ed4af4aadc1ea75f…

solidity实战练习3——荷兰拍卖

//SPDX-License-Identifier:MIT pragma solidity ^0.8.24; interface IERC721{function transFrom(address _from,address _to,uint nftid) external ; }contract DutchAuction { address payable immutable seller;//卖方uint immutable startTime;//拍卖开始时间uint immut…

Facebook 开源计算机视觉 (CV) 和 增强现实 (AR) 框架 Ocean

Ocean 是一个独立于平台的框架&#xff0c;支持所有主要操作系统&#xff0c;包括 iOS、Android、Quest、macOS、Windows 和 Linux。它旨在彻底改变计算机视觉和混合现实应用程序的开发。 Ocean 主要使用 C 编写&#xff0c;包括计算机视觉、几何、媒体处理、网络和渲染&#x…

git安装使用gitlab

第一步&#xff1a;下载git 第二步&#xff1a;安装 第三步&#xff1a;配置sshkey 第四步&#xff1a;处理两台电脑的sshkey问题 第一步下载git 网址&#xff1a;Git点Downloads根据你的操作系统选择对应的版本&#xff0c;我的是Windows&#xff0c;所以我选择了Windows …

细数「人力资源」的「六宗罪」

细数「人力资源」的「六宗罪」 不要让人力资源成为企业发展的障碍 人力资源的六宗罪: 招聘与配置培训与开发薪酬与绩效请您先「点赞」+「在看」+「收藏」+关注@netkiller,转发给你的朋友,再慢慢看,方便查看往期精彩文章,以防手划找不到,您的支持就是我最大的动力。 人力…

玩转springboot之SpringBoot打成jar包的结构

SpringBoot打成jar包的结构 springboot通常会打成jar包&#xff0c;然后使用java -jar来进行执行&#xff0c;那么这个jar包里的结构是什么样的呢 其中 BOOT-INF 中包含的classes是我们程序中所有的代码编译后的class文件&#xff0c;lib是程序所引用的外部依赖 META-INF 这个…

解答|服务器只能开22端口可以申请IP地址SSL证书吗?

IP地址SSL证书&#xff0c;是一种专门颁发给公网IP地址的SSL证书&#xff0c;而不是常见的基于域名的SSL证书。SSL证书主要用于保障数据在客户端&#xff08;如用户的浏览器&#xff09;和服务器之间传输时的加密性和安全性&#xff0c;以防止数据被截取或篡改。 服务器只能开…

希尔排序——C语言

希尔排序是插入排序的一种更高效的改进版本。希尔排序通过比较相距一定间隔的元素来进行排序&#xff0c;随着算法的进行&#xff0c;这个间隔逐渐减少&#xff0c;直到最后变为1&#xff0c;此时的排序其实就是一次插入排序。 希尔排序和插入排序的区别是希尔排序是插入排序的…

【C++】入门基础(命名空间、缺省参数、函数重载)

目录 一.命名空间&#xff1a;namespace 1.namespace的价值 2.namespace的定义 3.namespace的使用方法 3.1 域解析运算符:: 3.2 using展开 3.3 using域解析运算符 二.输入输出 三.缺省参数 四.函数重载 1.参数类型不同 2.参数个数不同 3.参数顺序不同 一.命名空间&…

员工的离职成本到底有多高?

员工的离职成本到底有多高? 少有公司意识到离职率这个问题,表面上是员工主动提辞的,所以企业常常将离职率归罪于员工。 可以用“铁打的营盘,流水的兵”来概括离职率。 90/00后高频离职原因,企业揣着明白装糊涂 知乎上常常看到关于抱怨90/00后任性离职的问题,我说这是…

【python数据结构精讲】双端队列

通过总结《流畅的Python》等书中的知识&#xff0c;总结Python中常用工具的方法。 deque&#xff0c;学名双端队列。 1. 常用方法 append()&#xff1a;队列尾部添加appendleft()&#xff1a;队首添加pop()&#xff1a;移除队列最后一个元素popleft()&#xff1a;移除队列第一…

聊聊接入Arbitrum的正确姿势

本文首发于公众号&#xff1a;Keegan小钢 前言 我们知道&#xff0c;目前最主流的 Ethereum Layer2 方案中&#xff0c;主要有 Optimistic Rollup 和 ZK Rollup 两大类。而 Optimistic Rollup 的实现方案中&#xff0c;则是 Optimism 和 Arbitrum 最受关注。而我们最近接入了 …

ONLYOFFICE最新8.1版本新功能解析

ONLYOFFICE最新8.1版本新功能解析 书接上文&#xff1a; 深度解析 ONLYOFFICE 协作空间 2.5 版本新功能https://blog.csdn.net/VincentYoung/article/details/139665603?spm1001.2014.3001.5502 讲解了ONLYOFFICE协作空间今年最新升级的2.5版本的新功能&#xff0c;这里继续…

《代理选择与反爬虫策略探究:如何优化网络爬虫效率与稳定性》

代理IP如何选以及常见反爬策略 为什么需要代理&#xff1f; 因为有的网站会封IP&#xff0c;用户如果没有登录&#xff0c;那IP就是身份标识&#xff0c;如果网站发现用户行为异常就非常可能封IP 什么是代理IP 就是让一个人帮你转交请求&#xff0c;帮你转交的人对面不熟&a…