Plotly是Python中最易上手的交互图表库,只需十几行代码即可生成可缩放、可筛选、带悬停提示的交互式图表;支持散点图、折线图、地图等,无需前端知识,本地运行即可导出HTML。

Python做交互图表并不难,只要选对工具、掌握基础语法,十几行代码就能生成可缩放、可筛选、带提示的交互式图表。
用Plotly最简单上手
Plotly是Python中最友好的交互图表库,无需前端知识,所有交互功能内置。安装只需一行:
- pip install plotly
- 绘图后调用.show()直接在浏览器打开交互界面
- 支持散点图、折线图、柱状图、地图、3D图等主流类型
- 鼠标悬停自动显示数值,拖拽缩放,双击重置,点击图例隐藏/显示数据系列
几行代码就能跑起来
比如画一个带悬停信息的散点图:
- 导入plotly.express as px
- 用px.scatter(df, x='年龄', y='收入', color='城市', hover_data=['姓名'])一键生成
- 数据是pandas DataFrame格式,常见且易准备
- 不用写JavaScript,不配置服务器,本地运行即可交互
进阶但实用的小技巧
想让图表更专业?加几行参数就够了:
立即学习“Python免费学习笔记(深入)”;
- animation_frame='年份'添加时间轴动画(适合多年份数据)
- facet_col='地区'自动生成分面子图
- template='seaborn'切换配色与风格
- 导出为HTML文件:fig.write_html("chart.html"),发给同事点开就能用
和Matplotlib、Seaborn比有什么不同
Matplotlib和Seaborn默认输出静态图,要交互得额外搭配mplcursors或转成HTML需复杂封装;而Plotly原生就是交互的,代码量少、容错高、中文支持好。如果只是快速探索数据或做汇报演示,Plotly基本覆盖全部需求,学习成本远低于学JS+D3。










