6款Python可视化工具,总有一款适合你!

简介: 6款Python可视化工具,各有所长,适用于不同的场景,但是,它们都有一个共同点:强大且好用!下面就开始正文吧!

视觉是人们很重要的一种感官,所以,可视化,在数据相关的研发中可以起到“四两拨千斤”的作用。如果从直接查看离线存储在各类数据库中杂乱无章的数据,会让人瞬间感到崩溃、没有头绪。但是,如果对数据进行可视化,就变得一目了然。


例如,我们可以通过可视化看到一年中不同月份的降雨量、中国各个城市房价的对比、不同行业的薪资水平等。


Python相关的开发工作,很难绕过数据这一关,无论是做数据分析与挖掘,还是机器学习、计算机视觉。因此,一款好用的Python可视化工具,可以让开发效率得到极大的提升。本文就来介绍6款Python可视化工具,它们各有所长,适用于不同的场景,总会有一款适合你。


matplotlib


40.png


再提到matplotlib就有一些老生常谈了,我想,凡是做过Python开发的,应该对matplotlib都不陌生,它俨然已经成了Python的标准库级别的第三方库。


matplotlib可以称得上中规中矩,它像大多数编程语言的标准库一样,读写、显示、子图、常见图形,可以满足大多数需求常见。


pyecharts


41.gif


pyecharts是基于百度开源的Echarts开发的Python版可视化工具。


如果说matplotlib中规中矩,那么pyecharts可以称得上强大,例如,

  • 支持多达400+地图
  • 支持Jupyter Notebook、JupyterLab
  • 可轻松集成至 Flask,Sanic,Django 等主流 Web 框架
  • ...


from pyecharts.charts import Bar
from pyecharts import options as opts
# V1 版本开始支持链式调用
bar = (
    Bar()
    .add_xaxis(["衬衫", "毛衣", "领带", "裤子", "风衣", "高跟鞋", "袜子"])
    .add_yaxis("商家A", [114, 55, 27, 101, 125, 27, 105])
    .add_yaxis("商家B", [57, 134, 137, 129, 145, 60, 49])
    .set_global_opts(title_opts=opts.TitleOpts(title="某商场销售情况"))
)
bar.render()
# 不习惯链式调用的开发者依旧可以单独调用方法
bar = Bar()
bar.add_xaxis(["衬衫", "毛衣", "领带", "裤子", "风衣", "高跟鞋", "袜子"])
bar.add_yaxis("商家A", [114, 55, 27, 101, 125, 27, 105])
bar.add_yaxis("商家B", [57, 134, 137, 129, 145, 60, 49])
bar.set_global_opts(title_opts=opts.TitleOpts(title="某商场销售情况"))
bar.render()


更重要的是pyecharts可以保存为离线的HTML文件,能够将图标详细数据离线保存,便于离线分析。


plotly.py


42.png


相对于前两款Python可视化工具,plotly.py更偏重于交互式图形可视化。


plotly.py是基于plotly.js进行开发,它继承了plotly.js的诸多优点,例如,可以绘制科学图表,3D图形,统计图表,SVG地图,财务图表等丰富图形。


AutoViz


43.png


数据可视化,大多数都需要把数据读取到内存中,然后对内存中的数据进行可视化。但是,对于真正令人头疼的是一次又一次的开发读取离线文件的数据接口。


而AutoViz就是用于解决这个痛点的,它真正的可以做到1行代码轻松实现可视化。它可以同时兼容txt、json、csv等主流离线数据格式,比较适合于机器学习、计算机视觉等涉及离线数据较多的应用场景。


Altair


Altair是一款基于Vega 和Vega-Lite开发的统计可视化库。

import altair as alt
from vega_datasets import data
source = data.unemployment_across_industries.url
alt.Chart(source).mark_area().encode(
    alt.X('yearmonth(date):T',
        axis=alt.Axis(format='%Y', domain=False, tickSize=0)
    ),
    alt.Y('sum(count):Q', stack='center', axis=None),
    alt.Color('series:N',
        scale=alt.Scale(scheme='category20b')
    )
).interactive()


44.png


Altair构建在强大的Vega-Lite JSON规范之上,并且具有API简单、友好、一致等诸多优点。因此,通过使用Altair,你可以把更多时间花费在理解数据和业务逻辑上,用最简短的代码实现数据可视化。


cufflinks


plotly前面已经介绍过,是一款非常强大的绘图工具。而pandas又是Python数据处理中非常常用的一个第三方库,那么,能不能把这两款强大的工具结合在一起呢?

cufflinks的回答是肯定的!


cufflinks结合了plotly的强大功能和panda的灵活性,可以方便地进行绘图,因此,就不需要在数据可视化过程中,对数据存储结构和数据类型进行复杂的转化了。


df=cf.datagen.ohlc()
qf=cf.QuantFig(df,title='First Quant Figure',legend='top',name='GS')
qf.add_bollinger_bands()
qf.iplot()


45.png


结语


上述介绍的6款Python可视化工具,各有所长,特色明显:

  • matplotlib适用场景广泛、中规中矩。
  • AutoViz适合离线数据可视化。
  • plotly.py见长与交互可视化。
  • ...


每位同学的工作场景不同,需求自然也不同,各位可以根据自己的的需求自行从中选择一款最适合自己的可视化工具!

相关文章
|
10天前
|
数据可视化 数据挖掘 Python
Python时间序列分析苹果股票数据:分解、平稳性检验、滤波器、滑动窗口平滑、移动平均、可视化(下)
Python时间序列分析苹果股票数据:分解、平稳性检验、滤波器、滑动窗口平滑、移动平均、可视化
|
10天前
|
数据可视化 API 开发者
Python时间序列分析苹果股票数据:分解、平稳性检验、滤波器、滑动窗口平滑、移动平均、可视化(上)
Python时间序列分析苹果股票数据:分解、平稳性检验、滤波器、滑动窗口平滑、移动平均、可视化
|
10天前
|
机器学习/深度学习 数据可视化 安全
Python随机森林、线性回归对COVID-19疫情、汇率数据预测死亡率、病例数、失业率影响可视化(下)
Python随机森林、线性回归对COVID-19疫情、汇率数据预测死亡率、病例数、失业率影响可视化
|
10天前
|
机器学习/深度学习 数据可视化 Python
Python随机森林、线性回归对COVID-19疫情、汇率数据预测死亡率、病例数、失业率影响可视化(上)
Python随机森林、线性回归对COVID-19疫情、汇率数据预测死亡率、病例数、失业率影响可视化
|
1天前
|
JSON 数据可视化 Shell
数据结构可视化 Graphviz在Python中的使用 [树的可视化]
数据结构可视化 Graphviz在Python中的使用 [树的可视化]
8 0
|
2天前
|
SQL 测试技术 网络安全
Python之SQLMap:自动SQL注入和渗透测试工具示例详解
Python之SQLMap:自动SQL注入和渗透测试工具示例详解
11 0
|
2天前
|
前端开发 文件存储 Python
python之xhtml2pdf: HTML转PDF工具示例详解
python之xhtml2pdf: HTML转PDF工具示例详解
7 0
|
3天前
|
Python
Python 中的异常处理机制是一种强大的错误处理工具
Python的异常处理机制借助try/except结构管理错误,提高程序健壮性。异常是中断正常流程的问题,可由多种原因引发。基本结构包括try块(执行可能出错的代码)和except块(处理异常)。通过多个except块可捕获不同类型的异常,finally块确保无论是否异常都执行的代码。此外,raise语句用于主动抛出异常,自定义异常通过继承Exception类实现。with语句配合上下文管理器简化资源管理并确保异常情况下资源正确释放。
14 2
|
4天前
|
数据可视化 Python
python中Copula在多元联合分布建模可视化2实例合集|附数据代码
python中Copula在多元联合分布建模可视化2实例合集|附数据代码
|
4天前
|
机器学习/深度学习 数据采集 数据可视化
Python众筹项目结果预测:优化后的随机森林分类器可视化|数据代码分享
Python众筹项目结果预测:优化后的随机森林分类器可视化|数据代码分享