Pyecharts(v1.x):直角坐标系热力图(HeatMap)

959 阅读1分钟

前言

本文所用pyecharts 版本是v1.x版本
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

代码示例

from pyecharts.charts import HeatMap  # 首先导入HeatMap这个类
from pyecharts import options as opts


# 准备数据
sj_df = pd.read_excel('../data/xxx.xlsx')

# 根据实际情况,对数据进行一定的处理
# 如果x轴已经是index了,则无需再进行下面的数据处理
sj_df = sj_df.set_index(keys=['发送者姓名'])

x_axis = sj_df.index.tolist()
y_axis = sj_df.columns.tolist()

# value的结构是:list构成的list
# 每个list中有3个元素,及x坐标,y坐标,交叉的值
data = [ [i,j,sj_df.loc[i,j]] for i in x_axis for j in y_axis ]

# 初始化热力图实例化对象
# 在这里,InitOpts是一个类,在初始化该类的时候,可以指定一些参数
heatmap = HeatMap(init_opts=opts.InitOpts(width="1700px", height="720px"))

# 添加x轴和y轴
heatmap.add_xaxis(x_axis)
heatmap.add_yaxis("沟通热度直角坐标系热力图",  # 名称
             y_axis,  # y轴数据
             data,  # 系列数据
             label_opts=opts.LabelOpts(is_show=True,position="inside") )


heatmap.set_global_opts(title_opts=opts.TitleOpts(title="主标题",subtitle='副标题'),
                 visualmap_opts=opts.VisualMapOpts(min_=int,max_=int), # 图例的最大最小值
                 tooltip_opts=opts.TooltipOpts(axis_pointer_type="cross")) # 当鼠标移到某个单元格的时候,会出现交叉显示

heatmap.render("./xxxx.html")