Exemple #1
0
def Artificial_intelligence_avg_salary():
    print("正在计算人工智能开发各个城市薪资......")
    data = sel_Artificial_intelligence_avg_salary()
    print(data)
    x_axis = city_list
    y_axis = Artificial_intelligence_list
    avg_salary_list = []
    for x in range(9):
        for y in range(8):
            for i in data:
                if i["avg_salary"] == None:
                    i["avg_salary"] = '0'
                avg_salary_list.append([x, y, i["avg_salary"]])
    #print(avg_salary_list[::73])  #防止3次循环产生的笛卡尔积 需要隔 (x * y)+1中取数
    avg_salary_list = avg_salary_list[::73]
    heatmap = HeatMap(
        "各地人工智能开发薪资水平",
        background_color='#F4F3EF',
    )
    heatmap.add("",
                x_axis,
                y_axis,
                avg_salary_list,
                is_visualmap=True,
                visual_text_color="#000",
                visual_orient='horizontal',
                visual_range=[0, 30],
                visual_range_text=['0', '30k'])
    return heatmap
Exemple #2
0
def test_grid_5():

    import random
    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("热力图示例", height=700)
    heatmap.add("热力图直角坐标系",
                x_axis,
                y_axis,
                data,
                is_visualmap=True,
                visual_top="45%",
                visual_text_color="#000",
                visual_orient='horizontal')
    attr = ["衬衫", "羊毛衫", "雪纺衫", "裤子", "高跟鞋", "袜子"]
    v1 = [5, 20, 36, 10, 75, 90]
    v2 = [10, 25, 8, 60, 20, 80]
    bar = Bar("柱状图示例", title_top="52%")
    bar.add("商家A", attr, v1, is_stack=True)
    bar.add("商家B", attr, v2, is_stack=True, legend_top="50%")

    grid = Grid()
    grid.add(heatmap, grid_bottom="60%")
    grid.add(bar, grid_top="60%")
    grid.render()
Exemple #3
0
def test_heatmap_calendar():
    import datetime

    begin = datetime.date(2017, 1, 1)
    end = 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=1100)
    heatmap.add(
        "",
        data,
        is_calendar_heatmap=True,
        visual_text_color="#000",
        visual_range_text=["", ""],
        visual_range=[1000, 25000],
        calendar_cell_size=["auto", 30],
        is_visualmap=True,
        calendar_date_range="2017",
        visual_orient="horizontal",
        visual_pos="center",
        visual_top="80%",
        is_piecewise=True,
    )
    heatmap.render()
Exemple #4
0
def backend_development_avg_salary():
    print("正在计算后端开发各个城市薪资......")
    data = sel_backend_development_avg_salary()
    print(data)
    x_axis = city_list
    y_axis = Backend_development_list
    avg_salary_list = []
    for x in range(9):
        for y in range(12):
            for i in data:
                if i["avg_salary"] == None:
                    i["avg_salary"] = '0'
                avg_salary_list.append([x, y, i["avg_salary"]])
    #print(avg_salary_list[::109])  防止3次循环产生的笛卡尔积 需要隔 x * y 中取数
    avg_salary_list = avg_salary_list[::109]
    heatmap = HeatMap(
        "各地后端开发薪资水平",
        background_color='#F4F3EF',
    )
    heatmap.add("",
                x_axis,
                y_axis,
                avg_salary_list,
                is_visualmap=True,
                visual_text_color="#000",
                visual_orient='horizontal',
                visual_range=[0, 30],
                visual_range_text=['0', '30k'])
    return heatmap
Exemple #5
0
def heatmap_2attr(df, attr1, attr2, func=len, value=None, order_type=[0, 0]):
    if value == None:
        df2 = df.groupby([attr1, attr2])[attr1].agg([func])
    else:
        df2 = df.groupby([attr1, attr2])[value].agg([func])

    df2 = df2.reset_index()

    x_axis = ordered_attr(df2, attr1, attr2, order_type[0])
    y_axis = ordered_attr(df2, attr2, attr1, order_type[1])
    data = [[x_axis.index(i), y_axis.index(j), df2.loc[(df2[attr1] == i) & (df2[attr2] == j), func.__name__]]
            for i in x_axis for j in y_axis]

    heatmap = HeatMap()
    heatmap.add("热力图直角坐标系", x_axis, y_axis, data,
                xaxis_name=attr1,
                yaxis_name=attr2,
                xaxis_interval=0,
                xaxis_label_textsize=10,
                xaxis_name_gap=30,
                yaxis_label_textsize=10,
                yaxis_name_gap=30,
                yaxis_rotate=90,
                is_visualmap=True,
                visual_range=[min(df2[func.__name__]), max(df2[func.__name__])],
                visual_text_color="#000", visual_orient='horizontal')
    return heatmap
Exemple #6
0
def test_heatmap_default():
    data = [
        [i, j, random.randint(0, 50)] for i in range(24) for j in range(7)]
    heatmap = HeatMap("热力图示例")
    heatmap.add("热力图直角坐标系", X_TIME, Y_WEEK, data, is_visualmap=True,
                visual_text_color="#000", visual_orient='horizontal',
                xaxis_name='XNAME', yaxis_name='YNAME',
                yaxis_name_pos='end', yaxis_name_gap=5)
    heatmap.render()
Exemple #7
0
def Heatmap():
    begin = datetime.date(2017, 1, 1)
    end = 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("报警热力图", "最近一年报警情况", width=1100)
    heatmap.add("", data, is_calendar_heatmap=True,
                visual_text_color='#000', visual_range_text=['', ''],
                visual_range=[1000, 25000], calendar_cell_size=['auto', 30],
                is_visualmap=True, calendar_date_range="2017",
                visual_orient="horizontal", visual_pos="center",
                visual_top="80%", is_piecewise=True)
    return heatmap
Exemple #8
0
def Normal(params,chartname="",filename="usage_ana"):
    '''
    params:list,内嵌元组或列表的列表,格式为:[("2019-2-8",32)]
    chartname:str,图表名
    filename:str,文件名,存储在output文件夹下
    '''
    day_counter = []
    for i in params:
        day_counter.append(i[1])
    heatmap = HeatMap(chartname, "", width=1500)

    heatmap.add(
        "",
        params,
        is_label_show=True,
        tooltip_formatter='{c}',
        is_calendar_heatmap=True,
        visual_text_color="#000",
        visual_range_text=["", ""],
        visual_range=[1, int(max(day_counter))],
        calendar_cell_size=["auto", 30],
        is_visualmap=True,
        # calendar_date_range="2015",
        calendar_date_range=[params[0][0], params[-1][0]],
        visual_orient="horizontal",
        visual_pos="center",
        visual_top="80%",
        is_piecewise=True,
    )

    heatmap.render(path="../../output/"+filename+".html")
    heatmap.render(path="../../output/"+filename+".pdf")
Exemple #9
0
def heatmap_charts():
    page = Page()

    data = [[i, j, random.randint(0, 50)] for i in range(24) for j in range(7)]
    chart = HeatMap("热力图示例", width=WIDTH, height=HEIGHT)
    chart.add("热力图直角坐标系",
              X_TIME,
              Y_WEEK,
              data,
              is_visualmap=True,
              visual_text_color="#000",
              visual_orient='horizontal')
    page.add(chart)

    return page
Exemple #10
0
def test_grid_heatmap_bar():
    data = [[i, j, random.randint(0, 50)]
            for i in range(24) for j in range(7)]
    heatmap = HeatMap("热力图示例", height=700)
    heatmap.add("热力图直角坐标系", X_TIME, Y_WEEK, data, is_visualmap=True,
                visual_top="45%", visual_text_color="#000",
                visual_orient='horizontal')
    v1 = [5, 20, 36, 10, 75, 90]
    v2 = [10, 25, 8, 60, 20, 80]
    bar = Bar("柱状图示例", title_top="52%")
    bar.add("商家A", CLOTHES, v1, is_stack=True)
    bar.add("商家B", CLOTHES, v2, is_stack=True, legend_top="50%")

    grid = Grid()
    grid.add(heatmap, grid_bottom="60%")
    grid.add(bar, grid_top="60%")
    grid.render()
Exemple #11
0
def test_grid_heatmap_bar():
    data = [[i, j, random.randint(0, 50)] for i in range(24) for j in range(7)]
    heatmap = HeatMap("热力图示例", height=700)
    heatmap.add("热力图直角坐标系", X_TIME, Y_WEEK, data, is_visualmap=True,
                visual_top="45%", visual_text_color="#000",
                visual_orient='horizontal')
    attr = ["衬衫", "羊毛衫", "雪纺衫", "裤子", "高跟鞋", "袜子"]
    v1 = [5, 20, 36, 10, 75, 90]
    v2 = [10, 25, 8, 60, 20, 80]
    bar = Bar("柱状图示例", title_top="52%")
    bar.add("商家A", attr, v1, is_stack=True)
    bar.add("商家B", attr, v2, is_stack=True, legend_top="50%")

    grid = Grid()
    grid.add(heatmap, grid_bottom="60%")
    grid.add(bar, grid_top="60%")
    grid.render()
Exemple #12
0
def test_heatmap_display_yaxis_label():
    data = [[i, j, random.randint(0, 50)] for i in range(24) for j in range(7)]
    heatmap = HeatMap()
    heatmap.add(
        "热力图直角坐标系",
        X_TIME,
        Y_WEEK,
        data,
        is_visualmap=True,
        is_label_show=False,
        visual_text_color="#000",
        visual_orient="horizontal",
    )
    html_content = heatmap._repr_html_()
    assert r'"formatter": "{value} "' not in html_content
    assert "Saturday" in html_content
    assert "Monday" in html_content
def create_charts():
    page = Page()

    style = Style(width=WIDTH, height=HEIGHT)

    df = pd.read_csv('./data_cleaned.csv')
    STREET_NAME = df.STREET_NAME.value_counts()
    chart = Bar("街道种类", **style.init_style)
    chart.add(
        "",
        STREET_NAME.index,
        STREET_NAME.values,
        mark_point=["max", "min"],
        mark_line=["average"],
        is_stack=True,
    )
    page.add(chart)

    chart = Timeline(is_auto_play=True,
                     timeline_bottom=0,
                     width=WIDTH,
                     height=HEIGHT)
    for name, c in df.groupby('STREET_NAME'):
        EVENT_TYPE_NAME = c.EVENT_TYPE_NAME.value_counts()
        chart_1 = Bar("各社区事件类型", **style.init_style)
        chart_1.add("",
                    EVENT_TYPE_NAME.index,
                    EVENT_TYPE_NAME.values,
                    mark_point=["max", "min"],
                    mark_line=["average"],
                    is_stack=True)
        chart.add(chart_1, name)
    page.add(chart)

    table = pd.pivot_table(df,
                           index=['STREET_NAME'],
                           columns=['EVENT_TYPE_NAME'],
                           values=['SUB_TYPE_NAME'],
                           aggfunc='count',
                           fill_value=0,
                           margins=1)
    table = table.ix[:-1, :-1]
    comm = list(table.index)
    name = [i[1] for i in table]
    value = [[i, j, float(table.values[i][j])] for i in range(len(comm))
             for j in range(len(name))]
    chart = HeatMap("街道与事件热力图", width=WIDTH, height=HEIGHT)
    chart.add("",
              comm,
              name,
              value,
              is_visualmap=True,
              visual_text_color="#000",
              visual_orient='horizontal')
    page.add(chart)

    return page
	def corr_heatmap(data,report=False,file_name='Pairwise_Heatmap.html'):
		# draing correlation heatmap for data
		Temp_pairwise_df = data.corr()
		Temp_pairwise_df = Temp_pairwise_df.fillna(0)
		Temp_pairwise_df = Temp_pairwise_df*100
		Temp_pairwise_df = np.round(Temp_pairwise_df,2)
		x_axis = list(Temp_pairwise_df.index)
		y_axis = list(Temp_pairwise_df.columns)
		data = [[x_axis[i],y_axis[j],Temp_pairwise_df[x_axis[i]][y_axis[j]]] for i in range(len(x_axis)) for j in range(len(y_axis))]
		heatmap = HeatMap()
		heatmap.add("热力图直角坐标系", x_axis, y_axis, data, is_visualmap=True,visual_range=[0,100],
					visual_text_color="#000", visual_orient='horizontal',is_label_emphasis=True,label_emphasis_pos='inside',
					label_emphasis_textcolor="#000",label_emphasis_textsize=15,tooltip_tragger='item',tooltip_formatter='{c}',
				   is_datazoom_show=True,datazoom_type='both',visual_top=0.1,is_more_utils=True)
		if report == False:
			return heatmap
		else:
			return heatmap.render(file_name)
Exemple #15
0
def test_heatmap_default():
    data = [[i, j, random.randint(0, 50)] for i in range(24) for j in range(7)]
    heatmap = HeatMap("热力图示例")
    heatmap.add(
        "热力图直角坐标系",
        X_TIME,
        Y_WEEK,
        data,
        is_visualmap=True,
        visual_text_color="#000",
        visual_orient="horizontal",
        xaxis_name="XNAME",
        yaxis_name="YNAME",
        yaxis_name_pos="end",
        yaxis_name_gap=5,
    )
    html_content = heatmap._repr_html_()
    assert "Saturday" in html_content
    assert "Monday" in html_content
Exemple #16
0
def page(player_id: int = None):
    # init_list = json_load('matches')
    if not player_id:
        init_list = get_player_matches_json(129689355)
    else:
        init_list = get_player_matches_json(player_id)
    # print(len(init_list))
    init_dict = {}
    data = []
    for row in init_list:
        start_time = datetime.fromtimestamp(
            row['start_time']).strftime("%Y-%m-%d")
        if start_time not in init_dict:
            init_dict[start_time] = 1
        else:
            init_dict[start_time] += 1
    for key in init_dict:
        val = init_dict[key]
        key = datetime.strptime(key, "%Y-%m-%d")
        tmp = []
        tmp.extend((key, val))
        data.append(tmp)

    page = Page()
    year = int(datetime.today().strftime("%Y"))
    for i in range(year, 2016, -1):
        heatmap = HeatMap(height=250, width=1100)
        heatmap.add("",
                    data,
                    is_calendar_heatmap=True,
                    visual_text_color='#000',
                    visual_range_text=['', ''],
                    visual_range=[0, 15],
                    calendar_cell_size=['auto', 20],
                    is_visualmap=True,
                    calendar_date_range=str(i),
                    visual_orient="horizontal",
                    visual_pos="center",
                    visual_top="90%",
                    is_piecewise=True)
        page.add(heatmap)
    return page
    def view_date_hot(self):
        """
        需要的数据
        self.start_year str() 用于显示在网页和html文件名上
        self.data_dict 展示的数据:
            [["year-month-day", value],["year-month-day", value],["year-month-day", value]]
        """
        print("开始生成 %s年 %s每日销货汇总热力图" % (self.start_year, self.table_name))

        heat_map = HeatMap("%s每日销货汇总热力图" % self.table_name,
                           "%s年" % self.start_year,
                           width=1200,
                           page_title="Calendar")
        heat_map.add(
            "",
            self.data_dict,
            is_calendar_heatmap=True,
            visual_text_color='#000',
            visual_range_text=['', ''],
            visual_range=[0, max(self.data_dict, key=lambda x: x[1])[1]],
            calendar_cell_size=['auto', 30],
            is_visualmap=True,
            calendar_date_range=str(self.start_year),
            visual_pos="5%",
            visual_top="75%",
            visual_orient='horizontal',
            is_toolbox_show=False)
        heat_map.render(
            path=self.BASE_PATH +
            "{}{}_data_hot.html".format(self.start_year, self.html_name))
 def heatmap(self, year):
     das = {}
     for item in self.data:
         d = datetime.fromtimestamp(item[2])
         if (d.year == year):
             das[date(d.year, d.month, d.day)] = das.get(
                 date(d.year, d.month, d.day), 0) + item[1]
     result = [[str(key), das[key]] for key in das]
     y_min = min([das[key] for key in das])
     y_max = max([das[key] for key in das])
     heatmap = HeatMap('说说点赞之日历热力图', title_pos='center', width=1100)
     heatmap.add("",
                 result,
                 is_calendar_heatmap=True,
                 visual_text_color='#000',
                 visual_range_text=["", ""],
                 visual_range=[y_min, y_max],
                 calendar_cell_size=["auto", 30],
                 is_visualmap=True,
                 calendar_date_range=str(year),
                 visual_orient="horizontal",
                 visual_pos='center',
                 visual_top='80%',
                 is_piecewise=True)
     heatmap.render(self.path + 'heatmap' + str(year) + '_' +
                    str(int(time.time())) + '.html')
     webbrowser.open_new_tab(self.path + 'heatmap' + str(year) + '_' +
                             str(int(time.time())) + '.html')
     self.ins.analysis_pb['value'] = 100
     self.ins.analysis_lb.configure(text='完毕')
Exemple #19
0
def test_heatmap_calendar():
    import datetime

    begin = datetime.date(2017, 1, 1)
    end = 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=1100)
    heatmap.add(
        "",
        data,
        is_calendar_heatmap=True,
        visual_text_color="#000",
        visual_range_text=["", ""],
        visual_range=[1000, 25000],
        calendar_cell_size=["auto", 30],
        is_visualmap=True,
        calendar_date_range="2017",
        visual_orient="horizontal",
        visual_pos="center",
        visual_top="80%",
        is_piecewise=True,
    )
    heatmap.render()
Exemple #20
0
    def v_correlation(self, end=yesterdayobj(), **vkwds):
        '''
        各基金净值的相关程度热力图可视化

        :param end: string or object of date, the end date of the line
        :returns: pyecharts.Heatmap object
        '''
        ctable = self.correlation_table(end)
        x_axis = list(ctable.columns)
        data = [[i, j, ctable.iloc[i, j]] for i in range(len(ctable))
                for j in range(len(ctable))]
        heatmap = HeatMap()
        heatmap.add("",
                    x_axis,
                    x_axis,
                    data,
                    is_visualmap=True,
                    visual_pos='center',
                    visual_text_color="#000",
                    visual_range=[-1, 1],
                    visual_orient='horizontal',
                    **vkwds)
        return heatmap
Exemple #21
0
def test_heatmap_default():
    data = [
        [i, j, random.randint(0, 50)] for i in range(24) for j in range(7)]
    heatmap = HeatMap("热力图示例")
    heatmap.add("热力图直角坐标系", X_TIME, Y_WEEK, data, is_visualmap=True,
                visual_text_color="#000", visual_orient='horizontal',
                xaxis_name='XNAME', yaxis_name='YNAME',
                yaxis_name_pos='end', yaxis_name_gap=5)
    heatmap.render()
Exemple #22
0
def plot_interactive_monthly_heatmap(returns: pd.Series) -> Chart:
    """
    Plots a heatmap of returns by month.
    """
    monthly_ret_table = ep.aggregate_returns(returns, 'monthly')
    monthly_ret_table = monthly_ret_table.unstack().round(3)

    monthly_ret_table = np.round(monthly_ret_table * 100, 2)
    lim = lim = max(np.max(np.abs(monthly_ret_table)))

    y_axis = [date(1000, i, 1).strftime('%b') for i in range(1, 13)]
    x_axis = [str(y) for y in monthly_ret_table.index.tolist()]
    data = data = [[x_axis[i], y_axis[j], monthly_ret_table.values[i][j]]
                   for i in range(monthly_ret_table.shape[0])
                   for j in range(monthly_ret_table.shape[1])]

    heatmap = HeatMap("Monthly Returns")
    heatmap.add(
        "Monthly Returns",
        x_axis,
        y_axis,
        data,
        is_visualmap=True,
        is_datazoom_show=True,
        datazoom_orient='horizontal',
        datazoom_range=[0, 100],
        visual_range=[-lim, lim],
        visual_text_color="#000",
        visual_range_color=['#D73027', '#FFFFBF', '#1A9641'],
        visual_orient="vertical",
        is_toolbox_show=False,
        is_label_show=True,
        label_pos="inside",
        label_text_color="black",
        tooltip_formatter="{c}%"
    )
    return heatmap
Exemple #23
0
def test_heatmap():

    # heatmap_0
    import random
    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_aixs = ["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_aixs, data, is_visualmap=True,
                visual_text_color="#000", visual_orient='horizontal')
    heatmap.show_config()
    heatmap.render()
def test_heatmap():
    import random
    data = [[i, j, random.randint(0, 50)] for i in range(24) for j in range(7)]
    heatmap = HeatMap("热力图示例")
    heatmap.add("热力图直角坐标系",
                X_TIME,
                Y_WEEK,
                data,
                is_visualmap=True,
                visual_text_color="#000",
                visual_orient='horizontal')
    heatmap.render()
Exemple #25
0
def generate_heatmap():
    data = pd.read_excel(input_file_path + '每日销量.xlsx', sheet_name=0)
    print(data.head())
    x_axis = data['week'].tolist()
    data['week'] = data['week'].str.replace('week', '').map(int) - 1
    data = data.set_index('week')
    y_axis = data.columns.tolist()
    data.columns = range(0, 7)
    data = data.stack().reset_index()
    data.columns = ['week', 'day', 'amount']
    heatmap = HeatMap()
    heatmap.add('全年产量情况', x_axis, y_axis, data.values.tolist(), is_visualmap=True,
                visual_text_color="#000", visual_orient='horizontal')
    heatmap.render(output_file_path + 'htmls/全年产量情况热力图.html')
Exemple #26
0
def create_charts():
    page = Page()

    data = [[i, j, random.randint(0, 50)] for i in range(24) for j in range(7)]
    chart = HeatMap("热力图示例", width=WIDTH, height=HEIGHT)
    chart.add("热力图直角坐标系",
              X_TIME,
              Y_WEEK,
              data,
              is_visualmap=True,
              visual_text_color="#000",
              visual_orient='horizontal')
    page.add(chart)

    import datetime
    begin = datetime.date(2017, 1, 1)
    end = datetime.date(2017, 12, 31)
    data = [[
        str(begin + datetime.timedelta(days=i)),
        random.randint(1000, 25000)
    ] for i in range((end - begin).days + 1)]
    chart = HeatMap("日历热力图示例", "某人 2017 年微信步数情况", width=WIDTH)
    chart.add("",
              data,
              is_calendar_heatmap=True,
              visual_text_color='#000',
              visual_range_text=['', ''],
              visual_range=[1000, 25000],
              calendar_cell_size=['auto', 30],
              is_visualmap=True,
              calendar_date_range="2017",
              visual_orient="horizontal",
              visual_pos="center",
              visual_top="80%",
              is_piecewise=True)
    page.add(chart)

    return page
Exemple #27
0
def test_heatmap():

    # heatmap_0
    import random
    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_aixs = [
        "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_aixs,
                data,
                is_visualmap=True,
                visual_text_color="#000",
                visual_orient='horizontal')
    heatmap.show_config()
    heatmap.render()
Exemple #28
0
def heatmap_2attr(df, attr1, attr2, func=len, value=None):
    if value==None:
        df2=df.groupby([attr1, attr2])[attr1].agg([func])
    else:
        df2=df.groupby([attr1, attr2])[value].agg([func])
    df2=df2.reset_index()
    
    x_axis = list(set(df2[attr1]))
    y_axis = list(set(df2[attr2]))
    
    data = [[x_axis.index(i), y_axis.index(j), df2.loc[(df2[attr1]==i) & (df2[attr2]==j), func.__name__]] 
            for i in x_axis for j in y_axis]
    print(data)
    
    heatmap = HeatMap()
    heatmap.add("热力图直角坐标系", x_axis, y_axis, data, is_visualmap=True,
                visual_range=[0, max(df2[func.__name__])],
            visual_text_color="#000", visual_orient='horizontal')
    heatmap.render()
def reli(t):
    x_axis, y_axis, y = [], [], []
    for i in t:
        x_axis.append(i[0])
        Str = ''.join(i[1].split(','))  # 注意这里i[2]是一个对象
        y.append(int(int(Str) / 200))
    # print(x_axis, y)
    y_axis = ["one", "two", "three", "four", "five", "six"]

    da, data = [], []
    for i in y:
        # 生成7个随机数,是他们的和为i
        while 1:
            n1 = random.randint(0, i)
            n2 = random.randint(0, i)
            n3 = random.randint(0, i)
            n4 = random.randint(0, i)
            n5 = random.randint(0, i)
            n6 = random.randint(0, i)
            su = n1 + n2 + n3 + n4 + n5 + n6
            if su == i:
                listRandom = n1, n2, n3, n4, n5, n6
                break
        da.append(listRandom)
    for i in range(50):
        for j in range(6):
            x = [i, j, da[i][j]]
            data.append(x)

    # print(data)
    heatmap = HeatMap()
    heatmap.add(
        "电影热力图",
        x_axis,
        y_axis,
        data,
        is_visualmap=True,
        visual_text_color="#000",
        visual_orient="horizontal",
    )
    heatmap.render(pathConfig.HTLMSREPATH + '电影热力图.html')
Exemple #30
0
def heatmap_is_calendar(title, year, datas, size=None):
    """
    输出日历热力图
    :param title: 标题
    :param year: 年份,如"2018"
    :param datas: 数据,格式:[[date_str, date_value],..]
    :param size: 图片尺寸
    :return: 图
    """

    if size is None:
        style = Style(
            width=960, height=420,
            background_color='#f0f0f0',
        )
    else:
        style = Style(
            width=size['width'], height=size['height'],
            background_color='#f0f0f0',
        )
    chart = HeatMap(title, **style.init_style)
    chart.add("",
              datas,
              is_calendar_heatmap=True,
              visual_text_color='#000',
              visual_range_text=['', ''],
              calendar_cell_size=['auto', 30],
              is_visualmap=True,
              calendar_date_range=year,
              visual_orient="horizontal",
              visual_pos="center",
              visual_top="80%",
              is_piecewise=True,
              )
    chart.options['toolbox']['show'] = False
    return chart.render_embed()
Exemple #31
0
def picture_heatmap(file_path_hcs):
    df_hcs = pd.read_csv(file_path_hcs,
                         encoding='utf-8',
                         usecols=['Date', 'AQI'])
    data_hcs = []
    for index_hcs, col_hcs in df_hcs.iterrows():
        data_hcs.append([col_hcs[0], col_hcs[1]])
    hm_hcs = HeatMap('广州市2018年的空气质量指数日历热力图——黄彩思')
    # 参照https://www.jianshu.com/p/fc8c78e0df98
    hm_hcs.add(
        '',
        data_hcs,
        is_calendar_heatmap=True,
        is_visualmap=True,
        calendar_date_range='2018',
        calendar_cell_size=['auto', 30],
        is_toolbox_show=False,
        visual_range=[10, 200],
        visual_split_number=5,
        is_piecewise=True,
        visual_orient="horizontal",
        visual_pos="center",
    )
    hm_hcs.render('hearmap_AQI.html')
Exemple #32
0
def test_grid():

    # grid_0
    attr = ["衬衫", "羊毛衫", "雪纺衫", "裤子", "高跟鞋", "袜子"]
    v1 = [5, 20, 36, 10, 75, 90]
    v2 = [10, 25, 8, 60, 20, 80]
    bar = Bar("柱状图示例", height=720, is_grid=True)
    bar.add("商家A", attr, v1, is_stack=True, grid_bottom="60%")
    bar.add("商家B", attr, v2, is_stack=True, grid_bottom="60%")
    line = Line("折线图示例", title_top="50%")
    attr = ['周一', '周二', '周三', '周四', '周五', '周六', '周日']
    line.add("最高气温",
             attr, [11, 11, 15, 13, 12, 13, 10],
             mark_point=["max", "min"],
             mark_line=["average"])
    line.add("最低气温",
             attr, [1, -2, 2, 5, 3, 2, 0],
             mark_point=["max", "min"],
             mark_line=["average"],
             legend_top="50%")
    bar.grid(line.get_series(), grid_top="60%")
    bar.show_config()
    bar.render()

    # grid_1
    v1 = [5, 20, 36, 10, 75, 90]
    v2 = [10, 25, 8, 60, 20, 80]
    scatter = Scatter(width=1200, is_grid=True)
    scatter.add("散点图示例", v1, v2, grid_left="60%", legend_pos="70%")
    es = EffectScatter()
    es.add("动态散点图示例", [11, 11, 15, 13, 12, 13, 10], [1, -2, 2, 5, 3, 2, 0],
           effect_scale=6,
           legend_pos="20%")
    scatter.grid(es.get_series(), grid_right="60%")
    scatter.show_config()
    scatter.render()

    # grid_2
    attr = ["衬衫", "羊毛衫", "雪纺衫", "裤子", "高跟鞋", "袜子"]
    v1 = [5, 20, 36, 10, 75, 90]
    v2 = [10, 25, 8, 60, 20, 80]
    bar = Bar("柱状图示例", height=720, width=1200, title_pos="65%", is_grid=True)
    bar.add("商家A", attr, v1, is_stack=True, grid_bottom="60%", grid_left="60%")
    bar.add("商家B",
            attr,
            v2,
            is_stack=True,
            grid_bottom="60%",
            grid_left="60%",
            legend_pos="80%")
    line = Line("折线图示例")
    attr = ['周一', '周二', '周三', '周四', '周五', '周六', '周日']
    line.add("最高气温",
             attr, [11, 11, 15, 13, 12, 13, 10],
             mark_point=["max", "min"],
             mark_line=["average"])
    line.add("最低气温",
             attr, [1, -2, 2, 5, 3, 2, 0],
             mark_point=["max", "min"],
             mark_line=["average"],
             legend_pos="20%")
    v1 = [5, 20, 36, 10, 75, 90]
    v2 = [10, 25, 8, 60, 20, 80]
    scatter = Scatter("散点图示例", title_top="50%", title_pos="65%")
    scatter.add("scatter", v1, v2, legend_top="50%", legend_pos="80%")
    es = EffectScatter("动态散点图示例", title_top="50%")
    es.add("es", [11, 11, 15, 13, 12, 13, 10], [1, -2, 2, 5, 3, 2, 0],
           effect_scale=6,
           legend_top="50%",
           legend_pos="20%")
    bar.grid(line.get_series(), grid_bottom="60%", grid_right="60%")
    bar.grid(scatter.get_series(), grid_top="60%", grid_left="60%")
    bar.grid(es.get_series(), grid_top="60%", grid_right="60%")
    bar.show_config()
    bar.render()

    # grid_3
    line = Line("折线图示例", width=1200, is_grid=True)
    attr = ['周一', '周二', '周三', '周四', '周五', '周六', '周日']
    line.add("最高气温",
             attr, [11, 11, 15, 13, 12, 13, 10],
             mark_point=["max", "min"],
             mark_line=["average"],
             grid_right="65%")
    line.add("最低气温",
             attr, [1, -2, 2, 5, 3, 2, 0],
             mark_point=["max", "min"],
             mark_line=["average"],
             legend_pos="20%")
    attr = ["衬衫", "羊毛衫", "雪纺衫", "裤子", "高跟鞋", "袜子"]
    v1 = [11, 12, 13, 10, 10, 10]
    pie = Pie("饼图示例", title_pos="45%")
    pie.add("",
            attr,
            v1,
            radius=[30, 55],
            legend_pos="65%",
            legend_orient='vertical')
    line.grid(pie.get_series(), grid_left="60%")
    line.show_config()
    line.render()

    # grid_4
    line = Line("折线图示例", width=1200, is_grid=True)
    attr = ['周一', '周二', '周三', '周四', '周五', '周六', '周日']
    line.add("最高气温",
             attr, [11, 11, 15, 13, 12, 13, 10],
             mark_point=["max", "min"],
             mark_line=["average"],
             grid_right="60%")
    line.add("最低气温",
             attr, [1, -2, 2, 5, 3, 2, 0],
             mark_point=["max", "min"],
             mark_line=["average"],
             legend_pos="20%",
             grid_right="60%")
    attr = ["衬衫", "羊毛衫", "雪纺衫", "裤子", "高跟鞋", "袜子"]
    value = [20, 40, 60, 80, 100, 120]
    v1 = [[2320.26, 2320.26, 2287.3,
           2362.94], [2300, 2291.3, 2288.26, 2308.38],
          [2295.35, 2346.5, 2295.35, 2345.92],
          [2347.22, 2358.98, 2337.35, 2363.8],
          [2360.75, 2382.48, 2347.89, 2383.76],
          [2383.43, 2385.42, 2371.23, 2391.82],
          [2377.41, 2419.02, 2369.57, 2421.15],
          [2425.92, 2428.15, 2417.58,
           2440.38], [2411, 2433.13, 2403.3, 2437.42],
          [2432.68, 2334.48, 2427.7, 2441.73],
          [2430.69, 2418.53, 2394.22, 2433.89],
          [2416.62, 2432.4, 2414.4, 2443.03],
          [2441.91, 2421.56, 2418.43, 2444.8],
          [2420.26, 2382.91, 2373.53, 2427.07],
          [2383.49, 2397.18, 2370.61, 2397.94],
          [2378.82, 2325.95, 2309.17, 2378.82],
          [2322.94, 2314.16, 2308.76, 2330.88],
          [2320.62, 2325.82, 2315.01, 2338.78],
          [2313.74, 2293.34, 2289.89, 2340.71],
          [2297.77, 2313.22, 2292.03, 2324.63],
          [2322.32, 2365.59, 2308.92, 2366.16],
          [2364.54, 2359.51, 2330.86, 2369.65],
          [2332.08, 2273.4, 2259.25, 2333.54],
          [2274.81, 2326.31, 2270.1, 2328.14],
          [2333.61, 2347.18, 2321.6, 2351.44],
          [2340.44, 2324.29, 2304.27, 2352.02],
          [2326.42, 2318.61, 2314.59, 2333.67],
          [2314.68, 2310.59, 2296.58, 2320.96],
          [2309.16, 2286.6, 2264.83, 2333.29],
          [2282.17, 2263.97, 2253.25, 2286.33],
          [2255.77, 2270.28, 2253.31, 2276.22]]
    kline = Kline("K 线图示例", title_pos="60%")
    kline.add("日K", ["2017/7/{}".format(i + 1) for i in range(31)],
              v1,
              legend_pos="80%")
    line.grid(kline.get_series(), grid_left="55%")
    line.show_config()
    line.render()

    # grid_5
    import random
    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_aixs = [
        "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("热力图示例", height=700, is_grid=True)
    heatmap.add("热力图直角坐标系",
                x_axis,
                y_aixs,
                data,
                is_visualmap=True,
                visual_top="45%",
                visual_text_color="#000",
                visual_orient='horizontal',
                grid_bottom="60%")
    attr = ["衬衫", "羊毛衫", "雪纺衫", "裤子", "高跟鞋", "袜子"]
    v1 = [5, 20, 36, 10, 75, 90]
    v2 = [10, 25, 8, 60, 20, 80]
    bar = Bar("柱状图示例", title_top="52%")
    bar.add("商家A", attr, v1, is_stack=True)
    bar.add("商家B", attr, v2, is_stack=True, legend_top="50%")
    heatmap.grid(bar.get_series(), grid_top="60%")
    heatmap.show_config()
    heatmap.render()
Exemple #33
0
def create_charts():
    page = Page()
    style = Style(
        width=WIDTH, height=HEIGHT
    )
    df = pd.read_csv('./data_cleaned.csv')

    df['CREATE_TIME'] = pd.to_datetime(df['CREATE_TIME'])

    df['MONTH'] = 0
    months = []
    for i in df.CREATE_TIME:
        month = i.strftime("%Y-%m")
        months.append(month)
    df.MONTH = months


    month_count = defaultdict(int)
    for month, group in df.groupby('MONTH'):
        month_count[month] = len(group)
    m_s = sorted(list(month_count.keys()))
    m_l = [month_count[i] for i in m_s]
    chart = Line("各月份事件数", **style.init_style)
    chart.add("事件数", m_s, m_l,
              mark_point=["max", "min"],is_more_utils=True,
              mark_line=["average"], is_smooth=True,
              )
    page.add(chart)
    data = df.set_index('CREATE_TIME')
    week_ts = data['COMMUNITY_NAME'].resample('W', how=len)
    week_count = defaultdict(int)
    for i in week_ts.index:
        week_count[i] = week_ts[i]
    w_s = sorted(list(week_count.keys()))
    w_l = [week_count[i] for i in w_s]
    chart = Line("各周事件数", **style.init_style)
    chart.add("事件数", w_s, w_l,
              mark_point=["max", "min"], is_more_utils=True,
              mark_line=["average"], is_smooth=True,
              )
    page.add(chart)


    chart = Timeline(is_auto_play=True, timeline_bottom=0,
                     width=WIDTH, height=HEIGHT)
    for month, group in df.groupby('MONTH'):
        EVENT_TYPE_NAME = group.EVENT_TYPE_NAME.value_counts()
        chart_1 = Bar("问题类型", **style.init_style)
        chart_1.add("", EVENT_TYPE_NAME.index, EVENT_TYPE_NAME.values,
                  mark_point=["max", "min"],
                  mark_line=["average"], is_stack=True)
        chart.add(chart_1,month)
    page.add(chart)

    table = pd.pivot_table(df, index=['MONTH'], columns=['EVENT_TYPE_NAME'], values=['SUB_TYPE_NAME'],
                            aggfunc='count', fill_value=0, margins=1)
    table = table.ix[:-1, :-1]
    comm = list(table.index)
    name = [i[1] for i in table]
    value = [[i, j, float(table.values[i][j])] for i in range(len(comm)) for j in range(len(name))]

    chart = HeatMap("时间与事件热力图", width=WIDTH, height=HEIGHT)
    chart.add("", comm, name, value, is_visualmap=True,
              visual_text_color="#000", visual_orient='horizontal')
    page.add(chart)


    return page
Exemple #34
0
        [2, 5, 17.53], [2, 6, 18.56], [2, 7, 17.53], [3, 0, 17.57],
        [3, 1, 17.48], [3, 2, 17.54], [3, 3, 80.99],
        [3, 4, 18.53], [3, 5, 17.5], [3, 6, 85.1], [3, 7, 17.5], [4, 0, 18.53],
        [4, 1, 17.5], [4, 2, 85.1], [4, 3, 17.5], [4, 4, 17.56], [4, 5, 80.84],
        [4, 6, 17.53], [4, 7, 17.47], [5, 0, 84.27], [5, 1, 17.53],
        [5, 2, 18.56], [5, 3, 17.53], [5, 4, 18.53], [5, 5,
                                                      17.5], [5, 6, 85.1],
        [5, 7, 17.5], [6, 0, 18.53], [6, 1, 17.5], [6, 2, 85.1], [6, 3, 17.5],
        [6, 4, 84.27], [6, 5, 17.53], [6, 6, 18.56], [6, 7, 17.53],
        [7, 0, 18.53], [7, 1, 17.5], [7, 2, 85.1], [7, 3, 17.5], [7, 4, 17.56],
        [7, 5, 80.84], [7, 6, 17.53], [7, 7, 17.47]]

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"
]
heatmap = HeatMap("a heatmap", "this is subtitle")
heatmap.add("GPUP2PBandWidth",
            GPUS,
            GPUS,
            data,
            is_visualmap=True,
            visual_text_color="#000",
            visual_orient='horizontal',
            label_emphasis_textcolor='#000')
heatmap.render("./MYheatMap2.html")
Exemple #35
0
def test_grid():

    # grid_0
    attr = ["衬衫", "羊毛衫", "雪纺衫", "裤子", "高跟鞋", "袜子"]
    v1 = [5, 20, 36, 10, 75, 90]
    v2 = [10, 25, 8, 60, 20, 80]
    bar = Bar("柱状图示例", height=720, is_grid=True)
    bar.add("商家A", attr, v1, is_stack=True, grid_bottom="60%")
    bar.add("商家B", attr, v2, is_stack=True, grid_bottom="60%")
    line = Line("折线图示例", title_top="50%")
    attr = ['周一', '周二', '周三', '周四', '周五', '周六', '周日']
    line.add("最高气温", attr, [11, 11, 15, 13, 12, 13, 10], mark_point=["max", "min"], mark_line=["average"])
    line.add("最低气温", attr, [1, -2, 2, 5, 3, 2, 0], mark_point=["max", "min"],
             mark_line=["average"], legend_top="50%")
    bar.grid(line.get_series(), grid_top="60%")
    bar.show_config()
    bar.render()

    # grid_1
    v1 = [5, 20, 36, 10, 75, 90]
    v2 = [10, 25, 8, 60, 20, 80]
    scatter = Scatter(width=1200, is_grid=True)
    scatter.add("散点图示例", v1, v2, grid_left="60%", legend_pos="70%")
    es = EffectScatter()
    es.add("动态散点图示例", [11, 11, 15, 13, 12, 13, 10], [1, -2, 2, 5, 3, 2, 0],
           effect_scale=6, legend_pos="20%")
    scatter.grid(es.get_series(), grid_right="60%")
    scatter.show_config()
    scatter.render()

    # grid_2
    attr = ["衬衫", "羊毛衫", "雪纺衫", "裤子", "高跟鞋", "袜子"]
    v1 = [5, 20, 36, 10, 75, 90]
    v2 = [10, 25, 8, 60, 20, 80]
    bar = Bar("柱状图示例", height=720, width=1200, title_pos="65%", is_grid=True)
    bar.add("商家A", attr, v1, is_stack=True, grid_bottom="60%", grid_left="60%")
    bar.add("商家B", attr, v2, is_stack=True, grid_bottom="60%", grid_left="60%", legend_pos="80%")
    line = Line("折线图示例")
    attr = ['周一', '周二', '周三', '周四', '周五', '周六', '周日']
    line.add("最高气温", attr, [11, 11, 15, 13, 12, 13, 10], mark_point=["max", "min"], mark_line=["average"])
    line.add("最低气温", attr, [1, -2, 2, 5, 3, 2, 0], mark_point=["max", "min"],
             mark_line=["average"], legend_pos="20%")
    v1 = [5, 20, 36, 10, 75, 90]
    v2 = [10, 25, 8, 60, 20, 80]
    scatter = Scatter("散点图示例", title_top="50%", title_pos="65%")
    scatter.add("scatter", v1, v2, legend_top="50%", legend_pos="80%")
    es = EffectScatter("动态散点图示例", title_top="50%")
    es.add("es", [11, 11, 15, 13, 12, 13, 10], [1, -2, 2, 5, 3, 2, 0], effect_scale=6,
           legend_top="50%", legend_pos="20%")
    bar.grid(line.get_series(), grid_bottom="60%", grid_right="60%")
    bar.grid(scatter.get_series(), grid_top="60%", grid_left="60%")
    bar.grid(es.get_series(), grid_top="60%", grid_right="60%")
    bar.show_config()
    bar.render()

    # grid_3
    line = Line("折线图示例", width=1200, is_grid=True)
    attr = ['周一', '周二', '周三', '周四', '周五', '周六', '周日']
    line.add("最高气温", attr, [11, 11, 15, 13, 12, 13, 10], mark_point=["max", "min"],
             mark_line=["average"], grid_right="65%")
    line.add("最低气温", attr, [1, -2, 2, 5, 3, 2, 0], mark_point=["max", "min"],
             mark_line=["average"], legend_pos="20%")
    attr = ["衬衫", "羊毛衫", "雪纺衫", "裤子", "高跟鞋", "袜子"]
    v1 = [11, 12, 13, 10, 10, 10]
    pie = Pie("饼图示例", title_pos="45%")
    pie.add("", attr, v1, radius=[30, 55], legend_pos="65%", legend_orient='vertical')
    line.grid(pie.get_series(), grid_left="60%")
    line.show_config()
    line.render()

    # grid_4
    line = Line("折线图示例", width=1200, is_grid=True)
    attr = ['周一', '周二', '周三', '周四', '周五', '周六', '周日']
    line.add("最高气温", attr, [11, 11, 15, 13, 12, 13, 10], mark_point=["max", "min"],
             mark_line=["average"], grid_right="60%")
    line.add("最低气温", attr, [1, -2, 2, 5, 3, 2, 0], mark_point=["max", "min"],
             mark_line=["average"], legend_pos="20%", grid_right="60%")
    attr = ["衬衫", "羊毛衫", "雪纺衫", "裤子", "高跟鞋", "袜子"]
    value = [20, 40, 60, 80, 100, 120]
    v1 = [[2320.26, 2320.26, 2287.3, 2362.94],
          [2300, 2291.3, 2288.26, 2308.38],
          [2295.35, 2346.5, 2295.35, 2345.92],
          [2347.22, 2358.98, 2337.35, 2363.8],
          [2360.75, 2382.48, 2347.89, 2383.76],
          [2383.43, 2385.42, 2371.23, 2391.82],
          [2377.41, 2419.02, 2369.57, 2421.15],
          [2425.92, 2428.15, 2417.58, 2440.38],
          [2411, 2433.13, 2403.3, 2437.42],
          [2432.68, 2334.48, 2427.7, 2441.73],
          [2430.69, 2418.53, 2394.22, 2433.89],
          [2416.62, 2432.4, 2414.4, 2443.03],
          [2441.91, 2421.56, 2418.43, 2444.8],
          [2420.26, 2382.91, 2373.53, 2427.07],
          [2383.49, 2397.18, 2370.61, 2397.94],
          [2378.82, 2325.95, 2309.17, 2378.82],
          [2322.94, 2314.16, 2308.76, 2330.88],
          [2320.62, 2325.82, 2315.01, 2338.78],
          [2313.74, 2293.34, 2289.89, 2340.71],
          [2297.77, 2313.22, 2292.03, 2324.63],
          [2322.32, 2365.59, 2308.92, 2366.16],
          [2364.54, 2359.51, 2330.86, 2369.65],
          [2332.08, 2273.4, 2259.25, 2333.54],
          [2274.81, 2326.31, 2270.1, 2328.14],
          [2333.61, 2347.18, 2321.6, 2351.44],
          [2340.44, 2324.29, 2304.27, 2352.02],
          [2326.42, 2318.61, 2314.59, 2333.67],
          [2314.68, 2310.59, 2296.58, 2320.96],
          [2309.16, 2286.6, 2264.83, 2333.29],
          [2282.17, 2263.97, 2253.25, 2286.33],
          [2255.77, 2270.28, 2253.31, 2276.22]]
    kline = Kline("K 线图示例", title_pos="60%")
    kline.add("日K", ["2017/7/{}".format(i + 1) for i in range(31)], v1, legend_pos="80%")
    line.grid(kline.get_series(), grid_left="55%")
    line.show_config()
    line.render()

    # grid_5
    import random
    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_aixs = ["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("热力图示例", height=700, is_grid=True)
    heatmap.add("热力图直角坐标系", x_axis, y_aixs, data, is_visualmap=True, visual_top="45%",
                visual_text_color="#000", visual_orient='horizontal', grid_bottom="60%")
    attr = ["衬衫", "羊毛衫", "雪纺衫", "裤子", "高跟鞋", "袜子"]
    v1 = [5, 20, 36, 10, 75, 90]
    v2 = [10, 25, 8, 60, 20, 80]
    bar = Bar("柱状图示例", title_top="52%")
    bar.add("商家A", attr, v1, is_stack=True)
    bar.add("商家B", attr, v2, is_stack=True, legend_top="50%")
    heatmap.grid(bar.get_series(), grid_top="60%")
    heatmap.show_config()
    heatmap.render()