plotly,是一个快速完善并崛起的交互式的、开源的绘图库库,Python库则是它的一个重要分支。现已支持超过40种独特的图表类型,涵盖了广泛的统计、金融、地理、科学和三维用例。
Plotly 通过JavaScript构建,能基于Web显示实现交互式的可视化效果(Plotly最强大之处之一)。所以它的图形呈现可以方便的显示于Jupyter notebook(基于html)、独立的html中(直接显示或嵌套于后端服务器实现)、更可以通过plotly官方强推的dash实现web页面的直接生成(简而言之就是将成熟的plotly代码通过简单的输出转化,仅需要用业务逻辑的python语句,即可自动构建完整的web应用)。
当然亦可通过orca图像的支持,plotly在非web环境中同样强大,包括桌面编辑器(例如QtConsole、Spyder、PyCharm)和静态文档发布(例如导出高质量pdf格式的矢量图像)
所以说学习plotly后,能获得各种媒介和平台的支持扩展,plotly的生态非常之强大。
本篇分享的目标为帮助基础的数据分析人员快速上手并熟练使用plotly完成可视化需求,故重点分享plotly体系中的基本图标和统计图标的使用细节,其他的如科学图表,金融图表,地图和三维图表仅做简单介绍
以下是重点参考的官方网站的导航,本套分享基于plotly的4.9.0版本:
实例 | 基础 | Api |
---|---|---|
基本图形、统计图形、科学图形、金融图形、地图、三维图 | 图形结构、创建和更新图形、图形显示、主题模板、图形导出、Plotly Express的API | Python Api 指南、图形指南 |
一、安装指南
1.1 常规安装
使用pip进行安装:
pip install plotly # 不指定版本号
pip install plotly==4.9.0 # 指定版本号
或使用conda安装:
conda install -c plotly plotly=4.9.0
建议不指定版本号,安装最新版本
验证版本号:
>>> import plotly
>>> plotly.__version__
'4.8.2'
需要注意的是,通过以上方式安装已经包含了所有html文件的支持。
同时plotly版本4后已经剥离了“联机”模式,即按上述方式安装仅有“离线”模式,如需要“联机”模式将图形发布到云端服务器(默认Chart Studio web service),则需单独安装chart-studio包。
1.2 其他拓展安装
Jupyter Notebook
conda已经集成,适用于未安装conda的用户或jupyter报错等情况:
pip install "notebook>=5.3" "ipywidgets>=7.2" # 适用于未装conda的用户
conda install "notebook>=5.3" "ipywidgets>=7.2" # 适用于安装过conda的用户
通过在terminal中键入命令即可启动:
jupyter notebook
本分享实例代码和效果绝大多数在jupyter notebook中测试
在jupyter notebook中有两种方式显示图形:一种是通过渲染器(常用):
import plotly.graph_objects as go
fig = go.Figure(data=go.Bar(y=[2, 3, 1]))
fig.show()
另一种则是通过FigureWidget对象
import plotly.graph_objects as go
fig = go.FigureWidget(data=go.Bar(y=[2, 3, 1]))
fig
JupyterLab
与jupyter notebook类似,不再展开,具体细节可以查看plotly官方文档
1.3 静态导出
绘图.py支持静态图像导出,使用kaleido包(推荐,从plotly version 4.9开始支持)或orca命令行实用程序(plotly version 4.9起仅作为传统版本的备份)。
Kaleido
两种安装方式,根据是否安装conda自选:
pip install -U kaleido # 未安装conda
conda install -c plotly python-kaleido # 已安装conda
Orca
如果plotly更新到了4.9以上版本,还是更推荐使用Kaleido,因为它更易于安装并且兼容性更广。Orca的优势则在于它的命令行实用程序和psutil Python包也可以支持静态映像导出。
pip install psutil # 未安装conda
conda install -c plotly plotly-orca==1.3.1 psutil # 已安装conda
更多的Orca的介绍,请参考Orca文档
Geo
如果需要在地图方面更多的地理图形拓展,Geo是个不错的选择:
pip install chart-studio==1.0.0 # 未安装conda
conda install -c plotly chart-studio=1.0.0 # 已安装conda
具体地图可能需要参考更详细的信息说明,比如美国国家地图
Chart Studio
正如前面所说,这是一个支持plotly的云端可选包:
conda install -c plotly chart-studio=1.0.0 # 未安装conda
pip install chart-studio==1.0.0 # 已安装conda
自选拓展,版本4以后如果未安装则无法将图形上传到Chart Studio云
Plotly系列文章导航
Plotly(二)基本图形(1):点图