HeatMap(热力图)
热力图主要通过颜色去表现数值的大小,必须要配合 visualMap 组件使用。直角坐标系上必须要使用两个类目轴。
import random
from pyecharts import HeatMap
x_axis = [
"12a", "1a", "2a", "3a", "4a", "5a", "6a", "7a", "8a", "9a", "10a", "11a",
"12p", "1p", "2p", "3p", "4p", "5p", "6p", "7p", "8p", "9p", "10p", "11p"]
y_axis = ["Saturday", "Friday", "Thursday", "Wednesday", "Tuesday", "Monday", "Sunday"]
data = [[i, j, random.randint(0, 50)] for i in range(24) for j in range(7)]
heatmap = HeatMap()
heatmap.add("热力图直角坐标系", x_axis, y_axis, data,
is_visualmap=True, visual_text_color="#000", visual_orient="horizontal",
visual_pos="left", visual_bottom="20%")
heatmap
<div id="f8c7f3083e2f4ea6935340bcecf27797" style="width:800px;height:400px;"></div>
import datetime
import random
from pyecharts import HeatMap
begin, end = datetime.date(2017, 1, 1), datetime.date(2017, 12, 31)
data = [[str(begin + datetime.timedelta(days=i)),
random.randint(1000, 25000)] for i in range((end - begin).days + 1)]
heatmap = HeatMap("日历热力图示例", "某人 2017 年微信步数情况", width=1000)
heatmap.add("", data,
is_calendar_heatmap=True,
is_visualmap=True,
visual_orient="horizontal", visual_pos="center", visual_top="70%",
visual_text_color='#000', visual_range_text=['', ''],
visual_range=[1000, 25000],
calendar_cell_size=['auto', 30],
visual_split_number=3, # 分段型中分割的段数,在设置为分段型时生效。默认分为 5 段。
calendar_date_range="2017",
is_piecewise=True, # 是否将组件转换为分段型(默认为连续型),默认为 False
)
heatmap
<div id="89d31bdf784d4b148aa0f697e2b4d22a" style="width:1000px;height:400px;"></div>