使用Pyecharts绘制热力图

使用Pyecharts绘制热力图

因为论文需要描述数据,先开始发现百度Echarts,但是习惯用Python处理数据,发现也有这个库,记录一下折腾过程~其实之前图方便看了CSDN结果发现都是老版本,问题很多,还是看了官方文档成功使用并批量渲染图片

官方文档

安装

推荐源码安装

1
2
3
4
git clone https://github.com/pyecharts/pyecharts.git
cd pyecharts
pip install -r requirements.txt
python setup.py install

或者运气好pip安装

1
2
#可能会出现安装以后无法导入库的问题
pip(3) install pyecharts

HeatMap:热力图

本次是为了根据坐标点数据强度绘制颜色深浅表示

导入包

1
2
3
4
5
6
7
8
9
#配置
import pyecharts.options as opts
#热图
from pyecharts.charts import HeatMap
#渲染html为图片
from pyecharts.render import make_snapshot
from snapshot_selenium import snapshot
#numpy计算
import numpy as np

设置x, y轴

1
2
x = np.linspace(0, 67, 68)
y = np.linspace(0, 51, 52)

HeatMap代码

测试数据test.txt下载

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
for i in range(1830, 5581, 10):
data = np.loadtxt("test.txt")
data = data.tolist()#转为list

heatmap = (
HeatMap()
.add_xaxis(x)
.add_yaxis(
series_name="vortex",
yaxis_data=y,
value=data,
)
.set_series_opts()
.set_global_opts(
legend_opts=opts.LegendOpts(is_show=False),
xaxis_opts=opts.AxisOpts(
type_="category",
splitarea_opts=opts.SplitAreaOpts(
is_show=True, areastyle_opts=opts.AreaStyleOpts(opacity=1)
),
),
yaxis_opts=opts.AxisOpts(
type_="category",
splitarea_opts=opts.SplitAreaOpts(
is_show=True, areastyle_opts=opts.AreaStyleOpts(opacity=1)
),
),
visualmap_opts=opts.VisualMapOpts(
min_=0, max_=10, is_calculable=True, orient="horizontal", pos_left="center"
),
)
.render("heatmap_on_cartesian.html")#渲染为Html,渲染图片时可注释
)

渲染为图片

1
make_snapshot(snapshot, heatmap.render("VR.html"), "./" + str(i) + ".png")