Python数据可视化库汇总整理

  • Post author:
  • Post category:python


最近整理了一些比较优秀的Python数据可视化库(来自过去从各种推荐中收藏的内容以及在github中的搜索),比较全面,供朋友们参考。



数据绘图

  • Lux:数据框自动可视化发现

    自动化可视化数据框、辅助数据探索。在 Jupyter 中打印数据框,Lux会推荐一组可视化图表,以展示数据(交互式显示)。

    链接:https://github.com/lux-org/lux

    案例:https://notebooks.gesis.org/binder/jupyter/user/lux-org-lux-binder-23o8wej4/lab/tree/demo/hpi_covid_demo.ipynb
  • cufflinks:plotly的进一步封装

    将plotly的强大功能与pandas的灵活相结合,通过一个绘图命令(dataFrame.iplot)绘制几乎所有类型的交互式可视化图表。

    链接:https://github.com/santosjorge/cufflinks
  • Altair:简洁高效的统计可视化库

    建立在 Vega-Lite基础上,低代码生成美观可视化效果的统计可视化库。

    链接:https://github.com/altair-viz/altair

    案例:https://nbviewer.org/gist/santosjorge/b278ce0ae2448f47c31d
  • Pandas_Alive:低代码绘制动态图

    快速为Pandas数据框创建动态图,例如很火的动态变化条形图。

    链接:https://github.com/JackMcKew/pandas_alive
  • pyecharts:基于百度ECharts的交互可视化库

    链接:https://github.com/pyecharts/pyecharts

    教程:https://gallery.pyecharts.org/#/README
  • Plotly_express:交互式可视化库plotly的简化接口

    链接:https://github.com/plotly/plotly_express

    教程:https://plotly.com/python/plotly-express
  • FuncAnimation:绘制动态图表,Matplotlib的扩展

    import matplotlib.animation as ani 即可
  • plotly:交互可视化

    教程:https://plotly.com/python/getting-started/
  • bokeh:交互式可视化库,支持现代化 Web 浏览器

    教程:http://docs.bokeh.org/en/latest/
  • Lightning

    交互式数据可视化框架,提供在线版本、服务器版本(软件)支持命令行操作、python版本(有一定局限性)、R版本(社区用户构建)等。

    链接:https://github.com/lightning-viz/lightning-example-notebooks
  • HoloViews

    低代码绘图库,旨在使数据分析和可视化无缝且简单。

    链接:https://github.com/holoviz/holoviews
  • sweetviz

    两行代码深入EDA

    链接:https://github.com/fbdesignpro/sweetviz
  • plotnine:

    使用方式与R语言很相似,做出来的图也很好看

    链接:https://github.com/has2k1/plotnine-examples
  • Pygal

    python可视化库,基于XML(Extensible Markup Language),可以生成多个输出格式的高分辨率Web图形页面。

    链接:http://www.pygal.org/en/stable/
  • scikit-plot

    机器学习绘图库

    链接:https://github.com/reiinakano/scikit-plot
  • Highcharts: pip install python-highcharts

    似乎很多年没更新了,不推荐。

    链接:https://github.com/kyper-data/python-highcharts
  • pandas自带 df.plot 快速绘图,可以一行代码快速可视化表格数据

    链接:https://pandas.pydata.org/pandas-docs/version/0.23.4/generated/pandas.DataFrame.plot.bar.html
  • bqplot

    为Jupyter Notebook开发的交互插件,丰富了交互图层,可满足丰富的交互式可视化需求。

    链接:https://github.com/bqplot/bqplot
  • PyG2Plot

    基于蚂蚁金服开源图形语法G2的交互式和响应式图表库。可以通过几行代码轻松制作优质的统计图表。

    链接:https://github.com/hustcc/PyG2Plot
  • PyCatFlow:类别特征可视化工具

    对类别特征随着时间变化进行绘制,基于分类数据表示时间发展。
  • Chartify

    Bokeh包装,使数据科学家更容易创建图表。

    链接:https://github.com/spotify/chartify
  • Glumpy:高效美观的科学可视化( Python+Numpy+OpenGL )

    链接:https://glumpy.readthedocs.io/en/latest/
  • Pyvista:三维可视化、绘制3维图形

    链接:https://docs.pyvista.org/
  • VisPy

    交互式 2D/3D 的数据可视化库。利用图形处理器 GPU 通过 OpenGL 库来显示非常大的数据。

    链接:https://vispy.org/
  • python-ternary

    一个绘图库,与matplotlib一起使用,可以在二维单纯形中绘制三元绘图,并将其投影到二维平面上。

    链接:https://github.com/marcharper/python-ternary
  • matplotx

    Matplotlib的优质扩展,可辅助Matplotlib轻松实现理想图形。

    链接:https://github.com/nschloe/matplotx
  • mpld3

    Python的Matplotlib可视化库与JavaScript的D3.js强交互可视化库结合,弥补Matplotlib的弱交互能力,可将Matplotlib图像导出为HTML代码,进而运用于浏览器网页、博客等中。

    链接:https://mpld3.github.io/
  • pandasgui:数据框可视化GUI

    图形化界面进行数据框可视化

    链接:https://github.com/adamerose/PandasGUI
  • ipyvizzu : 动态图表制作

    链接:https://github.com/vizzuhq/ipyvizzu/tree/main

    教程:https://vizzuhq.github.io/ipyvizzu/examples/examples.html



绘图风格库

  • mplcyberpunk:为matplotlib绘图添加赛博朋克风格

    两个主要功能:make_lines_glow(线条发光)、add_underglow(线条面积图)

    链接:https://github.com/dhaitz/mplcyberpunk
  • SciencePlots:Matplotlib补充包

    一键调用符合IEEE等不同期刊要求的图表格式。

    链接:https://github.com/garrettj403/SciencePlots
  • 设置主题

    import seaborn as sns

    sns.set_palette(“magma”, 8)
  • haishoku

    提取图片中的配色,获得可轻松使用的结果

    链接:https://github.com/LanceGin/haishoku



Web交互式可视化展示

(这里记录的是可以用于快速搭建可视化Web服务的库,即用于快速制作简易可视化网站的库)

  • Gleam

    Gleam 用 Python 构建数据的交互式 Web 可视化:无需 HTML 、JS (灵感来自R 中的Shiny包)

    链接:https://github.com/dgrtwo/gleam
  • Dash

    编写在 Plotly.js 和 React.js 基础上,适合构建和部署具有自定义用户界面的数据应用程序,是构建数据可视化app的理想选择。

    链接:https://dash.plotly.com/introduction
  • Streamlit

    用于创建交互式,美观的可视化应用程序(例如机器学习app)

    链接:https://github.com/streamlit/streamlit
  • Gradio

    比Streamlit轻量的UI设计库,快速搭建机器学习app。

    链接:https://gradio.app/



实现特定功能的可视化库

  • ann-visualizer

    一键导出keras神经网络结构可视化图

    https://github.com/RedaOps/ann-visualizer
  • 3b1b:制作动态3d数学(主要)

    https://github.com/3b1b/manim
  • dash-bio:基于dash构建的的生物信息学可视化库

    项目地址:https://github.com/plotly/dash-bio
  • hiplot

    高维数据(例如例如深度学习的调参结果)可视化库

    https://github.com/facebookresearch/hiplot
  • Diagrams:绘制云系统架构

    https://diagrams.mingrammer.com
  • missingno

    快速高效可视化评估数据缺失的情况。

    https://github.com/ResidentMario/missingno
  • VisualDL

    深度学习(指标等)可视化分析。

    https://github.com/PaddlePaddle/VisualDL
  • Model Log

    基于 Python的深度学习模型训练评估指标可视化工具,与 TensorFlow、Pytorch、PaddlePaddle结合使用,可以记录模型训练过程当中的超参数、Loss、Accuracy、Precision、F1值等,并以曲线图的形式进行展现对比,轻松三步即可实现。

    https://github.com/NLP-LOVE/Model_Log
  • import pandas_profiling ;pandas_profiling.ProfileReport(df)

    一键数据分析(数据概况、缺失、相关性、异常值等等),方便结合数据分析报告做特征生成。
  • Aim:https://github.com/Aimhubio/Aim

    号称搜索速度比TensorBoard快几倍的机器学习可视化工具包(加州伯克利)
  • nn_vis:https://github.com/julrog/nn_vis

    神经网络3D可视化

    (其他神经网络可视化库:NNSVG、Conx、ENNUI、Neataptic)
  • Autoviz

    一行代码搞定数据集探索并可视化

    https://github.com/AutoViML/AutoViz
  • yellowbrick

    Scikit-Learn的强力扩展,几行代码可视化「特征值」、「模型」、「模型评估」等,帮助“调参侠”们「更便捷的的选择机器学习模型和调参」,依赖Matplotlib和Scikit-Learn。

    https://github.com/DistrictDataLabs/yellowbrick
  • napari

    图像查看和分析软件

    https://napari.org/
  • itkwidgets

    Jupyter的一个交互式小部件,主要运用于可视化图像、点集和mesh。 https://github.com/InsightSoftwareConsortium/itkwidgets
  • vedo

    三维可视化

    https://github.com/marcomusy/vedo
  • ipyvolume

    三维可视化

    可在Jupyter Notebook中渲染3D图,基于WebGL,功能较少。
  • mayavi

    三维可视化

    http://docs.enthought.com/mayavi/mayavi/index.html



案例代码

  • matplotlib案例代码 https://github.com/liuhuanshuo/zaoqi-data
  • 用Python制作的数百个图表的集合,带有相关的可复制代码。https://www.python-graph-gallery.com



版权声明:本文为qq274573863原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。