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()
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
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')
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)
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")
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("结束绘图")
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')
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()
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")
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')
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")
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("图表生成完成")
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)
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
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,
#导入柱状图-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()
# 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
# 多图表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")