盘点12个Python数据可视化库

2023-11-06

大家好,我是小z

这篇文章是关于一本很奈斯的可视化书籍的介绍,老规矩,文末小z简单粗暴的抽奖送出1本~

在数据可视化的研究热潮中,如何让数据生动呈现,成了一个具有挑战性的任务,随之也出现了大量的可视化软件。相对于其他商业可视化软件,Python是开源且免费的,而且具有易上手、效果好的优点。

大家普遍第一次接触到的Python数据可视化库基本上都是Matplotlib。Python还有很多数据可视化库,本文盘点了12款常用的Python数据可视化库,挑选适合自己业务的那一款吧!

深入学习Python商业数据可视化技术,推荐阅读《Python商业数据可视化实战》

Python有很多数据可视化库,这些数据可视化库主要分为探索式可视化库交互式可视化库。前者透过简单直接的视觉图形,更方便用户看懂原数据,后者主要用于与业务结合过程中展现总体分析结果。

探索式可视化库

探索式分析最大的优势在于,可以让业务人员在海量数据中“自由发挥”,不受数据模型的限制。通过探索式分析和可视化,业务人员可以快速发现业务中存在的问题。

Python探索式可视化库主要包括如下几个。

1

Matplotlib

Matplotlib是Python数据可视化库的元老,尽管它已有十多年的历史,但仍然是Python社区中使用最广泛的绘图库,编写几行代码即可生成线图、直方图、功率谱密度图、条形图、错误图、散点图等。

Python的可视化库众多,各有各的特点,但是Matplotlib是一个非常基础的Python可视化库,如果需要学习Python数据可视化,那么Matplotlib是非学不可的,之后再学习其他库就比较简单了。Matplotlib的中文学习资料比较丰富,其中最好的学习资料是其官方网站的帮助文档,大家可以在上面查阅自己感兴趣的内容。

2

Seaborn

Seaborn利用Matplotlib的强大功能,只用几行代码就能创建出漂亮的图表。它们的关键区别在于,Seaborn的默认款式和调色板设计更加美观和现代。由于Seaborn是在Matplotlib基础上构建的,因此用户还需要了解Matplotlib以便调整Seaborn的默认值。

Seaborn同Matplotlib一样,也是Python进行数据可视化分析的重要第三方包。

Seaborn在Matplotlib的基础上进行了更高级的API封装,使用户绘图更加容易,所绘图形更加漂亮。Seaborn是基于Matplotlib的一个模块,专用于统计可视化,可以和Pandas进行无缝连接,使可视化的初学者更容易上手。

相对于Matplotlib,Seaborn语法更简洁,两者的关系类似于Numpy和Pandas的关系。但是需要注意的是,应该把Seaborn视为Matplotlib的补充,而不是替代物。

Seaborn库旨在以数据可视化为中心来挖掘与理解数据,它提供的面向数据集制图函数主要是对行列索引和数组的操作,包含对整个数据集进行内部的语义映射与统计整合,以此生成信息丰富的图表。

3

Pyecharts

Pyecharts是我国开发人员开发的,相比较Matplotlib、Seaborn等可视化库,Pyecharts十分符合国内用户的使用习惯。

Pyecharts的目的是实现Echarts与Python的对接,以便在Python中使用Echarts生成图表。

Echarts是Apache软件基金会的一个数据可视化JavaScript库,生成的图的可视化效果非常好,其凭借良好的交互性,精巧的图表设计,得到了众多开发者的认可

4

Missingno

处理缺失的数据是一件让人痛苦的事,Missingno通过使用视觉摘要来快速评估数据集的完整性,而不是通过大篇幅的表格。它可以根据热力图或树状图的完成度或点的相关度对数据进行过滤和排序。

交互式可视化库

数据可视化可以是静态的也可以是交互的,交互式的数据可视化是指人们使用计算机和移动设备深入图表和图形的具体细节,然后用交互的方式改变他们看到的数据。Python交互式可视化库主要包括如下几个。

1

Bokeh

Bokeh基于JavaScript实现交互式可视化,它是原生Python语法,它可以在Web浏览器中实现美观的视觉效果。

它的优势在于能够创建交互式的网站图,可以很容易地将数据输出为JSON对象、HTML文档或交互式Web应用程序。Bokeh还支持流媒体和实时数据。

但是它也有明显的缺点:一是版本时常更新,最重要的是有时语法不向下兼容,这对于开发者来说是噩梦;二是语法晦涩,与Matplotlib相比,可以说是有过之而无不及。

2

HoloViews

HoloViews是一个开源的Python库,旨在使数据分析和可视化更加简便,可以用非常少的代码行完成数据分析和可视化。

除了默认的Matplotlib后端,它还添加了一个Bokeh后端。结合Bokeh提供的交互式小部件,可以使用HTML5和WebGL快速生成交互式视图,以及进行高维数据的可视化探索。

3

Plotly

Plotly是一个数据可视化的在线平台,与Bokeh一样,Plotly的强项在于制作交互式视图,但它提供了一些在大多数库中没有的图表,如等高线图、树状图和3D图表。可以在线绘制条形图、散点图、饼图、直方图等多种图形,可以画出很多媲美Tableau的高质量图。

Plotly支持在线编辑图形,支持Python、JavaScript、MATLAB和R等多种语言的API。Plotly生成的所有图表实际上都是由JavaScript产生的,无论是在浏览器还是在Jupyter中,所有的可视化、交互都是基于plotly.js的,它是一个高级的声明性图表库,提供了20多种图表类型,包含3D图表、统计图和SVG地图等。

4

pygal

与Bokeh和Plotly一样,pygal提供了可以嵌入Web浏览器的交互式视图。区别在于,它能够将图表输出为SVG格式。如果用户使用较小的数据集,则输出位SVG格式的图像就可以了,但是如果用户制作的图表包含数十万个数据点,那么它们就会很难被渲染并变得反应迟钝。

Pygal绘制线图的方法很简单,可以将图表渲染为一个SVG文件,用户使用浏览器打开SVG文件就可以查看生成的图表。

5

plotnine

plotnine是Python中图形语法的一种实现,它基于ggplot2包,语法绘图功能强大,可以轻松将数据映射到构成图的可视对象,然后创建自定义的图形。plotnine提供各种不同的可视化视图,易于适应定制化输出,安装十分简单,用户可以通过pip install plotnine命令直接安装。

plotnine的优点为代码简洁,易学;绘制出的图流畅大方;不需要很多的代码就可以绘制出很不错的图。在使用plotnine绘图之前,首先需要理解绘图的基本概念。

6

Altair

Altair是一个专为Python编写,它可以让数据科学家更多地关注数据本身和其内在的联系。

因为是基于Vega-Lite(交互式图形语法)的声明性统计可视化库,Altair API具有简单、友好、一致等特点。

声明意味着用户只需要提供数据列与编码通道之间的链接,例如,x轴、y轴、颜色等,其余的绘图细节它会自动处理。声明使Altair变得简单、友好和一致,用户使用Altair可以轻松设计出有效且美观的可视化代码。

7

ggplot

ggplot是基于R语言的ggplot2包和Python的绘图系统。ggplot的运行方式与Matplotlib不同,它允许用户对组件进行分层以创建完整的绘图。例如,用户可以从轴开始画,然后添加点,接着添加线、趋势线等。虽然图形语法被认为是绘图的“直观”方法,但经验丰富的Matplotlib用户可能需要时间来适应这个新的方式。

8

Gleam

Gleam的灵感来自R语言的Shiny包。它允许用户仅使用Python脚本就可将分析结果转换为交互式Web应用程序,因此用户不必了解任何其他语言,如HTML、CSS或JavaScript。Gleam适用于任何Python数据可视化库。在创建绘图后,用户可以在它的上面添加字段,以便对数据进行筛选和排序。

图书推荐

▊《Python商业数据可视化实战(全彩)》

王国平 著

  • 通过可视化分析,更好地挖掘数据的价值

  • 既包括操作方法和技巧,又融入了数据可视化实战案例

本书由浅入深、循序渐进地介绍了基于Python的商业数据可视化技术,并结合实际案例详细介绍了Python在数据可视化方面的具体应用。

重点介绍了Python的9个可视化库,分别为Matplotlib、Seaborn、Pyecharts、Bokeh、HoloViews、Plotly、Pygal、plotnine、Altair,并介绍了商业数据可视化的思维。读者通过学习本书,能够轻松、快速地掌握商业数据可视化技术。

(扫码了解本书详情)

 


最后,粉丝福利,文中介绍的这本书送出1本,直接拼手气抽奖,开奖时间2月3日21:00



本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

盘点12个Python数据可视化库 的相关文章

随机推荐

  • scala---spark本地调式远程获取hdfs数据注意事项

    文章目录 前言 一 Hadoop配置注意事项 1 1 core site xml 1 2 core site xml 二 本地hadoop环境配置注意事项 三 本地scala项目spark代码调试 总结 前言 这篇文章主要帮大家绕开一些本地
  • 异常关机后Oracle无法正常连接,使用 conn /as sysdba 出现 ORA-01034 和 ORA-27101: shared memory realm does not exist...

    最近异常关机导致oracle无法连接 一直提示ORA 01034和ORA 27101的错误 打开cmd后 输入 sqlplus npolog conn as sysdba 提示 ORA 01034 Oracle not available
  • windows10使用WSL安装Linux(以ubuntu为例)

    1 安装工具WSL 适用于 Linux 的 Windows 子系统 WSL 可让开发人员直接在 Windows 上按原样运行 GNU Linux 环境 包括大多数命令行工具 实用工具和应用程序 且不会产生传统虚拟机或双启动设置开销 是win
  • 浙大水业oa系统服务器地址,OA系统

    OA系统功能定位于知识管理 企业决策支持 资源共享和企业协同工作 它由单纯的办公自动化向提升到协助管理整个企业为目标 表现在以下四个方面 把协同工作融入业务流程中 团队中通过及时的交流 准确的任务分派从而实现高绩效管理 E OFFICE办公
  • 通过js修改网页内容

    js可以通过文本所在标签的id获取该标签对象 然后修改其内容 如 document getElementById 标签id innerHTML 要修改的文本内容 该方法可以在要修改的文本内容中加html标签 如果只是纯文本的话 可以使用in
  • 严重性 代码 说明 项目 文件 行 禁止显示状态

    严重性 代码 说明 项目 文件 行 禁止显示状态 错误 LNK2019 无法解析的外部符号 public void thiscall LinkedList
  • 解决ubuntu无法输入中文标点

    使用Ctrl 切换
  • ListBox控件 滚动条

    今天在使用LISTBOX控件中遇到的一点小问题 主要是两个问题 水平滚动条不显示内容 垂直滚动条没有自动滚动 在网上查了一下找到了解决办法 原来只需要向控件发送消息就行了 具体代码如下 以下都是在Dialog类中的函数操作 如果是使用 Se
  • C++编程规范(101条规则、准则与最佳实践)

    C 编程规范 101条规则 准则与最佳实践 虽然是书本的目录 但也是高度的概括和总结 组织和策略问题 第0条 不要拘泥于小节 了解哪些东西不应该标准化 第1 条 在高警告级别干净利落地进行编译 第2 条 使用自动构建系统 第3 条 使用版本
  • 解决uniapp在微信小程序显示图片/数据,h5不显示图片/数据。

    配置跨域 首先在mainifest json中的源码视图中配置跨域 h5 devServer port 8080 disableHostCheck true proxy dpc target https www edonguoji cn c
  • Linux系统编程之常用线程同步的三种方法

    Linux系统编程之线程同步高效率编程 Linux系统中线程最大的特点就是共享性 线程同步问题较为困难也很重要 最常用的三种是 条件变量 互斥锁 无名信号量 ps 有名信号量可用于进程同步 无名信号量只能用于线程同步 是轻量级的 一 互斥锁
  • Google Guava

    转载自并发编程网 ifeve com 本文链接地址 Google Guava官方教程 中文版 中文文档 http ifeve com google guava 开源地址 https github com google guava 今天偶然发
  • swagger3或者swagger报nullpointexception

    很简单这个问题就是版本不匹配 就是2 6 0以上版本的springbootmvc扫描方法和老版本不同 在springboot配置 application yml 里面加上如果是properties则是加上 spring mvc pathma
  • 配置Spark on YARN集群内存

    在这里插入代码片 运行文件有几个G大 默认的spark的内存设置就不行了 需要重新设置 还没有看Spark源码 只能先搜搜相关的博客解决问题 按照Spark应用程序中的driver分布方式不同 Spark on YARN有两种模式 yarn
  • 利用CNN进行人脸年龄预测

    很久之前做的东西了 最近做了一个人脸相似度检测 里面用到了这里的一个模型 所以抽个空把人脸年龄检测的思路总结一下 与其他CNN分类问题类似 人脸年龄预测无非就是将人脸分为多个类别 然后训练卷积神经网络 最后利用训练好的卷积神经网络进行分类即
  • 数据结构: 线性表(无哨兵位单链表实现)

    文章目录 1 线性表的链式表示 链表 1 1 顺序表的优缺点 1 2 链表的概念 1 3 链表的优缺点 1 4 链表的结构 2 单链表的定义 2 1 单链表的结构体 2 2 接口函数 3 接口函数的实现 3 1 动态申请一个结点 BuySL
  • SparkStreaming与Kafka010之05之02 Consumer的offset 自定义设置offset

    package Kafka010 import Kafka010 Utils MyKafkaUtils import org apache kafka clients consumer ConsumerRecord import org a
  • IDEA创建Springboot项目提示`Initialization failed for ‘https://start.spring.io‘ Please check URL`

    1 1 settings gt http proxy 2 check connection 在其中输入 https start spring io 3 开始创建 4 导入springweb的一个依赖 5 创建成功 选中的3个为maven环境
  • CSS样式——旋转工具箱

    目录 基础模板 工具箱样式 加号按钮样式 工具按钮样式 旋转效果 CSS样式 旋转工具箱 效果如下所示 基础模板 首先我们准备基础模板 模板代码如下图所示
  • 盘点12个Python数据可视化库

    大家好 我是小z 这篇文章是关于一本很奈斯的可视化书籍的介绍 老规矩 文末小z简单粗暴的抽奖送出1本 在数据可视化的研究热潮中 如何让数据生动呈现 成了一个具有挑战性的任务 随之也出现了大量的可视化软件 相对于其他商业可视化软件 Pytho