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

你可能感兴趣的:(资源整理,python,数据可视化)