可视化工具不知道怎么选?深度评测 5 大 Python 数据可视化工具

6种python数据可视化工具,python数据可视化工具包 Plotly 是一个非常强大的开源数据可视化框架,它通过构建基于HTML的交互式图表来显示信息,可创建各种形式的精美图表。本文所说的Plotly指的是Plotly.js的Python封装,plotly本身是个生态非常复杂的绘图工具,它对很多编程语言提供接口Python中Turtle画蝴蝶。交互式和美观易用应该是Plotly最大的优势,而Matplotlib的特点则是可定制化程度高,但语法也相对难学,各有优缺点。Plotly生态。 阅读详情

相信很多读者学习 Python 就是希望作出各种酷炫的可视化图表,当然你一定会听说过 Matplotlib、Pyecharts、Seaborn、Plotly、Bokeh 这五大工具,本文就将通过真实绘图来深度评测这五个 Python 数据可视化的库,看看到底这几种工具各有什么优缺点,在制作图表时该如何选择。

指标说明

为了更清晰的了解这几款用于可视化的 Python 在作图时的异同,本文将使用同一组数据分别制作多系列条形图来对比,主要将通过以下几个指标来进行评测:

数据说明

本文使用的数据为 Pyecharts 中的 faker 数据

from pyecharts.faker import Faker
x = Faker.choose()
y1 = Faker.values()
y2 = Faker.values()

x 为一列品牌名称,y1/y2 为一列相同长度的无意义数据,接下来让我们使用不同的库对这组数据进行可视化!

01

Pyecharts

Echarts是一个由百度开源的数据可视化,凭借着良好的交互性,精巧的图表设计,得到了众多开发者的认可。而 Python 是一门富有表达力的语言,很适合用于数据处理。当数据分析遇上数据可视化时,pyecharts 诞生了,支持 30+ 种图表。在 pyecharts 中制作条形图首先需要导入相关库

from pyecharts import options as opts
from pyecharts.charts import Bar

接着是绘图并不做任何任何调整,首先创建一个 Bar 实例,接着添加 x 轴 y 轴数据,注意仅接收 list 格式数据,最后添加标题并设置在 notebook 中直接展示。总体来说还是比较符合正常的作图逻辑,整体代码量并不多。

c = (
    Bar()
    .add_xaxis(x)
    .add_yaxis("商家A", y1)
    .add_yaxis("商家B", y2)
    .set_global_opts(title_opts=opts.TitleOpts(title="Pyecharts—柱状图", subtitle=""))
).render_notebook()

默认生成的两系列柱状图如下:

可以看到,该图支持交互式展示与点击,默认生成的样式也较为美观,并且 Pyecharts 有详细的中文文档与 demo,网上关于 Pyecharts 的讨论也较多,如果是刚接触的读者也能比较快的上手。当然如果对默认样式不满意的话,可以进行一些调整,由于文档十分完整,所以代码修改起来并不困难,比如可以修改主题并设置一些标记线、DataZoom,添加小组件等

总体来说,由于 Pyecharts 是基于 Echarts 制作的,因此生成图表比较美观,并且官方中文文档对相关设置讲解非常详细,有关 Pyecharts 的讨论也非常多,所以如果在使用过程中有相关疑问也很容易通过检索找到答案,但遗憾的是不支持使用 pandas 中的 series 数据,需要转换为 list 才可以使用,不过整体还是让我很满意的一款可视化库。主观评分:85 分

02

Matplotlib

Matplotlib应该是最广泛使用的 Python 可视化工具,支持的图形种类非常多,使用 Matplotlib 制作相同效果的图需要先导入相关库,并且并不支持原生中文所以还要设置下中文显示

import matplotlib.pyplot as plt
import numpy as np
plt.rcParams['font.sans-serif'] = ['SimHei'] 

接着就是绘图,但是相比较于 pyecharts 大多是往写好的代码里面添加数据、配置不同,matplotlib 大多数需要我们自己写代码,所以代码量可能稍多一点

width = 0.35
x1 = np.arange(len(x)) 

fig, ax = plt.subplots()
rects1 = ax.bar(x1 - width/2, y1, width, label='商家A')
rects2 = ax.bar(x1 + width/2, y2, width, label='商家B')

ax.set_title('Matplotlib—柱状图')
ax.set_xticks(x1)
ax.set_xticklabels(x)
ax.legend()

plt.show()

最后生成的默认图像如下

默认配色不是很好看但也没有很难看,看起来更学术一点,但是不支持交互式点击查看等操作,虽然代码量更多一点,但是由于 Matplotlib 的火热,网上关于 matplotlib 的资料比 Pyecharts 要多很多,所以写代码于调整代码的过程也并不复杂,整体主观评分 77 分

03

Plotly

Plotly也是一款非常强大的 Python 可视化库,Plotly 内置完整的交互能力及编辑工具,支持在线和离线模式,提供稳定的 API 以便与现有应用集成,既可以在 web 浏览器中展示数据图表,也可以存入本地拷贝。但是由于官方未提供中文文档,网上关于 Plotly 的教程也仅限于官方的一些 demo,对于一些详细的参数设置并没有太多资料,首先还是先导入相关库并设置 notebook 显示

import plotly
import plotly.offline as py
import plotly.graph_objs as go
plotly.offline.init_notebook_mode(connected=True)

接下来是绘图代码,首先要对数据先进行处理,剩下的基础配置其实和 Pyecharts 比较类似

trace0 = go.Bar(
    x = x,
    y = y1,
    name = '商家A',
)
trace1 = go.Bar(
    x = x,
    y = y2,
    name = '商家B',
)
data = [trace0,trace1]
layout = go.Layout(
        title={
        'text': "Plotly-柱状图",
        'y':0.9,
        'x':0.5,
        'xanchor': 'center',
        'yanchor': 'top'})
fig = go.Figure(data=data, layout=layout)
py.iplot(fig)

默认样式生成的图如上,配色也不难看,并且可以看到是支持交互式操作的,同时是默认添加 toolbox 小组件,可以更方便的查看,支持 30 多种图形,总体来说还是比较优秀的一个可视化工具,但是如果真要熟练使用的话可能需要一点时间用于查找相关资料,因为网上关于 Plotly 的资料不多,大多是基本使用的简单教程,如果想查找一些细节的操作比如我为了查找让标题居中的方法,百度之后用 Google 在国外某论坛找到类似问题并找到设置,主观评分:76 分

04

Bokeh

Bokeh是一个专门针对 Web 浏览器的呈现功能的交互式可视化 Python 库。这是 Bokeh 与其它可视化库最核心的区别,它可以做出像D3.js简洁漂亮的交互可视化效果,但是使用难度低于 D3.js,首先还是导入相关库

from bokeh.transform import dodge
import pandas as pd
from bokeh.core.properties import value
import numpy as np
import matplotlib.pyplot as plt
%matplotlib inline
from bokeh.io import output_notebook
output_notebook() # 导入notebook绘图模块
from bokeh.plotting import figure,show
from bokeh.models import ColumnDataSource# 导入图表绘制、图标展示模块 # 导入ColumnDataSource模块 # 导入dodge、value模块

相关依赖比上面三个要多出很多,并且 Bokeh 有自己的数据结构ColumnDataSource,所以要先对数据进行转换,接着就是创建画布、添加数据及设置

df = pd.DataFrame({'商家A':y1,'商家B':y2},
                 index = x_)
_x = ['商家A','商家B']    # 系列名
data = {'index':x_}
for i in _x:
    data[i] = df[i].tolist()# 生成数据,数据格式为dict
source = ColumnDataSource(data=data)# 将数据转化为ColumnDataSource对象

p = figure(x_range=x_, y_range=(0, 150), plot_height=350, title="boken-柱状图",tools="crosshair,pan,wheel_zoom,box_zoom,reset,box_select,lasso_select")

p.vbar(x=dodge('index', -0.1, range=p.x_range), top='商家A', width=0.2, source=source,color="#718dbf", legend=value("商家A"))
p.vbar(x=dodge('index',  0.1, range=p.x_range), top='商家B', width=0.2, source=source,color="#e84d60", legend=value("商家B"))# dodge(field_name, value, range=None) → 转换成一个可分组的对象,value为元素的位置(配合width设置)
p.xgrid.grid_line_color = None
p.legend.location = "top_left"
p.legend.orientation = "horizontal" # 其他参数设置
show(p)

可以看到,Bokeh 做出来的图也是支持交互的,不并且样式之类的看上去还是比较舒服的,不过上面这张图是经过调整颜色的,因为默认不对两个系列进行区分颜色

Bokeh 一个很明显的特点就是代码量较上面三个工具要多了很多,大多是在数据的处理上,并且和 Plotly 一样,有关 bokeh 相关的中文资料也不多,大多是入门型的基本使用于介绍,虽然从官方给出的图来看能作出很多比 pyecharts 更精美的图,但是查找相关参数的设置上将会耗费一定时间,主观评分 71 分。

05

Seaborn

从seaborn官网给出的标题就知道,seaborn 是为了统计图表设计的,它是一种基于 matplotlib 的图形可视化库,也就是在 matplotlib 的基础上进行了更高级的 API 封装,从而使得作图更加容易,在大多数情况下使用 seaborn 就能做出很具有吸引力的图,而使用 matplotlib 就能制作具有更多特色的图,还是我们的数据,使用 Seaborn 制作首先需要导入相关库,由于是基于 Matplotlib,所以还是需要设置中文

import seaborn as sns
import matplotlib.pyplot as plt
plt.rcParams['font.sans-serif'] = ['SimHei'] 

接下来只要一行代码就能生成我们要的图,默认配色也没有显得很难看

相比上面四种工具,从代码量上来看是非常简洁的,不过还是要先将数据转换为 DataFrame 格式,这里没在代码中体现,但依旧是最简短的代码,同时并不支持交互。并且 Seaborn 和 Plotly、bokeh 有一个共同的地方就是虽然强大,但是网上有关这三个库的教程、讨论都远少于 Pyecharts 与 Matplotlib,如果是新手的话可能很难快速通过搜索解决你遇到的问题,而需要自己研究别人的代码,主观评分 72 分

小结

以上就是对常见的 5 个 Python 数据可视化的评测,可能通过绘制条形图的方式去给每个工具打分不是非常合适,但我想你应该能够大致熟悉到每个库在绘图时的特点,同时也能在选择这些工具之前有一个简单的了解。最后正如我们文中介绍的一样,不同工具的应用场景、目标用户都不完全相同,所以我们在选择工具时需要先思考自己的使用场景,并且需要评估绘制目标图形的难度,就像有些工具虽然强大但是资料太少,不要为了追求高级的样式而浪费太多时间!如果你仍在犹豫学习哪一个工具的话,我的意见是 :熟练掌握一个工具之后,了解其他工具即可!最后留一个彩蛋,大家可以猜一猜文中的雷达图是使用文中提到的哪一款工具制作。

这里给大家分享一份Python全套学习资料,包括学习路线、软件、源码、视频、面试题等等,都是我自己学习时整理的,希望可以对正在学习或者想要学习Python的朋友有帮助!

优快云大礼包:全网最全《全套Python学习资料》免费分享🎁

😝有需要的小伙伴,可以点击下方链接免费领取或者V扫描下方二维码免费领取🆓

👉优快云大礼包🎁:全网最全《Python学习资料》免费分享(安全链接,放心点击)👈

​

1️⃣零基础入门

① 学习路线

对于从来没有接触过Python的同学,我们帮你准备了详细的学习成长路线图。可以说是最科学最系统的学习路线,你可以按照上面的知识点去找对应的学习资源,保证自己学得较为全面。
在这里插入图片描述

② 路线对应学习视频

还有很多适合0基础入门的学习视频,有了这些视频,轻轻松松上手Python~在这里插入图片描述

③练习题

每节视频课后,都有对应的练习题哦,可以检验学习成果哈哈!
在这里插入图片描述
因篇幅有限,仅展示部分资料

2️⃣国内外Python书籍、文档

① 文档和书籍资料

在这里插入图片描述

3️⃣Python工具包+项目源码合集

①Python工具包

学习Python常用的开发软件都在这里了!每个都有详细的安装教程,保证你可以安装成功哦!
在这里插入图片描述

②Python实战案例

光学理论是没用的,要学会跟着一起敲代码,动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。100+实战案例源码等你来拿!
在这里插入图片描述

③Python小游戏源码

如果觉得上面的实战案例有点枯燥,可以试试自己用Python编写小游戏,让你的学习过程中增添一点趣味!
在这里插入图片描述

4️⃣Python面试题

我们学会了Python之后,有了技能就可以出去找工作啦!下面这些面试题是都来自阿里、腾讯、字节等一线互联网大厂,并且有阿里大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。
在这里插入图片描述
在这里插入图片描述

5️⃣Python兼职渠道

而且学会Python以后,还可以在各大兼职平台接单赚钱,各种兼职渠道+兼职注意事项+如何和客户沟通,我都整理成文档了。
在这里插入图片描述
在这里插入图片描述
上述所有资料 ⚡️ ,朋友们如果有需要 📦《全套Python学习资料》的,可以扫描下方二维码免费领取 🆓
😝有需要的小伙伴,可以点击下方链接免费领取或者V扫描下方二维码免费领取🆓

👉优快云大礼包🎁:全网最全《Python学习资料》免费分享(安全链接,放心点击)👈

​

【机械视觉】C#+VisionPro实战:位深图(CogImage8Grey)与Bitmap互转技巧及工业检测应用 本文详细介绍了在工业检测中如何使用C#和VisionPro实现位深图(CogImage8Grey)与Bitmap的高效互转技巧。通过实战代码示例和工业应用案例,帮助开发者解决图像处理中的常见问题,提升检测精度和系统性能,适用于半导体、汽车零部件等高精度检测场景。 阅读详情

相关推荐

头歌MySQL数据库实训答案 有目录

头歌java实训答案集数据库部分一条一条的写,可鼠标手动粘贴,除特定命令外未分大小写。 第1关:创建数据库 第2关创建表 第3关:使用主键约束 第4关:外键约束 第5关:添加常用约束 MySQL数据库 - 数据库和表的基本操作(一) 第1关:查看表结构与修改表名 第2关:修改字段名与字段数据类型 第3关:添加与删除字段 第4关:修改字段的排列位置 第5关:删除表的外键约束 MySQL数据库 - 数据库和表的基本操作(二) 第1关:插入数据 第2关:更新数据 第3关:删除数据 MySQL数据库 - 单表查询(

m0_67401761的博客 4万+

pyecharts与matplotlib在使用时的区别和优缺点对比

简介 pyecharts(以下简介来源于官网) echarts是一个由百度开源的数据可视化,凭借着良好的交互性,精巧的图表设计,得到了众多开发者的认可。而 Python 是一门富有表达力的语言,很适合用于数据处理。当数据分析遇上数据可视化时,pyecharts诞生了。 简洁的 API 设计,使用如丝滑般流畅,支持链式调用 囊括了 30+ 种常见图表,应有尽有 支持主流 Notebook 环境,Jupyter Notebook 和 JupyterLab 可轻松集成至 Flask,Django 等.

qq_57099024的博客 1万+

鸿蒙【ArkTS】使用TS装饰器封装网络请求HTTP

在HarmonyOS应用开发中,通过HTTP访问网络,可以使用官方提供的@ohos.net.http模块。但是官方提供的直接使用不太好使用,需要封装下才好。这里采用TS的装饰器实现AOP效果 完成前后端接口风格的统一

weixin_60376559的博客 5611

Python pyecart和matplotlib的区别

最近制图用到了这两个python库,发现制图功能都很强大,现总结下两者的区别以方便以后选用。 1)pyechart更适用于做一些高大上的图,比如地图、地域分布、热点图、热力图等;而matplotlib更加适合于做一些常用的图,如折线图、柱状图、散点图等。 2)pyechart主要可以做交互式的图,前者风格偏向数据工程demo展示;matplotlib主要可以做静态图,风格偏向学术。 ...

qq_36327475的博客 2747

2026年(新服务器默认密码)最新各大厂商默认凭证大全

本文整理了国内外主流服务器厂商的默认管理接口凭证信息,包括Dell、HPE、浪潮、华为等品牌的管理接口类型、默认用户名/密码和IP地址。特别强调国产服务器在信创环境下的安全风险,指出国内厂商部分型号仍保留固定默认密码(如浪潮admin/admin),而国际厂商多采用随机密码标签。文章提供了新机初始化安全流程建议:查找机箱标签、立即修改默认密码、配置网络隔离、更新固件等。最后提醒运维人员,服务器安全应从首次上电开始重视,管理接口暴露是重大风险点,必须严格执行安全规范。

你好,旧时光! 1707

计算机应用数学--第一次作业

中科大 计算机应用数学 第一次作业

一杯水果茶!足矣~ 1329

十大保姆级Python可视化绘制工具推荐~~

点击上方“小白学视觉”,选择加"星标"或“置顶”重磅干货,第一时间送达今天我们会介绍一下10个适用于多个学科的Python数据可视化库,其中有名气很大的也有鲜为人知的1、matplotlib保姆级教程Matplotlib 1.4W+字教程(收藏吃灰去吧~~)两个直方图matplotlib 是Python可视化程序库的泰斗。经过十几年它任然是Python使用者最常用的画图库。它的设计和在1980年代...

小白学视觉 2060

dolphinscheduler集群服务一键安装启动实现流程剖析

通过以上分析我们基本梳理清楚了整个dolphinscheduler项目的一键安装启动逻辑, 我们现在在通过一张图正好理一下整个实现流程。关于一键停止集群服务及一件查询集群各个角色服务实例运行状态的实现也都在stop-all.sh/status-all.sh及dolphinscheduler-daemon.sh这三个脚本中, 有兴趣自行研究。写这篇文章的核心目的不仅在于给大家分享如何优秀的开源项目的一键安装部署的实现过程。

最爱嫣夜来 1207

Python-数据可视化:matplotlib模块、pyecharts模块

>返回Python系列文章目录

u011079613的博客 3490

14、5G物理层的灵活解决方案:广义频分复用(GFDM)

广义频分复用(GFDM)作为一种高度灵活的5G物理层多载波调制方案,能够满足多样化应用场景的需求,包括高吞吐量的比特管道通信、低功耗高连接数的物联网、超低延迟的触觉互联网以及广覆盖的无线区域网。通过参数化配置,GFDM可适配LTE资源网格,实现与现有系统的兼容与共存。其支持多种解调方式、干扰消除技术、OQAM映射及预编码机制,兼具低带外发射、高频谱效率和强鲁棒性。GFDM还能统一描述OFDM、FBMC、FTN等多种经典与先进波形,成为5G及未来通信系统中极具潜力的通用波形框架。

gold8的专栏 108

黑猫带你学eMMC协议第22篇:emmc可靠写详解(Write Reliability)

1 前言 1.1 声明 本文依据eMMC JEDEC5.1、网络资料及个人工作经验整理而成,如有部分错误请留言。 本文部分内容可能源自网络,侵删。 本文结合eMMC JEDEC5.1协议手册查看效果更佳。 1.2 内容提要 1、什么是可靠性写属性(Write Reliability)? 2、可靠写和普通的写有什么区别? 3、设置可靠写的流程及流程框图。 4、可靠写需要遵循哪些规则? 1.3 参考链接 本文主要参考链接:http://www.up48.com/cn/support/8_37.html 2 什么

黑猫奥利奥的博客 3123

可视化工具不知道怎么选?深度评测5大Python数据可视化工具

作者 | 刘早起来源 |早起Python(ID: zaoqi-python)相信很多读者学习Python就是希望作出各种酷炫的可视化图表,当然你一定会听说过Matplotlib、Pye...

优快云资讯 2995

27、物联网中的量子密钥分发:安全通信新范式

本文探讨了物联网(IoT)快速发展所带来的安全挑战,并提出量子密钥分发(QKD)作为应对新兴威胁的新范式。文章详细介绍了QKD的基础原理、BB84协议的实现流程以及其在物联网中的应用前景,同时强调了安全专业人员提升技能、制定标准化指南以及跨学科合作的重要性。通过利用量子力学特性,QKD能够提供更高的通信安全性,抵御量子计算等未来威胁,为物联网的安全发展提供保障。

tequila的博客 157

可视化工具不知道怎么选?深度评测5大Python数据可视化工具!

相信很多读者学习Python就是希望作出各种酷炫的可视化图表,当然你一定会听说过Matplotlib、 Pyecharts、 Seaborn、 Plotly、 Bokeh这五大工具,本文就将通过真实绘图来深度评测这五个Python数据可视化的库,看看到底这几种工具各有什么优缺点,在制作图表时该如何选择。 指标说明 为了更清晰的了解这几款用于可视化的Python在作图时的异同,本文将使用 同一组数据分别制作多系列条形图来对比,主要将通过以下几个指标来进行评测: 数据说明 本文使...

爬遍所有网站 435

廖雪峰Python教程[完整版]

廖雪峰的python教程整理的,已经排好版了,而且还是完整的,适合小白

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

python数据可视化工具选择_可视化工具不知道怎么选?深度评测5大Python数据可视化工具...

原标题:可视化工具不知道怎么选?深度评测5大Python数据可视化工具 作者 | 刘早起来源 | 早起Python(ID: zaoqi-python)相信很多读者学习Python就是希望作出各种酷炫的可视化图表,当然你一定会听说过Matplotlib、Pyecharts、Seaborn、Plotly、Bokeh这五大工具,本文就将通过真实绘图来深度评测这五个Python数据可视化的库,看看到底这几...

weixin_39650994的博客 178

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

上一篇: 0基础学习Python很困难?教你如何高效学好Python
下一篇: 盘点两个神器,快速告别垃圾短信邮件
AI大模型学习
博客等级 码龄4年 2471粉丝 620原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值