一、静态可视化库(基础绘图、出版级图表)
1. Matplotlib
Python 可视化底层基石,所有库大多基于它封装
- 特点:高度自定义、灵活、兼容所有格式,折线 / 柱状 / 散点 / 直方图 / 热力图全覆盖
- 适用:论文配图、精细定制图表、简单静态图
- 缺点:代码繁琐、无交互、不美观
2. Seaborn
基于 Matplotlib 封装,统计可视化神器
- 特点:默认颜值高、一键画相关性热力图、箱线图、小提琴图、分布拟合图
- 擅长:数据分析探索、相关性分析、分组统计、分布特征展示
二、交互式可视化库(鼠标悬浮、缩放、点击查看数据)
1. Plotly
Python 最强交互式可视化
- 交互功能:鼠标悬停数值、缩放、平移、图例显隐、图表联动、导出图片
- 图表类型:地图、3D 图、桑基图、瀑布图、仪表盘、树状图
- 输出:HTML 网页、Jupyter 内嵌交互图
- 适用:大屏看板、数据分析报告、复杂多维数据
2. Bokeh
主打Web 端交互式可视化
- 特点:独立渲染、不依赖 Plotly、可嵌入网页、服务端动态绘图
- 适合:自建数据分析网页、在线动态看板、长期运行可视化服务
3. Pyecharts
百度 ECharts Python 封装,国人友好、中文文档完善
- 颜值极高、地图可视化超强(全国 / 省市地图)
- 一键生成 HTML 交互式图表,零前端基础
- 适合:业务报表、大屏数据大屏、地理数据可视化
三、Jupyter 一站式交互式数据分析
1. ipywidgets
Jupyter 滑块、下拉框、按钮控件交互
- 拖动参数实时更新图表
- 快速做参数探索、多维度筛选分析
2. HoloViews + Datashader
- HoloViews:极简语法快速绘图,自动交互
- Datashader:千万 / 亿级海量大数据可视化,不卡顿、不崩溃
- 适合超大规模数据集探索分析
四、BI 式交互式数据分析(表格 + 图表联动、拖拽分析)
1. Plotly Express
Plotly 极简高级 API,一行代码出交互图
2. Dash
基于 Plotly 搭建完整交互式数据分析 Dashboard
- 不用前端,纯 Python 写数据看板
- 下拉筛选、日期选择、图表联动、实时更新
- 企业级数据分析系统常用
3. Tableau Python API / PyTableau
对接专业 BI 工具,Python 分析 + Tableau 可视化联动
五、地理空间可视化
- Folium:基于 Leaflet,地图点位、轨迹、区域热力交互地图
- Plotly Mapbox:高精度在线地图
- Geopandas + Matplotlib:矢量地理静态图
六、工具选型对比(一句话选库)
- 写论文、简单画图 → Matplotlib + Seaborn
- 好看交互图、地图、网页图表 → Pyecharts
- 专业复杂交互、3D、多维大数据 → Plotly
- 做在线数据分析看板、WEB 系统 → Dash + Bokeh
- 上亿行海量数据不卡顿 → Datashader
- Jupyter 滑块动态调参看图 → ipywidgets
七、极简代码示例对比
Seaborn 静态
python
运行
import seaborn as sns
sns.heatmap(df.corr())
Plotly 交互式
python
运行
import plotly.express as px
fig = px.scatter(df,x='a',y='b',color='类别')
fig.show()
Pyecharts 地图
python
运行
from pyecharts.charts import Map
Map().add("",数据).render("地图.html")