Exemple #1
0
 def bar(self,
         title=None,
         attr=None,
         b1name=None,
         b2name=None,
         b1=None,
         b2=None):
     """
     柱状图
         title:数据可视化的标题(字符串)
         attr:名称列表[列表]
         b1name:图表上b1数据对应的名称
         b2name:图表上b2数据对应的名称
     :param b1: 名称attr列表对应的数据[列表]
     :param b2: 名称attr列表对应的数据[列表]
     :return: 生成一个柱状图
     """
     b1 = b1
     b2 = b2
     bar = Bar(title)
     bar.add(b1name, attr, b1, is_stack=True, is_more_utils=True)  # 显示工具
     bar.add(b2name, attr, b2, is_stack=True)
     # bar.render()
     self.page.add(bar)
     self.page.render()
Exemple #2
0
 def create_bar(self, v):
     bar = Bar(TITLE_TEXT, TITLE_SUBTEXT)
     bar.add('商家1', ATTR, v, is_more_utils=True)
     bar.add('商家2', ATTR, v, is_more_utils=True)
     snippet = TRANSLATOR.translate(bar.options)
     options = snippet.as_snippet()
     return options
Exemple #3
0
def main():
    urls = [
        "http://www.weather.com.cn/textFC/hb.shtml",
        "http://www.weather.com.cn/textFC/db.shtml",
        "http://www.weather.com.cn/textFC/hd.shtml",
        "http://www.weather.com.cn/textFC/hz.shtml",
        "http://www.weather.com.cn/textFC/hn.shtml",
        "http://www.weather.com.cn/textFC/xb.shtml",
        "http://www.weather.com.cn/textFC/xn.shtml",
        "http://www.weather.com.cn/textFC/gat.shtml"
        ]
    for url in urls:
        parse_page(url)

    # 数据分析
    # 根据最低气温进行排序
    # def sorr_key(data):
    #     min_temp = data["min_temp"]
    #     return min_temp
    ALL_DATA.sort(key=lambda data:data["min_temp"])
    data = ALL_DATA[0:10]
    cities = list(map(lambda x:x['city'],data))
    temps = list(map(lambda x:x['min_temp'],data))
    chart = Bar("中国天气最低温度排行榜")
    chart.add('',cities,temps)
    chart.render('temperature.html')
Exemple #4
0
def zhu(request):
    # // 导入柱状图 - Bar

    # // 设置行名
    columns = [
        "Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct",
        "Nov", "Dec"
    ]
    # // 设置数据
    data1 = [
        2.0, 4.9, 7.0, 23.2, 25.6, 76.7, 135.6, 162.2, 32.6, 20.0, 6.4, 3.3
    ]
    data2 = [
        2.6, 5.9, 9.0, 26.4, 28.7, 70.7, 175.6, 182.2, 48.7, 18.8, 6.0, 2.3
    ]
    # // 设置柱状图的主标题与副标题
    bar = Bar("柱状图", "一年的降水量与蒸发量")
    # // 添加柱状图的数据及配置项
    bar.add("降水量",
            columns,
            data1,
            mark_line=["average"],
            mark_point=["max", "min"])
    bar.add("蒸发量",
            columns,
            data2,
            mark_line=["average"],
            mark_point=["max", "min"])
    # // 生成本地文件(默认为.html文件)
    # bar.render()
    return render(request, bar.render)
Exemple #5
0
 def get_echarts_instance(self, *args, **kwargs):
     bar = Bar("我的第一个图表", "这里是副标题")
     bar.add("服装", ["衬衫", "羊毛衫", "雪纺衫", "裤子", "高跟鞋", "袜子"],
             [5, 20, 36, 10, 75, 90])
     abc = PurchaseStatusModel.objects.raw(
         "select ps.id, ps.quantity, subq.status, subq.created_at from (select pid, status, created_at from (select purchase_id as pid, status, created_at, row_Number()  over (Partition by purchase_id order by (case when status = 'dispatched' then 1 when status = 'delivered' then 2 end )) as rn from purchase_purchasestatusmodel) as sqb group by 1,2,3, sqb.rn having rn = max(rn)) as subq inner join purchase_purchasemodel as ps on ps.id = pid"
     )
     return bar
def group_common_in():

    # 获取所有活跃的群聊
    groups = bot.groups()

    # 每个好友与你相同的群聊个数
    dict_common_in = {}

    # 遍历所有好友,第0个为你自己,所以去掉
    for x in friends[1:]:
        # 依次在每个群聊中搜索
        for y in groups:
            # x在y中
            if (x in y):
                # 获取微信名称
                name = x.nick_name
                # 判断是否有备注,有的话就使用备注
                if (x.remark_name and x.remark_name != ''):
                    name = x.remark_name

                # 增加计数
                if (name in dict_common_in.keys()):
                    dict_common_in[name] += 1
                else:
                    dict_common_in[name] = 1

    # 从dict_common_in结果中取出前n大个数据
    n = 0

    if (len(dict_common_in) > 5):
        n = 6
    elif (len(dict_common_in) > 4):
        n = 5
    elif (len(dict_common_in) > 3):
        n = 4
    elif (len(dict_common_in) > 2):
        n = 3
    elif (len(dict_common_in) > 1):
        n = 2
    elif (len(dict_common_in) > 0):
        n = 1

    # 排序,并转化为list
    sort_list = sorted(dict_common_in.items(),
                       key=lambda item: item[1],
                       reverse=True)

    # 取出前n大的值
    sort_list = sort_list[:n]

    bar = Bar('共同所在群聊分析')
    bar.add(name='',
            x_axis=[x[0] for x in sort_list],
            y_axis=[x[1] for x in sort_list],
            legend_orient="vertical",
            legend_pos="left")
    bar.render('data/共同所在群聊分析.html')
def create_door(door):
    """
    生成柱状图
    """
    attr = [j for j in door['city'][:3]]
    v1 = [j for j in door['line'][:3]]
    bar = Bar("地铁站最爱用“门”命名的城市",
              title_pos='center',
              title_top='18',
              width=800,
              height=400)
    bar.add("", attr, v1, is_stack=True, is_label_show=True, yaxis_max=40)
    bar.render("地铁站最爱用门命名的城市.html")
def create_word(word_message):
    """
    生成柱状图
    """
    attr = [j[0] for j in word_message]
    v1 = [j[1] for j in word_message]
    bar = Bar("中国地铁站最爱用的字",
              title_pos='center',
              title_top='18',
              width=800,
              height=400)
    bar.add("", attr, v1, is_stack=True, is_label_show=True)
    bar.render("中国地铁站最爱用的字.html")
Exemple #9
0
def draw_bar(all_list):
    print("开始绘图")
    attr = ["海沧", "湖里", "集美", "思明", "翔安", "同安"]
    v0 = all_list[0]
    v1 = all_list[1]
    v2 = all_list[2]
    v3 = all_list[3]

    bar = Bar("厦门市租房租金概况")
    bar.add("最小值", attr, v0, is_stack=True)
    bar.add("最大值", attr, v1, is_stack=True)
    bar.add("平均值", attr, v2, is_stack=True)
    bar.add("中位数", attr, v3, is_stack=True)
    bar.render()
    print("结束绘图")
Exemple #10
0
def DrawBar(city_names):
	bar = Bar("城市气温柱状图")
	attrs1 = []
	attrs2 = []
	values1 = []
	values2 = []
	for cn in city_names:
		data = qr.get_data(cn)
		attrs1.append(cn)
		attrs2.append(cn)
		values1.append(data['Htemperature'])
		values2.append(data['Ltemperature'])
	bar.add("最高气温", attrs1, values1, mark_point=["average"])
	bar.add("最低气温", attrs2, values2, mark_point=["min", "max"])
	bar.render('weatherBar.html')
Exemple #11
0
    def create_pie(self, v=None):
        from pyecharts import options as opts
        from pyecharts.charts import Bar
        print('create_pie')
        bar = Bar("test", 'TITLE_SUBTEXT')
        bar.add('商家1', ["衬衫", "羊毛衫", "雪纺衫", "裤子", "高跟鞋", "袜子"],
                ['12', '50', '20', '25', '10'],
                is_more_utils=True)
        bar.add('商家2', ["衬衫", "羊毛衫", "雪纺衫", "裤子", "高跟鞋", "袜子"],
                ['12', '50', '20', '25', '10'],
                is_more_utils=True)
        snippet = TRANSLATOR.translate(bar.options)
        options = snippet.as_snippet()

        return options
def get_html():
    def label_formatter(params):
        return params.data + '分'

    v1 = []  #学号
    attr = []  #总消费
    bar = Bar('testBar_color', 'Theme', page_title='人均消费排名')
    # 注意 label_color的属性值为 list(列表)
    bar.add("test_X",
            attr,
            v1,
            is_label_show=True,
            label_color=['#5AB5FF'],
            label_text_color='#3367FF',
            label_formatter=label_formatter)
    bar.render()
Exemple #13
0
def vtradevolume(cftable, freq='D', bar_category_gap='35%', **vkwds):
    '''
    aid function on visualization of trade summary

    :param cftable: cftable (pandas.DataFrame) with at least date and cash columns
    :param freq: one character string, frequency label, now supporting D for date,
        W for week and M for month, namely the trade volume is shown based on the time unit
    :param vkwds: keyword argument for pyecharts Bar.add()
    :returns: the Bar object
    '''
    if freq == 'D':
        selldata = [[row['date'], row['cash']]
                    for _, row in cftable.iterrows() if row['cash'] > 0]
        buydata = [[row['date'], row['cash']] for _, row in cftable.iterrows()
                   if row['cash'] < 0]
    elif freq == 'W':
        cfmerge = cftable.groupby(
            [cftable['date'].dt.year, cftable['date'].dt.week])['cash'].sum()
        selldata = [[dt.datetime.strptime(str(a) + '4', '(%Y, %W)%w'), b] \
                    for a, b in cfmerge.iteritems() if b > 0]
        buydata = [[dt.datetime.strptime(str(a) + '4', '(%Y, %W)%w'), b] \
                   for a, b in cfmerge.iteritems() if b < 0]
    elif freq == 'M':
        cfmerge = cftable.groupby(
            [cftable['date'].dt.year, cftable['date'].dt.month])['cash'].sum()
        selldata = [[dt.datetime.strptime(str(a) + '15', '(%Y, %m)%d'), b] \
                    for a, b in cfmerge.iteritems() if b > 0]
        buydata = [[dt.datetime.strptime(str(a) + '15', '(%Y, %m)%d'), b] \
                   for a, b in cfmerge.iteritems() if b < 0]
    else:
        raise Exception('no such freq tag supporting')

    bar = Bar()
    bar.add('买入', [0 for _ in range(len(buydata))],
            buydata,
            xaxis_type='time',
            bar_category_gap=bar_category_gap)
    bar.add('卖出', [0 for _ in range(len(selldata))],
            selldata,
            xaxis_type='time',
            is_datazoom_show=True,
            bar_category_gap=bar_category_gap,
            **vkwds)
    bar
    return bar
def create_line(df):
    """
    生成城市地铁线路数量分布情况
    """
    title_len = df['line']
    bins = [0, 5, 10, 15, 20, 25]
    level = ['0-5', '5-10', '10-15', '15-20', '20以上']
    len_stage = pd.cut(title_len, bins=bins,
                       labels=level).value_counts().sort_index()
    # 生成柱状图
    attr = len_stage.index
    v1 = len_stage.values
    bar = Bar("各城市地铁线路数量分布",
              title_pos='center',
              title_top='18',
              width=800,
              height=400)
    bar.add("", attr, v1, is_stack=True, is_label_show=True)
    bar.render("各城市地铁线路数量分布.html")
Exemple #15
0
def create_year_bar():
    bar = Bar("专利年份分布", width=1200, height=600)

    year_dicts = {}
    for date in Patents.select(Patents.request_date).dicts():
        if date.get('request_date', '') != '':
            date_time = datetime.strptime(date.get('request_date', ''),
                                          '%Y.%m.%d')
            year_patents = year_dicts.get(date_time.year, 0)
            year_patents += 1
            year_dicts.__setitem__(date_time.year, year_patents)
    year_list = []
    count_list = []
    for year, counts in year_dicts.items():
        year_list.append(year)

    year_list.sort()
    for year in year_list:
        count_list.append(year_dicts.get(year))

    bar.add('申请', year_list, count_list)

    year_dicts = {}
    for date in Patents.select(Patents.publish_date).dicts():
        if date.get('publish_date', '') != '':
            date_time = datetime.strptime(date.get('publish_date', ''),
                                          '%Y.%m.%d')
            year_patents = year_dicts.get(date_time.year, 0)
            year_patents += 1
            year_dicts.__setitem__(date_time.year, year_patents)
    year_list = []
    count_list = []
    for year, counts in year_dicts.items():
        year_list.append(year)

    year_list.sort()
    for year in year_list:
        count_list.append(year_dicts.get(year))

    bar.add('公告', year_list, count_list)
    return bar
def analyze_special_friends():

    # 星标好友(很重要的人), 不让他看我的朋友圈的好友, 不看他朋友圈的好友, 消息置顶好友, 陌生人
    star_friends, hide_my_post_friends, hide_his_post_friends, sticky_on_top_friends, stranger_friends = 0, 0, 0, 0, 0

    for user in friends:

        # 星标好友为1,为0表示非星标,不存在星标选项的为陌生人
        if ('StarFriend' in (user.raw).keys()):
            if ((user.raw)['StarFriend'] == 1):
                star_friends += 1
        else:
            stranger_friends += 1

        # 好友类型及权限:1和3好友,259和33027不让他看我的朋友圈,65539和65537和66051不看他的朋友圈,65795两项设置全禁止, 73731陌生人
        if ((user.raw)['ContactFlag'] in [259, 33027, 65795]):
            hide_my_post_friends += 1
        if ((user.raw)['ContactFlag'] in [66051, 65537, 65539, 65795]):
            hide_his_post_friends += 1

        # 消息置顶好友为2051
        if ((user.raw)['ContactFlag'] in [2051]):
            sticky_on_top_friends += 1

        # 陌生人
        if ((user.raw)['ContactFlag'] in [73731]):
            stranger_friends += 1

    bar = Bar('特殊好友分析')
    bar.add(name='',
            x_axis=['星标', '不让他看我朋友圈', '不看他朋友圈', '消息置顶', '陌生人'],
            y_axis=[
                star_friends, hide_my_post_friends, hide_his_post_friends,
                sticky_on_top_friends, stranger_friends
            ],
            legend_orient="vertical",
            legend_pos="left")
    bar.render('data/特殊好友分析.html')
Exemple #17
0
    def kline_plot(self, ktype=0):
        df = self.cal_hadata()
        #画K线图数据
        date = df.index.strftime('%Y%m%d').tolist()
        if ktype == 0:
            k_value = df[['adjopen', 'adjclose', 'adjlow', 'adjhigh']].values
        else:
            k_value = df[['ha_open', 'ha_close', 'ha_low', 'ha_high']].values
        #引入pyecharts画图使用的是0.5.11版本,新版命令需要重写

        kline = Kline(self.name + '行情走势')
        kline.add('日K线图',
                  date,
                  k_value,
                  is_datazoom_show=True,
                  is_splitline_show=False)
        #加入5、20日均线
        df['ma20'] = df.adjclose.rolling(20).mean()
        df['ma5'] = df.adjclose.rolling(5).mean()
        line = Line()
        v0 = df['ma5'].round(2).tolist()
        v = df['ma20'].round(2).tolist()
        line.add('5日均线', date, v0, is_symbol_show=False, line_width=2)
        line.add('20日均线', date, v, is_symbol_show=False, line_width=2)
        #成交量
        bar = Bar()
        bar.add('成交量',
                date,
                df['vol'],
                tooltip_tragger='axis',
                is_legend_show=False,
                is_yaxis_show=False,
                yaxis_max=5 * max(df['vol']))
        overlap = Overlap()
        overlap.add(kline)
        overlap.add(line, )
        overlap.add(bar, yaxis_index=1, is_add_yaxis=True)
        return overlap
def main():
    urls = {
        "http://www.weather.com.cn/textFC/hb.shtml",
        "http://www.weather.com.cn/textFC/db.shtml",
        "http://www.weather.com.cn/textFC/hz.shtml",
        "http://www.weather.com.cn/textFC/hn.shtml",
        "http://www.weather.com.cn/textFC/xb.shtml",
        "http://www.weather.com.cn/textFC/xn.shtml",
        "http://www.weather.com.cn/textFC/gat.shtml"
    }
    for url in urls:
        parse_page(url)

    # 分析数据
    # 根据最低气温排序
    ALL_DATA.sort(key=lambda data: data['min_temp'])
    data = ALL_DATA[0:20]
    cities = list(map(lambda x: x['city'], data))
    temps = list(map(lambda x: x['min_temp'], data))

    chart = Bar("中国天气最低气温排行榜")
    chart.add('', cities, temps)
    chart.render("temperature.html")
Exemple #19
0
def main():
    urls = [
        'http://www.weather.com.cn/textFC/hb.shtml'
        # 'http://www.weather.com.cn/textFC/hn.shtml',
        # 'http://www.weather.com.cn/textFC/hz.shtml',
        # 'http://www.weather.com.cn/textFC/hb.shtml',
        # 'http://www.weather.com.cn/textFC/xb.shtml',
        # 'http://www.weather.com.cn/textFC/gat.shtml',
    ]
    for url in urls:
        parse_page(url)
    ALL_DATA.sort(key=lambda data: data['temp_low'])

    cities = []
    for city_temp in ALL_DATA:
        city = city_temp['city']
        cities.append(city)
    cities = list(map(lambda x: x['city'], ALL_DATA))
    temp = list(map(lambda x: x['temp_low'], ALL_DATA))
    print(cities)
    print(temp)
    chart = Bar("天气")
    chart.add('城市', cities, temp)
    chart.render('test.html')
def region_distribution():

    # 使用一个字典统计好友地区分布数量
    province_dict = {
        '北京': 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
    }

    # 遍历
    for user in friends:
        # 判断省份是否存在,有可能是外国的,这种情况不考虑
        if (user.province in province_dict):
            key = user.province
            province_dict[key] += 1

    province = list(province_dict.keys())
    values = list(province_dict.values())

    # maptype='china' 只显示全国直辖市和省级,数据只能是省名和直辖市的名称
    map = Map("微信好友地区分布")
    map.add("",
            province,
            values,
            visual_range=[0, 50],
            maptype='china',
            is_visualmap=True,
            visual_text_color='#000')
    map.render(path="data/好友地区分布.html")

    # 对好友数最多的省份进行一进步分析
    max_count_province = ''
    for key, value in province_dict.items():
        if (value == max(province_dict.values())):
            max_count_province = key
            break

    # 使用一个字典统计好友地区分布数量
    city_dict = {}
    # 遍历
    for user in friends:
        if (user.province == max_count_province):
            # 更新键值对
            if (user.city in city_dict.keys()):
                city_dict[user.city] += 1
            else:
                city_dict[user.city] = 1

    bar = Bar(max_count_province + '中,好友地区分布')
    bar.add(name='地区分布',
            x_axis=[x for x in city_dict.keys()],
            y_axis=[x for x in city_dict.values()])
    bar.render('data/某省好友地区分布.html')
    def createCharts(self):
        """生成图表"""

        # 读取数据,格式:[{"北京", 10}, {"上海",10}]
        data = self.readCityNum()

        # 1 热点图

        geo1 = Geo("观众位置分布热点图",
                   "数据来源:猫眼,Fly采集",
                   page_title="#FFF",
                   title_pos="center",
                   width="100%",
                   height=600,
                   bg_color="#404A59")

        attr1, value1 = geo1.cast(data)

        geo1.add("",
                 attr1,
                 value1,
                 type="heatmap",
                 visual_range=[0, 1000],
                 visual_text_color="#FFF",
                 symbol_size=15,
                 is_visualmap=True,
                 is_piecewise=False,
                 visual_split_number=10)
        geo1.render("files/观众位置热点图.html")

        # 2 位置图
        geo2 = Geo("观众位置分布",
                   "数据来源:猫眼,Fly采集",
                   title_color="#FFF",
                   title_pos="center",
                   width="100%",
                   height=600,
                   background_color="#404A59")

        attr2, value2 = geo1.cast(data)
        geo2.add("",
                 attr2,
                 value2,
                 visual_range=[0, 1000],
                 visual_text_color="#FFF",
                 symbol_size=15,
                 is_visualmap=True,
                 is_piecewise=False,
                 visual_split_number=10)
        geo2.render("files/无名之辈-观众位置图.html")

        # 3、top20 柱状图
        data_top20 = data[:20]
        bar = Bar("《无名之辈》观众来源排行 TOP20",
                  "数据来源:猫眼,Fly采集",
                  title_pos="center",
                  width="100%",
                  height=600)
        attr, value = bar.cast(data_top20)
        bar.add('',
                attr,
                value,
                is_visualmap=True,
                visual_range=[0, 3500],
                visual_text_color="#FFF",
                is_more_utils=True,
                is_label_show=True)
        bar.render("files/无名之辈-观众来源top20.html")

        print("图表生成完成")
Exemple #22
0
zufang = db.get_collection('zufang_sh')  # 连接到集合zufang
mon_data = zufang.find()  # 查询这个集合下的所有记录
lianjia_df = pd.DataFrame(list(mon_data))

zone_price = pd.merge(
    data.groupby(['所在区'])['单价(元/平米)'].mean().round(0).sort_values(
        ascending=False).to_frame().reset_index(),
    data.groupby(['所在区'])['总价(万元)'].mean().round(0).to_frame().reset_index(),
    on=['所在区'])
bar = Bar("北京各区二手房价格")
bar.add(
    "单价(元/平米)",
    zone_price['所在区'],
    zone_price['单价(元/平米)'],
    is_label_show=True,
    label_pos='inside',
    label_text_color='#000',
    is_toolbox_show=False,
)
line = Line()
line.add(
    "总价(万元)",
    zone_price['所在区'],
    zone_price['总价(万元)'],
    is_label_show=True,
    is_toolbox_show=False,
)

overlap = Overlap(height=400, width=900)
overlap.add(bar)
Exemple #23
0
def tiaoxing(names, prices):
    bar = Bar("笔记本电脑价格图", "X-电脑名,Y-价格")
    bar.add("笔记本电脑", names, prices)
    bar.show_config()
    bar.render("D:\\scrapy\\jingdong\\prices.html")
    df = df[df.price > 0]
    # # 去除重复行
    # df = df.drop_duplicates()
    print("row number is {0}".format(len(df.index)))

    ####################################################
    # 最贵的小区排名
    ####################################################
    df.sort_values("price", ascending=False, inplace=True)
    num = 5
    print(df.head(num))
    city = df["city_ch"][0]
    xqs = df["xiaoqu"][0:num]
    prices = df["price"][0:num]
    bar = Bar("{0}小区均价".format(city))
    bar.add("小区均价前{0}名".format(num), xqs, prices, is_stack=True, is_label_show=True, xaxis_interval=0, xaxis_rotate=45)
    bar.render(path="xiaoqu.html")

    ####################################################
    # 区县均价排名
    ####################################################
    district_df = df.groupby('district').mean()
    district_df = district_df.round(0)
    district_df.sort_values("price", ascending=False, inplace=True)
    print(district_df)
    districts = district_df.index.tolist()
    prices = district_df["price"]
    bar = Bar("{0}区县均价".format(city))
    bar.add("区县均价排名", districts, prices, is_stack=True, is_label_show=True, xaxis_interval=0, xaxis_rotate=45)
    bar.render(path="district.html")
import numpy
import pyecharts
from pyecharts.charts import Bar
from pyecharts_snapshot.main import make_a_snapshot  #for creating output in forms of PNG and PDF
attr = ["V40", "V60", "V90", "S90", "S60", "XC40", "XC60", "XC90", "Polestar1"]
v1 = [500, 200, 360, 1000, 750, 300, 600, 900, 100]
v2 = [300, 400, 160, 400, 1250, 100, 1000, 1800, 200]
bar = Bar({"width": "900px"})
bar.add("Dealer A", attr, v1, is_stack=True)
bar.add("Dealer B", attr, v2, is_stack=True)
bar.render()  # output html file in default file path where python lives in
make_a_snapshot('render.html', 'snapshot.png')  # output png
make_a_snapshot('render.html', 'snapshot.pdf')  # output PDF
Exemple #26
0
from pyecharts.charts import Bar, Pie, Scatter, Gauge, HeatMap, Funnel, WordCloud, Line, Grid, Map, Liquid
import random
import os, sys

os.chdir(sys.path[0])  # 改变目录

author = 'damao'
"""柱状图"""
skill = ['Q', 'W', 'E', 'R']
var1 = [110, 60, 5, 200]
var2 = [90, 100, 300, 500]
bar = Bar("英雄联盟", "League of Legends")
bar.add("无极剑圣", skill, var1, s_more_utils=True)
bar.add("诡术妖姬", skill, var2, is_more_utils=True)
bar.show_config()
bar.render(r".\my_first_Bar.html")
"""饼图"""
attr = ["衬衫", "羊毛衫", "雪纺衫", "裤子", "高跟鞋", "鞋子"]
v1 = [11, 12, 13, 10, 10, 10]
pie = Pie("各产品销售情况")
pie.add("", attr, v1, is_label_show=True)
pie.render(r".\my_first_Pie.html")
"""环形图"""
attr = ["衬衫", "羊毛衫", "雪纺衫", "裤子", "高跟鞋", "鞋子"]
v1 = [11, 12, 13, 10, 10, 10]
pie = Pie("饼图—圆环图示例", title_pos="center")
pie.add("",
        attr,
        v1,
        radius=[40, 75],
        label_text_color=None,
Exemple #27
0
#导入柱状图-Bar
from pyecharts.charts import Bar
#设置行名
columns = [
    "Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct",
    "Nov", "Dec"
]
#设置数据
data1 = [2.0, 4.9, 7.0, 23.2, 25.6, 76.7, 135.6, 162.2, 32.6, 20.0, 6.4, 3.3]
data2 = [2.6, 5.9, 9.0, 26.4, 28.7, 70.7, 175.6, 182.2, 48.7, 18.8, 6.0, 2.3]
#设置柱状图的主标题与副标题
bar = Bar("柱状图", "一年的降水量与蒸发量")
#添加柱状图的数据及配置项
bar.add("降水量",
        columns,
        data1,
        mark_line=["average"],
        mark_point=["max", "min"])
bar.add("蒸发量",
        columns,
        data2,
        mark_line=["average"],
        mark_point=["max", "min"])
#生成本地文件(默认为.html文件)
bar.render()
Exemple #28
0
# print(random.randrange(1,4))
# print(random.randint(1,3))
# print(random.uniform(1,2))
# print(random.sample(a,3))
# random.shuffle(a)
# print(a)

# print(time.time())
# print(time.localtime())
# print(time.localtime(time.time()))

# coding:utf-8
#导入读取Excel的库
import xlrd
#导入需要读取Excel表格的路径
data = xlrd.open_workbook(r'E:\test.xlsx')
table = data.sheets()[0]
y = ''
#将列的值存入字符串
y = table.col_values(2)  #读取列的值
#导入pyechats库
# from pyecharts import Bar
from pyecharts.charts import Bar
import numpy as np
t = np.linspace(1, 296, len(y))  #等间隔取值
bar = Bar("文章阅读量展示")  #主副标题
bar.add("博客文章阅读量折线图展示", t, y, is_more_utils=True)  #标题
bar.show_config()  #展示HTML源代码
bar.render(
    r"C:/Users/ASUS/Desktop/txt1/bokezhexiantu.html")  #保存到本地bokezhexiantu.html
Exemple #29
0
# 多图表page
import pyecharts.options as opts
from pyecharts.charts import Bar

# 多page
from pyecharts.charts import Page,Bar,Funnel 

page=Page() 
bar=Bar("商品销量","各季度的商品销量") 
bar.add("2018Q3",["轴承","弹簧","齿轮","导轨","丝杠"],[25,23,17,14,17]) 
bar.add("2018Q4",["轴承","弹簧","齿轮","导轨","丝杠"],[23,21,19,19,13]) 
page.add_chart(bar,name="bar") 
funnel=Funnel("订单转化效率","今日用户的订单转化效率") 
funnel.add("",["访问","搜索","点击","加购","订单"],[100.00,78.12,35.74,17.17,2.62]) 
page.add_chart(funnel,name="funnel") 
page.render("page.html")