Plotly 是一个快速完善并崛起的交互式的、开源的绘图库库,Python 库则是它的一个重要分支。现已支持超过40种独特的图表类型,涵盖了广泛的统计、金融、地理、科学和三维用例。
1. Plotly安装
Python 中可以使用 pip
或者 conda
安装 Plotly:
1 | pip install plotly |
2. Plotly绘图教程
2.1 折线图与散点图
折线图不仅可以表示数量的多少,而且可以反映同一事物在不同时间里的发展变化的情况,易于显示数据变化趋势,可以直观地反映这种变化以及各组之间的差别。
1 | import numpy as np |
2.2 饼图
饼图用于强调各项数据占总体的占比,强调个体和整体的比较。
1 | fig = go.Figure( |
2.3 直方图
直方图虽然也和条形图一样通过矩形的长度表示数值,但他的宽度一般用于表示各组的组距,因此其高度与宽度均有意义,适合展示大量数据集的统计结果,直方图的表示的数据通常是连续排列,而柱状图则是分开排列。
1 | x = np.random.rand(1000) * 30 # 生成1000个0-30之间的数 |
可设置 barmode
参数实现多个直方图覆盖的效果:
1 | x1 = np.random.rand(1000) * 30 |
2.4 条形图
条形图用于比较各组数据的差异性,强调进行个体间的比较。
1 | x = np.arange(10) |
2.5 热力图
热力图是一种特殊的图表,它是一种通过对色块着色来显示数据的统计图表,在绘图时,需要指定每个颜色映射的规则(一般以颜色的强度或色调为标准);比如颜色越深的表示数值越大、程度越深或者颜色越浅的数值越大、程度越深。热力图适合用于查看总体的情况、观察特殊值或者显示多个变量之间的差异性、检测它们之间是否存在相关性等等。
1 | df = pd.read_csv('../data/MODIS/test_data.csv', nrows=10) # [10 rows x 22 columns] |
2.6 导出图像到本地
首先我们需要安装两个依赖项:orca
和 psutil
,orca
在 PyPi 存储库中不可用,因此需要使用 conda
安装:
1 | conda install -c plotly plotly-orca psutil |
或者直接安装 kaleido
模块:
1 | pip install kaleido |
安装完成后即可使用 Plotly 的 io
库导出图像(格式可以是 SVG、JPG、PNG等):
1 | import plotly.io as pio |