Exemple #1
0
def test_bar3D():

    # bar3D_0
    bar3d = Bar3D("3D 柱状图示例", width=1200, height=600)
    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 = [[0, 0, 5], [0, 1, 1], [0, 2, 0], [0, 3, 0], [0, 4, 0], [0, 5, 0], [0, 6, 0], [0, 7, 0],
            [0, 8, 0],[0, 9, 0], [0, 10, 0], [0, 11, 2], [0, 12, 4], [0, 13, 1], [0, 14, 1], [0, 15, 3],
            [0, 16, 4], [0, 17, 6], [0, 18, 4], [0, 19, 4], [0, 20, 3], [0, 21, 3], [0, 22, 2], [0, 23, 5],
            [1, 0, 7], [1, 1, 0], [1, 2, 0], [1, 3, 0], [1, 4, 0], [1, 5, 0], [1, 6, 0], [1, 7, 0], [1, 8, 0],
            [1, 9, 0], [1, 10, 5], [1, 11, 2], [1, 12, 2], [1, 13, 6], [1, 14, 9], [1, 15, 11], [1, 16, 6], [1, 17, 7],
            [1, 18, 8], [1, 19, 12], [1, 20, 5], [1, 21, 5], [1, 22, 7], [1, 23, 2], [2, 0, 1], [2, 1, 1],
            [2, 2, 0], [2, 3, 0], [2, 4, 0], [2, 5, 0], [2, 6, 0], [2, 7, 0], [2, 8, 0], [2, 9, 0], [2, 10, 3],
            [2, 11, 2], [2, 12, 1], [2, 13, 9], [2, 14, 8], [2, 15, 10], [2, 16, 6], [2, 17, 5], [2, 18, 5],
            [2, 19, 5], [2, 20, 7], [2, 21, 4], [2, 22, 2], [2, 23, 4], [3, 0, 7], [3, 1, 3], [3, 2, 0], [3, 3, 0],
            [3, 4, 0], [3, 5, 0], [3, 6, 0], [3, 7, 0], [3, 8, 1], [3, 9, 0], [3, 10, 5], [3, 11, 4], [3, 12, 7],
            [3, 13, 14], [3, 14, 13], [3, 15, 12], [3, 16, 9], [3, 17, 5], [3, 18, 5], [3, 19, 10], [3, 20, 6],
            [3, 21, 4], [3, 22, 4], [3, 23, 1], [4, 0, 1], [4, 1, 3], [4, 2, 0], [4, 3, 0], [4, 4, 0], [4, 5, 1],
            [4, 6, 0], [4, 7, 0], [4, 8, 0], [4, 9, 2], [4, 10, 4], [4, 11, 4], [4, 12, 2], [4, 13, 4], [4, 14, 4],
            [4, 15, 14], [4, 16, 12], [4, 17, 1], [4, 18, 8], [4, 19, 5], [4, 20, 3], [4, 21, 7], [4, 22, 3],
            [4, 23, 0], [5, 0, 2], [5, 1, 1], [5, 2, 0], [5, 3, 3], [5, 4, 0], [5, 5, 0], [5, 6, 0], [5, 7, 0],
            [5, 8, 2], [5, 9, 0], [5, 10, 4], [5, 11, 1], [5, 12, 5], [5, 13, 10], [5, 14, 5], [5, 15, 7], [5, 16, 11],
            [5, 17, 6], [5, 18, 0], [5, 19, 5], [5, 20, 3], [5, 21, 4], [5, 22, 2], [5, 23, 0], [6, 0, 1], [6, 1, 0],
            [6, 2, 0], [6, 3, 0], [6, 4, 0], [6, 5, 0], [6, 6, 0], [6, 7, 0], [6, 8, 0], [6, 9, 0], [6, 10, 1],
            [6, 11, 0], [6, 12, 2], [6, 13, 1], [6, 14, 3], [6, 15, 4], [6, 16, 0], [6, 17, 0], [6, 18, 0], [6, 19, 0],
            [6, 20, 1], [6, 21, 2], [6, 22, 2], [6, 23, 6]]

    range_color = ['#313695', '#4575b4', '#74add1', '#abd9e9', '#e0f3f8', '#ffffbf',
                   '#fee090', '#fdae61', '#f46d43', '#d73027', '#a50026']
    bar3d.add("", x_axis, y_aixs, [[d[1], d[0], d[2]] for d in data], is_visualmap=True,
              visual_range=[0, 20], visual_range_color=range_color, grid3D_width=200, grid3D_depth=80)
    bar3d.show_config()
    bar3d.render()

    # bar3D_1
    bar3d = Bar3D("3D 柱状图示例", width=1200, height=600)
    bar3d.add("", x_axis, y_aixs, [[d[1], d[0], d[2]] for d in data], is_visualmap=True,
              visual_range=[0, 20], visual_range_color=range_color, grid3D_width=200, grid3D_depth=80,
              grid3D_shading='lambert')
    bar3d.show_config()
    bar3d.render()

    # bar3D_2
    bar3d = Bar3D("3D 柱状图示例", width=1200, height=600)
    bar3d.add("", x_axis, y_aixs, [[d[1], d[0], d[2]] for d in data], is_visualmap=True,
              visual_range=[0, 20], visual_range_color=range_color, grid3D_width=200, grid3D_depth=80,
              is_grid3D_rotate=True)
    bar3d.show_config()
    bar3d.render()

    # bar3D_3
    bar3d = Bar3D("3D 柱状图示例", width=1200, height=600)
    bar3d.add("", x_axis, y_aixs, [[d[1], d[0], d[2]] for d in data], is_visualmap=True,
              visual_range=[0, 20], visual_range_color=range_color, grid3D_width=200, grid3D_depth=80,
              is_grid3D_rotate=True, grid3D_rotate_speed=180)
    bar3d.show_config()
    bar3d.render()
def test_bar3d_shading_lambert():
    bar3d = Bar3D("3D 柱状图示例", width=1200, height=600)
    bar3d.add("", X_TIME, Y_WEEK, [[d[1], d[0], d[2]] for d in data],
              is_visualmap=True, visual_range=[0, 20],
              visual_range_color=RANGE_COLOR, grid3d_width=200,
              grid3d_depth=80, grid3d_shading='lambert')
    assert "lambert" in bar3d._repr_html_()
Exemple #3
0
def threeD1_fun():
    bar3d = Bar3D("3D 柱状图示例", width=1200, height=600)
    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"
    ]

    df = pd.read_csv("mycharts/abc.csv")
    data = df.values.tolist()

    range_color = [
        '#313695', '#4575b4', '#74add1', '#abd9e9', '#e0f3f8', '#ffffbf',
        '#fee090', '#fdae61', '#f46d43', '#d73027', '#a50026'
    ]
    bar3d.add(
        "",
        x_axis,
        y_axis,
        [[d[1], d[0], d[2]] for d in data],
        is_visualmap=True,
        visual_range=[0, 20],
        visual_range_color=range_color,
        grid3d_width=200,
        grid3d_depth=80,
    )
    return bar3d
Exemple #4
0
def view_bar_3D(y_list, data_list, name=str()):
    """
    需要数据
    self.x_list 12个月的月份[日期] 等...
    self.y_list 各个不同的年份 等...
    self.date_list [[x, y, v], [x, y, v]] x和y是坐标索引,从0开始计算,v是展示的值
    :return:
    """
    x_list = ["{}月".format(i) for i in range(1, 13)]

    bar3d = Bar3D(name, width=1000, height=500)
    range_color = [
        '#313695', '#4575b4', '#74add1', '#abd9e9', '#e0f3f8', '#ffffbf',
        '#fee090', '#fdae61', '#f46d43', '#d73027', '#a50026'
    ]
    print(x_list, y_list, data_list)
    bar3d.add(
        "",
        x_list,
        y_list,
        data_list,
        is_visualmap=True,
        visual_range=[0, int(max(data_list, key=lambda x: x[2])[2])],
        visual_range_color=range_color,
        grid3d_width=200,
        grid3d_depth=80,
        is_toolbox_show=False,
        grid3d_shading='lambert',
        # is_grid3d_rotate=True,
    )

    return bar3d.render_embed()
Exemple #5
0
def generate_3d_bar_chart():
    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']
    print(data.head())
    style = Style(
        title_color='#A52A2A',
        title_pos='center',
        width=900,
        height=1100,
        background_color='#ABABAB'
    )
    style_3d = style.add(
        is_visualmap=True,
        visual_range=[0, 120],
        visual_range_color=['#313695', '#4575b4', '#74add1', '#abd9e9', '#e0f3f8', '#ffffbf',
                            '#fee090', '#fdae61', '#f46d43', '#d73027', '#a50026'],
        grid3d_width=200,
        grid3d_depth=80,
        xaxis_label_textcolor='#fff',
        is_grid3d_rotate=True,
        legend_pos='right'
    )
    bar3d = Bar3D('全年产量情况', **style.init_style)
    bar3d.add('每日产量', x_axis, y_axis, data.values.tolist(), **style_3d)
    bar3d.render(output_file_path + 'htmls/全年产量情况3D柱状图.html')
Exemple #6
0
def create_charts():
    page = Page()
    conn=mysql2pd('140.143.161.111', '3306', 'mm', 'root', 'a091211')
    data=conn.doget("select 监测点,AQI指数,`PM2.5`,PM10,Co,No2,So2,O3,updata_time from aqi")
    conn.close()
    ps=data['监测点'].drop_duplicates().values
    ts=data['updata_time'].drop_duplicates().values
    cs=['AQI指数','PM2.5','PM10','Co','No2','So2','O3']
    for p in ps:
        res = []
        data1=data[data['监测点']==p]
        for i,c in enumerate(cs):
            for x,t in enumerate(ts):
                data2=data1[data1['updata_time']==t]
                for l in list(data2[c].values):
                    res.append([i,x,l])
        style = Style(
            width=WIDTH, height=HEIGHT
        )
        chart = Bar3D(p, **style.init_style)
        chart.add(p, ts, cs, [{'name':ts[d[1]],'value':[d[1], d[0], d[2]]} for d in res],
                  is_visualmap=True, visual_range=[0, 180],
                  visual_range_color=RANGE_COLOR,
                  grid3d_width=80, grid3d_depth=80)
        page.add(chart)
    return page
Exemple #7
0
def weekday_analysis(request):
    io, all_transaction = loginTest(request)
    x_axis = list(style.keys())
    y_axis = [
         "Sunday","Saturday", "Friday", "Thursday", "Wednesday", "Tuesday", "Monday"
    ]
    y_axis.reverse()
    range_color = ['#313695', '#4575b4', '#74add1', '#abd9e9', '#e0f3f8', '#ffffbf',
                   '#fee090', '#fdae61', '#f46d43', '#d73027', '#a50026']
    result = {}
    for weekday in y_axis:
        result[weekday]={}
        for tag in x_axis:
            result[weekday][tag]=0

    for tx in all_transaction:
        weekday = y_axis[datetime.datetime.fromtimestamp(tx.obj["timestamp"]).weekday()]
        for tag in tx.obj["tags"]:
            result[weekday][tag]+=abs(tx.obj["amount"])
    data=[]
    max_value=0
    for i,weekday in enumerate(y_axis):
        for j,tag in enumerate(x_axis):
            if result[weekday][tag]>max_value:
                max_value=result[weekday][tag]
            data.append([i,j,result[weekday][tag]])



    bar3d = Bar3D("You can see how much you spent on each category on each weekday", width="100%", height="100%")
    bar3d.add("", x_axis, y_axis, [[d[1], d[0], d[2]] for d in data],
              is_visualmap=True, visual_range=[0,max_value],
              visual_range_color=range_color, grid3d_width=200, grid3d_depth=80,grid3d_shading='lambert',xaxis_interval=10, xaxis_rotate=30, yaxis_rotate=30)
    return bar3d
def test_bar3d_rotate_automatically():
    bar3d = Bar3D("3D 柱状图示例", width=1200, height=600)
    bar3d.add("", X_TIME, Y_WEEK, [[d[1], d[0], d[2]] for d in data],
              is_visualmap=True, visual_range=[0, 20],
              visual_range_color=RANGE_COLOR, grid3d_width=200,
              grid3d_depth=80, is_grid3d_rotate=True)
    bar3d.render()
 def view_bar_3D(self):
     """
     需要数据
     self.x_list 12个月的月份[日期] 等...
     self.y_list 各个不同的年份 等...
     self.date_list [[x, y, v], [x, y, v]] x和y是坐标索引,从0开始计算,v是展示的值
     :return:
     """
     bar3d = Bar3D("%s年度销货汇总总表" % self.table_name,
                   width=1200,
                   height=600,
                   page_title="3D VIEW")
     range_color = [
         '#313695', '#4575b4', '#74add1', '#abd9e9', '#e0f3f8', '#ffffbf',
         '#fee090', '#fdae61', '#f46d43', '#d73027', '#a50026'
     ]
     bar3d.add(
         "",
         self.x_list,
         self.y_list,
         self.data_list,
         is_visualmap=True,
         visual_range=[0,
                       int(max(self.data_list, key=lambda x: x[2])[2])],
         visual_range_color=range_color,
         grid3d_width=200,
         grid3d_depth=80,
         is_toolbox_show=False,
         grid3d_shading='lambert')
     bar3d.render(path=self.BASE_PATH +
                  "%s3D_display.html" % self.html_name)
Exemple #10
0
def threeD(str, x_order, y_order, z_order):
    bar3d = Bar3D(background_color="#white", width=1300, height=800)
    bar3d.add("城市职位薪水3D柱状图",
              x_order,
              y_order,
              z_order,
              grid3d_opacity=0.8,
              grid3d_shading="realistic")
    bar3d.render("城市职位薪水3D柱状图.html")
def reli2(t):
    bar3d = Bar3D("3D 柱状图示-热播电视剧", width=1200, height=600)
    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) / 1500))
    x_axis = x_axis
    # 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(6):
        for j in range(50):
            x = [i, j, da[j][i]]
            data.append(x)

    # print(data)
    range_color = [
        '#313695', '#4575b4', '#74add1', '#abd9e9', '#e0f3f8', '#ffffbf'
    ]
    bar3d.add(
        "",
        x_axis,
        y_axis,
        [[d[1], d[0], d[2]] for d in data],
        is_visualmap=True,
        visual_range=[0, 80],
        visual_range_color=range_color,
        grid3d_width=200,
        grid3d_depth=80,
        grid3d_shading="lambert",
        is_grid3d_rotate=True,
        #         grid3d_rotate_speed=180
    )
    bar3d.render(pathConfig.HTLMSREPATH + '电视剧热力图.html')
Exemple #12
0
def view_bar_3D(spi, name=str()):
    """
    需要数据
    self.x_list 12个月的月份[日期] 等...
    self.y_list 各个不同的年份 等...
    self.date_list [[x, y, v], [x, y, v]] x和y是坐标索引,从0开始计算,v是展示的值
    :return:
    """
    y_set = set()
    value_dict = {}

    for i in spi:
        year = str(i.sell_date)[:4]
        ym = str(i.sell_date)[:7]

        y_set.add(year)

        if ym in value_dict:
            value_dict[ym] += int(i.total_price)
        else:
            value_dict[ym] = int(i.total_price)

    data_list = [[int(k[5:7]) - 1, int(k[:4]) - 2015, int(v)] for k, v in value_dict.items()]

    y_list = sorted(list(y_set))
    x_list = ["{}月".format(i) for i in range(1, 13)]

    bar3d = Bar3D(name + "销货汇总", width=1000, height=500)
    range_color = ['#313695', '#4575b4', '#74add1', '#abd9e9', '#e0f3f8', '#ffffbf',
                   '#fee090', '#fdae61', '#f46d43', '#d73027', '#a50026']
    # print(x_list, y_list, data_list)
    bar3d.add("", x_list, y_list, data_list,
              is_visualmap=True,
              visual_range=[0, int(max(data_list, key=lambda x: x[2])[2])],
              visual_range_color=range_color,
              grid3d_width=200,
              grid3d_depth=80,
              is_toolbox_show=False,
              grid3d_shading='lambert',
              is_grid3d_rotate=True,
              )

    return bar3d.render_embed()
Exemple #13
0
def get_bar3d():
    """
    获取3d柱状图
    :return:
    """
    data = list()
    bar3d = Bar3D('计算机领域招聘信息柱状图',
                  'hello,i\'m 苍天有井',
                  width=1200,
                  height=600,
                  background_color='pink',
                  page_title='老舍就业分析网',
                  renderer='gif')
    citys = ['北京', '上海', '广州', '深圳']
    kws = ['python web', '爬虫', '大数据', 'ai']
    range_color = [
        '#313695', '#4575b4', '#74add1', '#abd9e9', '#e0f3f8', '#ffffbf',
        '#fee090', '#fdae61', '#f46d43', '#d73027', '#a50026'
    ]
    for i in range(len(citys)):
        for j in range(len(kws)):
            data.append([
                i, j,
                len(
                    TSj.objects.filter(city=citys[i],
                                       position__icontains=kws[j]))
            ])
    print(data)
    bar3d.add(
        '招聘信息分布图',
        citys,
        kws,
        [[d[0], d[1], d[2]] for d in data],
        is_visualmap=True,
        is_grid3d_rotate=True,
        visual_range=[0, 20],
        visual_range_color=range_color,
        grid3d_width=200,
        grid3d_depth=80,
        is_more_utils=True,
    )
    return bar3d
Exemple #14
0
def test_bar3d_default(patched):
    fixture = "bar3d_options.json"
    patched.return_value = "1"
    bar3d = Bar3D("3D 柱状图示例", width=1200, height=600)
    bar3d.add(
        "",
        X_TIME,
        Y_WEEK,
        [[1, 1, 1]],
        is_visualmap=True,
        visual_range=[0, 20],
        visual_range_color=RANGE_COLOR,
        grid3d_width=200,
        grid3d_depth=80,
    )
    actual_options = dumps_actual_options(bar3d.options)
    expected = get_fixture_content(fixture)

    for a, b in zip(actual_options.split("\n"), expected.split("\n")):
        eq_(a.strip(), b.strip())
Exemple #15
0
def Paint3DBar(points, x_axis, name):
    bar3d = Bar3D(name, width=1200, height=600)
    y_axis = ["一等奖", "二等奖", "三等奖", "完成奖"]

    range_color = [
        '#313695', '#4575b4', '#74add1', '#abd9e9', '#e0f3f8', '#ffffbf',
        '#fee090', '#fdae61', '#f46d43', '#d73027', '#a50026'
    ]
    bar3d.add(
        "获奖情况",
        x_axis,
        y_axis,
        [[d[0], d[1], d[2]] for d in points],
        is_visualmap=True,
        visual_range=[0, 20],
        visual_range_color=range_color,
        grid3d_width=200,
        grid3d_depth=80,
        grid3d_shading="lambert",
    )
    bar3d.render(name + '.html')
Exemple #16
0
def draw_first_barchart():

    df['profits'] = [(i - j) / 1000000 for i, j in zip(df.gross, df.budget)]
    value_column = 'profits'

    mc_column = 'genres'
    mc_sep = '|'

    cut_column = 'title_year'
    year_labels = ["old", "80's", "90's", "00's", "recent"]
    bins = [1926, 1979, 1989, 1999, 2011, 2016]
    df[cut_column + '_level'] = pd.cut(df[cut_column],
                                       bins=bins,
                                       labels=year_labels)

    df_mc_column = pde.multi_content_column(df[mc_column], sep=mc_sep)
    x_axis = list(df_mc_column.classes.keys())

    # process data
    value = []
    for i in year_labels:
        dfi = df.loc[df[cut_column + '_level'] == i, :]
        dfi_mc_column = pde.multi_content_column(dfi[mc_column], sep=mc_sep)
        v = []
        for i in x_axis:
            v.append(
                round(
                    dp.mean(dfi.loc[dfi_mc_column.contains(i), value_column]),
                    2))
        value.append(v)

    dfv = pd.DataFrame(np.array(value).T)
    dfv[mc_column] = x_axis
    dfv = dfv.sort_values(by=4, ascending=False)

    # draw chart
    from pyecharts import Bar
    chart_title = 'Profits of movie from different genres over years'

    bar = Bar(chart_title, title_pos='center')
    for i in range(len(value)):
        bar.add(year_labels[i],
                dfv[mc_column],
                dfv[i],
                mark_line=['average'],
                mark_point=['max'],
                is_more_utils=True,
                is_datazoom_show=True,
                datazoom_type='both',
                legend_top='7%',
                yaxis_name=value_column,
                yaxis_name_gap=40)

    bar.render(chart_title + '.html')

    #----------------------------------------------------------------------------
    # bar3d

    # process data
    value = []
    for i in year_labels:
        dfi = df.loc[df[cut_column + '_level'] == i, :]
        dfi_mc_column = pde.multi_content_column(dfi[mc_column], sep=mc_sep)
        v = []
        for i in x_axis:
            v.append(
                round(
                    dp.mean(dfi.loc[dfi_mc_column.contains(i), value_column]),
                    2))
        value.append(v)

    dfv = pd.DataFrame(np.array(value).T)
    dfv[mc_column] = x_axis
    dfv = dfv.sort_values(by=4, ascending=False)

    value = [[] for _ in range(dfv.shape[1] - 1)]
    for i in range(dfv.shape[0]):
        for j in range(dfv.shape[1] - 1):
            value[j].append([i, j, dfv.iloc[i, j]])
    dfv
    pprint(value[0])

    from pyecharts import Bar3D

    title = 'Profits of movie from different genres over years'
    bar3d = Bar3D(title, title_pos='center')

    for j in range(dfv.shape[1] - 1):
        pprint(value[j])
        bar3d.add(year_labels[j],
                  dfv[mc_column],
                  year_labels,
                  value[j],
                  is_legend_show=True,
                  legend_top='7%',
                  zaxis3d_name=value_column,
                  grid3d_opacity=1,
                  xaxis3d_interval=0,
                  grid3d_width=200,
                  grid3d_depth=60,
                  grid3d_shading='realistic',
                  is_grid3d_rotate=True)
    print('rendering')
    bar3d.render(title + '(Bar3D).html')
Exemple #17
0
def create_charts():
    page = Page()

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

    data = [[0, 0, 5], [0, 1, 1], [0, 2, 0], [0, 3, 0], [0, 4, 0], [0, 5, 0],
            [0, 6, 0], [0, 7, 0], [0, 8, 0], [0, 9, 0], [0, 10, 0], [0, 11, 2],
            [0, 12, 4], [0, 13, 1], [0, 14, 1], [0, 15, 3], [0, 16, 4],
            [0, 17, 6], [0, 18, 4], [0, 19, 4], [0, 20, 3], [0, 21, 3],
            [0, 22, 2], [0, 23, 5], [1, 0, 7], [1, 1, 0], [1, 2, 0], [1, 3, 0],
            [1, 4, 0], [1, 5, 0], [1, 6, 0], [1, 7, 0], [1, 8, 0], [1, 9, 0],
            [1, 10, 5], [1, 11, 2], [1, 12, 2], [1, 13, 6], [1, 14, 9],
            [1, 15, 11], [1, 16, 6], [1, 17, 7], [1, 18, 8], [1, 19, 12],
            [1, 20, 5], [1, 21, 5],
            [1, 22, 7], [1, 23, 2], [2, 0, 1], [2, 1, 1], [2, 2, 0], [2, 3, 0],
            [2, 4, 0], [2, 5, 0], [2, 6, 0], [2, 7, 0], [2, 8, 0], [2, 9, 0],
            [2, 10, 3], [2, 11, 2], [2, 12, 1], [2, 13, 9], [2, 14, 8],
            [2, 15, 10], [2, 16, 6], [2, 17, 5], [2, 18, 5], [2, 19, 5],
            [2, 20, 7], [2, 21, 4], [2, 22, 2], [2, 23, 4], [3, 0,
                                                             7], [3, 1, 3],
            [3, 2, 0], [3, 3, 0], [3, 4, 0], [3, 5, 0], [3, 6, 0], [3, 7, 0],
            [3, 8, 1], [3, 9, 0], [3, 10, 5], [3, 11, 4], [3, 12, 7],
            [3, 13, 14], [3, 14, 13], [3, 15, 12], [3, 16, 9], [3, 17, 5],
            [3, 18, 5], [3, 19, 10], [3, 20, 6], [3, 21, 4], [3, 22, 4],
            [3, 23, 1], [4, 0, 1], [4, 1, 3], [4, 2, 0], [4, 3, 0], [4, 4, 0],
            [4, 5, 1], [4, 6, 0], [4, 7, 0], [4, 8, 0], [4, 9, 2], [4, 10, 4],
            [4, 11, 4], [4, 12, 2], [4, 13, 4], [4, 14, 4], [4, 15, 14],
            [4, 16, 12], [4, 17, 1], [4, 18, 8], [4, 19, 5], [4, 20, 3],
            [4, 21, 7], [4, 22, 3], [4, 23, 0], [5, 0, 2], [5, 1,
                                                            1], [5, 2, 0],
            [5, 3, 3], [5, 4, 0], [5, 5, 0], [5, 6, 0], [5, 7, 0], [5, 8, 2],
            [5, 9, 0], [5, 10, 4], [5, 11, 1], [5, 12, 5], [5, 13, 10],
            [5, 14, 5], [5, 15, 7], [5, 16, 11], [5, 17, 6], [5, 18, 0],
            [5, 19, 5], [5, 20, 3], [5, 21, 4], [5, 22, 2], [5, 23, 0],
            [6, 0, 1], [6, 1, 0], [6, 2, 0], [6, 3, 0], [6, 4, 0], [6, 5, 0],
            [6, 6, 0], [6, 7, 0], [6, 8, 0], [6, 9, 0], [6, 10, 1], [6, 11, 0],
            [6, 12, 2], [6, 13, 1], [6, 14, 3], [6, 15, 4], [6, 16, 0],
            [6, 17, 0], [6, 18, 0], [6, 19, 0], [6, 20, 1], [6, 21, 2],
            [6, 22, 2], [6, 23, 6]]

    chart = Bar3D("3D 柱状图-默认", **style.init_style)
    chart.add("",
              X_TIME,
              Y_WEEK, [[d[1], d[0], d[2]] for d in data],
              is_visualmap=True,
              visual_range=[0, 20],
              visual_range_color=RANGE_COLOR,
              grid3d_width=200,
              grid3d_depth=80)
    page.add(chart)

    chart = Bar3D("3D 柱状图-立体感", **style.init_style)
    chart.add("",
              X_TIME,
              Y_WEEK, [[d[1], d[0], d[2]] for d in data],
              is_visualmap=True,
              visual_range=[0, 20],
              visual_range_color=RANGE_COLOR,
              grid3d_width=200,
              grid3d_depth=80,
              grid3d_shading='lambert')
    page.add(chart)

    chart = Bar3D("3D 柱状图-自动旋转", **style.init_style)
    chart.add("",
              X_TIME,
              Y_WEEK, [[d[1], d[0], d[2]] for d in data],
              is_visualmap=True,
              visual_range=[0, 20],
              visual_range_color=RANGE_COLOR,
              grid3d_width=200,
              grid3d_depth=80,
              is_grid3d_rotate=True)
    page.add(chart)

    chart = Bar3D("3D 柱状图-加速旋转", **style.init_style)
    chart.add("",
              X_TIME,
              Y_WEEK, [[d[1], d[0], d[2]] for d in data],
              is_visualmap=True,
              visual_range=[0, 20],
              visual_range_color=RANGE_COLOR,
              grid3d_width=200,
              grid3d_depth=80,
              is_grid3d_rotate=True,
              grid3d_rotate_speed=180)
    page.add(chart)

    return page
    data[year[i]-1908,month[i]-1] = data[year[i]-1908,month[i]-1]+1

# 发生空难次数最多的月份
data.max()  # 17

# 构建三维数据集
# (y,x,z)格式
data1 = []
for i in range(102):
    for j in range(12):
        data1.append([j,i,data[i,j]])

# get 3-D picture
from pyecharts import Bar3D

bar3d = Bar3D("空难分布 3D 柱状图","year-month", width=1200, height=600)
x_axis = yearlist
y_aixs = monthlist

range_color = ['#313695', '#4575b4', '#74add1', '#abd9e9', '#e0f3f8', '#ffffbf',
               '#fee090', '#fdae61', '#f46d43', '#d73027', '#a50026']
bar3d.add("", x_axis, y_aixs, [[d[1], d[0], d[2]] for d in data1], is_visualmap=True,
          visual_range=[0, 20], visual_range_color=range_color, grid3d_width=200, grid3d_depth=80)
bar3d.render("空难分布年月3D.html")    # 生成本地 HTML 文件
bar3d


# 画空难次数随小时变化的情况
import matplotlib.pyplot as plt
import seaborn as sns
Exemple #19
0
#####################################################
# ? Bar3D(3D 柱状图)
#####################################################

from pyecharts import Bar3D

bar3d = Bar3D("3D 柱状图示例", width=1200, height=600)
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 = [[0, 0, 5], [0, 1, 1], [0, 2, 0], [0, 3, 0], [0, 4, 0], [0, 5, 0],
        [0, 6, 0], [0, 7, 0], [0, 8, 0], [0, 9, 0], [0, 10, 0], [0, 11, 2],
        [0, 12, 4], [0, 13, 1], [0, 14, 1], [0, 15, 3], [0, 16, 4], [0, 17, 6],
        [0, 18, 4], [0, 19, 4], [0, 20, 3], [0, 21, 3], [0, 22, 2], [0, 23, 5],
        [1, 0, 7], [1, 1, 0], [1, 2, 0], [1, 3, 0], [1, 4, 0], [1, 5, 0],
        [1, 6, 0], [1, 7, 0], [1, 8, 0], [1, 9, 0], [1, 10, 5], [1, 11, 2],
        [1, 12, 2], [1, 13, 6], [1, 14, 9], [1, 15, 11], [1, 16,
                                                          6], [1, 17, 7],
        [1, 18, 8], [1, 19, 12],
        [1, 20, 5], [1, 21, 5], [1, 22, 7], [1, 23, 2], [2, 0, 1], [2, 1, 1],
        [2, 2, 0], [2, 3, 0], [2, 4, 0], [2, 5, 0], [2, 6, 0], [2, 7, 0],
        [2, 8, 0], [2, 9, 0], [2, 10, 3], [2, 11, 2], [2, 12, 1], [2, 13, 9],
        [2, 14, 8], [2, 15, 10], [2, 16, 6], [2, 17, 5], [2, 18,
                                                          5], [2, 19, 5],
        [2, 20, 7], [2, 21, 4], [2, 22, 2], [2, 23, 4], [3, 0, 7], [3, 1, 3],
        [3, 2, 0], [3, 3, 0], [3, 4, 0], [3, 5, 0], [3, 6, 0], [3, 7, 0],
Exemple #20
0
def bar3d():
    # bar3d = Bar3D("3D 柱状图示例", width=1200, height=600)
    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 = [[0, 0, 5], [0, 1, 1], [0, 2, 0], [0, 3, 0], [0, 4, 0], [0, 5, 0],
            [0, 6, 0], [0, 7, 0], [0, 8, 0], [0, 9, 0], [0, 10, 0], [0, 11, 2],
            [0, 12, 4], [0, 13, 1], [0, 14, 1], [0, 15, 3], [0, 16, 4],
            [0, 17, 6], [0, 18, 4], [0, 19, 4], [0, 20, 3], [0, 21, 3],
            [0, 22, 2], [0, 23, 5], [1, 0, 7], [1, 1, 0], [1, 2, 0], [1, 3, 0],
            [1, 4, 0], [1, 5, 0], [1, 6, 0], [1, 7, 0], [1, 8, 0], [1, 9, 0],
            [1, 10, 5], [1, 11, 2], [1, 12, 2], [1, 13, 6], [1, 14, 9],
            [1, 15, 11], [1, 16, 6], [1, 17, 7], [1, 18, 8], [1, 19, 12],
            [1, 20, 5], [1, 21, 5],
            [1, 22, 7], [1, 23, 2], [2, 0, 1], [2, 1, 1], [2, 2, 0], [2, 3, 0],
            [2, 4, 0], [2, 5, 0], [2, 6, 0], [2, 7, 0], [2, 8, 0], [2, 9, 0],
            [2, 10, 3], [2, 11, 2], [2, 12, 1], [2, 13, 9], [2, 14, 8],
            [2, 15, 10], [2, 16, 6], [2, 17, 5], [2, 18, 5], [2, 19, 5],
            [2, 20, 7], [2, 21, 4], [2, 22, 2], [2, 23, 4], [3, 0,
                                                             7], [3, 1, 3],
            [3, 2, 0], [3, 3, 0], [3, 4, 0], [3, 5, 0], [3, 6, 0], [3, 7, 0],
            [3, 8, 1], [3, 9, 0], [3, 10, 5], [3, 11, 4], [3, 12, 7],
            [3, 13, 14], [3, 14, 13], [3, 15, 12], [3, 16, 9], [3, 17, 5],
            [3, 18, 5], [3, 19, 10], [3, 20, 6], [3, 21, 4], [3, 22, 4],
            [3, 23, 1], [4, 0, 1], [4, 1, 3], [4, 2, 0], [4, 3, 0], [4, 4, 0],
            [4, 5, 1], [4, 6, 0], [4, 7, 0], [4, 8, 0], [4, 9, 2], [4, 10, 4],
            [4, 11, 4], [4, 12, 2], [4, 13, 4], [4, 14, 4], [4, 15, 14],
            [4, 16, 12], [4, 17, 1], [4, 18, 8], [4, 19, 5], [4, 20, 3],
            [4, 21, 7], [4, 22, 3], [4, 23, 0], [5, 0, 2], [5, 1,
                                                            1], [5, 2, 0],
            [5, 3, 3], [5, 4, 0], [5, 5, 0], [5, 6, 0], [5, 7, 0], [5, 8, 2],
            [5, 9, 0], [5, 10, 4], [5, 11, 1], [5, 12, 5], [5, 13, 10],
            [5, 14, 5], [5, 15, 7], [5, 16, 11], [5, 17, 6], [5, 18, 0],
            [5, 19, 5], [5, 20, 3], [5, 21, 4], [5, 22, 2], [5, 23, 0],
            [6, 0, 1], [6, 1, 0], [6, 2, 0], [6, 3, 0], [6, 4, 0], [6, 5, 0],
            [6, 6, 0], [6, 7, 0], [6, 8, 0], [6, 9, 0], [6, 10, 1], [6, 11, 0],
            [6, 12, 2], [6, 13, 1], [6, 14, 3], [6, 15, 4], [6, 16, 0],
            [6, 17, 0], [6, 18, 0], [6, 19, 0], [6, 20, 1], [6, 21, 2],
            [6, 22, 2], [6, 23, 6]]
    range_color = [
        '#313695', '#4575b4', '#74add1', '#abd9e9', '#e0f3f8', '#ffffbf',
        '#fee090', '#fdae61', '#f46d43', '#d73027', '#a50026'
    ]
    bar3d = Bar3D("3D 柱状图示例", width=1200, height=600)
    bar3d.add(
        "",
        x_axis,
        y_axis,
        [[d[1], d[0], d[2]] for d in data],
        is_visualmap=True,
        visual_range=[0, 20],
        visual_range_color=range_color,
        grid3d_width=200,
        grid3d_depth=80,
        is_grid3d_rotate=True,
    )
    # bar3d.render()
    return render_template(
        'bar3d.html',
        bar3d=bar3d.render_embed(),
        host=REMOTE_HOST,
        script_list=bar3d.get_js_dependencies(),
    )
Exemple #21
0
    cur.close()
    conn.close()


proc = 0.00

page = Page()

# 爬取进度
liquid = Liquid('网页爬取进度')
nowpro = sql_count() / 6977
proc = Decimal(nowpro).quantize(Decimal('0.00'))
liquid.add("爬取进度", [str(proc)])

# 3D 柱状图
bar3d = Bar3D("豆瓣评分", width=1620, height=720)
datalist = sql_select(0, 6977)
# 书名
x_axis = []
y_axis = []
data = []
y = 0
x = 0

# 词库云
book_name = []
reviews = []
for book in datalist:
    try:
        if book['title'].find('》') != -1:
            name = re.search(r'《.*》', book['title'], flags=0).group(0)
Exemple #22
0
import pandas as pd
import numpy as np

df_train = pd.read_csv(r'D:\新建文件夹\train.csv')
# print(df_train.head(3))
df_train.head(3)

df_train.shape
df_train.info()
df_train.describe()

from pyecharts import Bar, Line, Bar3D
import matplotlib.pyplot as plt

bar3d = Bar3D("2018年申请人数分布", width=1200, height=600)
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 = [[0, 0, 5], [0, 1, 1], [0, 2, 0], [0, 3, 0], [0, 4, 0], [0, 5, 0],
        [0, 6, 0], [0, 7, 0], [0, 8, 0], [0, 9, 0], [0, 10, 0], [0, 11, 2],
        [0, 12, 4], [0, 13, 1], [0, 14, 1], [0, 15, 3], [0, 16, 4], [0, 17, 6],
        [0, 18, 4], [0, 19, 4], [0, 20, 3], [0, 21, 3], [0, 22, 2], [0, 23, 5],
        [1, 0, 7], [1, 1, 0], [1, 2, 0], [1, 3, 0], [1, 4, 0], [1, 5, 0],
        [1, 6, 0], [1, 7, 0], [1, 8, 0], [1, 9, 0], [1, 10, 5], [1, 11, 2],
Exemple #23
0
# -*- coding: utf-8 -*-
"""
Created on Thu Aug 10 11:29:20 2017

@author: 17549
"""
from pyecharts import Bar3D
bar3d=Bar3D("3D柱状图",width=1200,height=600)
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=["Staurday","Firday","Thursday","Wednesday","Tuesday","Monday","Sunday"]
data=[[0,0,5],[0,1,1],[0,2,0],[0,3,0],[0,4,0],[0,5,0],[0,6,0],[0,7,0],[0,8,0],
      [0,9,0],[0,10,0],[0,11,2],[0,12,4],[0,13,1],[0,14,1],[0,15,3],[0,16,4],
      [0,17,6],[0,18,4],[0,19,4],[0,,0],[0,0,0],[0,0,0],[0,0,0],[0,0,0],[0,0,0],
      [0,0,0],[0,0,0],[0,0,0],[0,0,0],[0,0,0],[0,0,0],[0,0,0],[0,0,0],[0,0,0],
      [0,0,0],[0,0,0],[0,0,0],[0,0,0],[0,0,0],[0,0,0],[0,0,0],[0,0,0],[0,0,0],
      ]
Exemple #24
0
def test_bar3d_must_use_canvas():
    bar3d = Bar3D()
    eq_(bar3d.renderer, "canvas")
Exemple #25
0
bar

# ## 一线城市与二线城市的评分差异

# 求出不同城市评分的均值

city_list = ["北京", "上海", "西安", "太原"]

gender_city_score_mean = df[df.city.isin(city_list)].groupby(
    ["gender", "city"], as_index=False)["score"].mean()

city_data, city_index = pd.factorize(gender_city_score_mean.city)
gender_data, gender_index = pd.factorize(gender_city_score_mean.gender)
data = list(zip(city_data, gender_data, gender_city_score_mean.score.values))

bar3d = Bar3D("一线城市与二线城市的评分差异", width=650, height=450)

range_color = [
    '#313695', '#4575b4', '#74add1', '#abd9e9', '#e0f3f8', '#ffffbf',
    '#fee090', '#fdae61', '#f46d43', '#d73027', '#a50026'
]
bar3d.add("",
          city_index,
          gender_index,
          data,
          is_visualmap=True,
          visual_range=[0, 5],
          visual_range_color=range_color,
          grid3d_width=150,
          grid3d_depth=80,
          is_grid3d_rotate=False)
Exemple #26
0
# print(index)

# x为商品名,y为日期,z为浏览
for y, day in enumerate(dataset):
    for x, key in enumerate(set(keys)):
        # 因为每天发布的宝贝不一样,因此
        try:
            xyz.append([x, y, dataset[day][key][-1]])
        except Exception as e:
            # print(e)
            # print([x, y, 0])
            xyz.append([x, y, 0])

# print(xyz)

bar3d = Bar3D("闲鱼商品数据3D图", title_pos="center", width=1800, height=1000)

bar3d.add('',
          list(set(keys)),
          days,
          xyz,
          is_label_show=True,
          is_visualmap=True,
          visual_range=[0, 500],
          grid3d_width=100,
          xaxis3d_name_size=12,
          grid3d_height=100,
          grid3d_depth=150,
          is_grid3d_rotate=True,
          xaxis3d_name='商品名',
          xaxis3d_interval=0)
Exemple #27
0
def test_bar3d_must_use_canvas():
    bar3d = Bar3D("3D 柱状图示例", width=1200, height=600)
    eq_(bar3d.renderer, 'canvas')
def index7(request):
    from pyecharts import Bar3D

    bar3d = Bar3D("3D 柱状图示例", width=1200, height=600)
    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 = []
    data = [[0, 0, 5], [0, 1, 1], [0, 2, 0], [0, 3, 0], [0, 4, 0], [0, 5, 0],
            [0, 6, 0], [0, 7, 0], [0, 8, 0], [0, 9, 0], [0, 10, 0], [0, 11, 2],
            [0, 12, 4], [0, 13, 1], [0, 14, 1], [0, 15, 3], [0, 16, 4],
            [0, 17, 6], [0, 18, 4], [0, 19, 4], [0, 20, 3], [0, 21, 3],
            [0, 22, 2], [0, 23, 5], [1, 0, 7], [1, 1, 0], [1, 2, 0], [1, 3, 0],
            [1, 4, 0], [1, 5, 0], [1, 6, 0], [1, 7, 0], [1, 8, 0], [1, 9, 0],
            [1, 10, 5], [1, 11, 2], [1, 12, 2], [1, 13, 6], [1, 14, 9],
            [1, 15, 11], [1, 16, 6], [1, 17, 7], [1, 18, 8], [1, 19, 12],
            [1, 20, 5], [1, 21, 5],
            [1, 22, 7], [1, 23, 2], [2, 0, 1], [2, 1, 1], [2, 2, 0], [2, 3, 0],
            [2, 4, 0], [2, 5, 0], [2, 6, 0], [2, 7, 0], [2, 8, 0], [2, 9, 0],
            [2, 10, 3], [2, 11, 2], [2, 12, 1], [2, 13, 9], [2, 14, 8],
            [2, 15, 10], [2, 16, 6], [2, 17, 5], [2, 18, 5], [2, 19, 5],
            [2, 20, 7], [2, 21, 4], [2, 22, 2], [2, 23, 4], [3, 0,
                                                             7], [3, 1, 3],
            [3, 2, 0], [3, 3, 0], [3, 4, 0], [3, 5, 0], [3, 6, 0], [3, 7, 0],
            [3, 8, 1], [3, 9, 0], [3, 10, 5], [3, 11, 4], [3, 12, 7],
            [3, 13, 14], [3, 14, 13], [3, 15, 12], [3, 16, 9], [3, 17, 5],
            [3, 18, 5], [3, 19, 10], [3, 20, 6], [3, 21, 4], [3, 22, 4],
            [3, 23, 1], [4, 0, 1], [4, 1, 3], [4, 2, 0], [4, 3, 0], [4, 4, 0],
            [4, 5, 1], [4, 6, 0], [4, 7, 0], [4, 8, 0], [4, 9, 2], [4, 10, 4],
            [4, 11, 4], [4, 12, 2], [4, 13, 4], [4, 14, 4], [4, 15, 14],
            [4, 16, 12], [4, 17, 1], [4, 18, 8], [4, 19, 5], [4, 20, 3],
            [4, 21, 7], [4, 22, 3], [4, 23, 0], [5, 0, 2], [5, 1,
                                                            1], [5, 2, 0],
            [5, 3, 3], [5, 4, 0], [5, 5, 0], [5, 6, 0], [5, 7, 0], [5, 8, 2],
            [5, 9, 0], [5, 10, 4], [5, 11, 1], [5, 12, 5], [5, 13, 10],
            [5, 14, 5], [5, 15, 7], [5, 16, 11], [5, 17, 6], [5, 18, 0],
            [5, 19, 5], [5, 20, 3], [5, 21, 4], [5, 22, 2], [5, 23, 0],
            [6, 0, 1], [6, 1, 0], [6, 2, 0], [6, 3, 0], [6, 4, 0], [6, 5, 0],
            [6, 6, 0], [6, 7, 0], [6, 8, 0], [6, 9, 0], [6, 10, 1], [6, 11, 0],
            [6, 12, 2], [6, 13, 1], [6, 14, 3], [6, 15, 4], [6, 16, 0],
            [6, 17, 0], [6, 18, 0], [6, 19, 0], [6, 20, 1], [6, 21, 2],
            [6, 22, 2], [6, 23, 6]]
    range_color = [
        '#313695', '#4575b4', '#74add1', '#abd9e9', '#e0f3f8', '#ffffbf',
        '#fee090', '#fdae61', '#f46d43', '#d73027', '#a50026'
    ]
    bar3d.add(
        "",
        x_axis,
        y_axis,
        [[d[1], d[0], d[2]] for d in data],
        is_visualmap=True,
        visual_range=[0, 20],
        visual_range_color=range_color,
        grid3d_width=200,
        grid3d_depth=80,
    )

    bar3d.render('templates/imagelist/class_grade3d.html')
    with open('templates/imagelist/class_grade3d.html', 'rb') as f:
        data = f.read()
    return HttpResponse(data)
Exemple #29
0
                         (data_max.max() - data_min.min()))
                    ]
                )  #(1-(data.iloc[i,j]-data_min.min())/(data_max.max()-data_min.min()))
            # print(i,j,(1-(data.iloc[i,j]-data_min.min())/(data_max.max()-data_min.min())))
    #[d[1], d[0], d[2]] for d in data:

    #print(data[i].min())

    print(data_out)
    x_axis = list()
    y_axis = list()
    for i in range(36):
        x_axis.append(i)
        y_axis.append(i)

    bar3d = Bar3D("3D 柱状图示例", width=1200, height=600)
    '''
    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"
    ]
    
    data1 = [
        [0, 0, 5], [0, 1, 1], [0, 2, 0], [0, 3, 0], [0, 4, 0], [0, 5, 0],
        [0, 6, 0], [0, 7, 0], [0, 8, 0], [0, 9, 0], [0, 10, 0], [0, 11, 2],
        [0, 12, 4], [0, 13, 1], [0, 14, 1], [0, 15, 3], [0, 16, 4], [0, 17, 6],
        [0, 18, 4], [0, 19, 4], [0, 20, 3], [0, 21, 3], [0, 22, 2], [0, 23, 5],
        [1, 0, 7], [1, 1, 0], [1, 2, 0], [1, 3, 0], [1, 4, 0], [1, 5, 0],
with open('out.data', 'r') as file:
    lines = file.readlines()
words = lines[0].split()
user = words[1:]
date = []
data = []
for line, x in zip(lines[1:], range(len(lines[1:]))):
    words = line.split()
    date.append(words[0])
    seconds = [float(word) for word in words[1:]]
    data_line = [[x, y, int(height)]
                 for y, height in zip(range(len(seconds)), seconds)]
    data += data_line  #[date, user, time]

from pyecharts import Bar3D
bar3d = Bar3D("Job Accounting", width=1200, height=1200)
range_color = [
    '#313695', '#4575b4', '#74add1', '#abd9e9', '#e0f3f8', '#ffffbf',
    '#fee090', '#fdae61', '#f46d43', '#d73027', '#a50026'
]
bar3d.add("",
          user,
          date, [[d[1], d[0], d[2]] for d in data],
          yaxis_name='user',
          is_visualmap=True,
          visual_range=[0, 10000000],
          visual_range_color=range_color,
          grid3D_width=100,
          grid3D_depth=200)
bar3d.show_config()
bar3d.render()