使用Pyecharts绘制热力图
因为论文需要描述数据,先开始发现百度Echarts,但是习惯用Python处理数据,发现也有这个库,记录一下折腾过程~其实之前图方便看了CSDN结果发现都是老版本,问题很多,还是看了官方文档成功使用并批量渲染图片
官方文档
安装
推荐源码安装
git clone https://github.com/pyecharts/pyecharts.gitcd pyecharts pip install -r requirements.txt python setup.py install
或者运气好pip安装
HeatMap:热力图
本次是为了根据坐标点数据强度绘制颜色深浅表示
导入包
import pyecharts.options as optsfrom pyecharts.charts import HeatMapfrom pyecharts.render import make_snapshotfrom snapshot_selenium import snapshotimport numpy as np
设置x, y轴
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() 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" ) )
渲染为图片
make_snapshot(snapshot, heatmap.render("VR.html" ), "./" + str (i) + ".png" )