def create_three(): page = Page(page_title=TEST_PAGE_TITLE) # bar attr = ["衬衫", "羊毛衫", "雪纺衫", "裤子", "高跟鞋", "袜子"] v1 = [5, 20, 36, 10, 75, 90] v2 = [10, 25, 8, 60, 20, 80] bar = Bar("柱状图数据堆叠示例") bar.add("商家A", attr, v1, is_stack=True) bar.add("商家B", attr, v2, is_stack=True) page.add(bar) # scatter3D import random data = [ [random.randint(0, 100), random.randint(0, 100), random.randint(0, 100)] for _ in range(80) ] scatter3d = Scatter3D("3D 散点图示例", width=1200, height=600) scatter3d.add("", data, is_visualmap=True, visual_range_color=RANGE_COLOR) page.add(scatter3d) # guangdong value = [20, 190, 253, 77, 65] attr = ['汕头市', '汕尾市', '揭阳市', '阳江市', '肇庆市'] map = Map("广东地图示例", width=1200, height=600) map.add("", attr, value, maptype='广东', is_visualmap=True, visual_text_color='#000') page.add(map) return page
def cararea(): value = [20, 190, 253, 77, 65] attr = ['福州市', '厦门市', '南平市', '泉州市', '三明市'] map = Map("车辆区域分布统计", width='100%', height=700) map.add("", attr, value, maptype='福建', is_visualmap=True, visual_text_color='#000') return render_template('cararea.html', m=map)
def create_map(): province_list = [ '北京', '天津', '上海', '重庆', '河北', '河南', '云南', '辽宁', '黑龙江', '湖南', '安徽', '山东', '新疆', '江苏', '浙江', '江西', '湖北', '广西', '甘肃', '山西', '内蒙古', '陕西', '吉林', '福建', '贵州', '广东', '青海', '西藏', '四川', '宁夏', '海南', '台湾', '香港', '澳门' ] value_list = [] max_value = 0 for i, province in enumerate(province_list): province_counts = Patents.select().where( Patents.proposer_address**('%' + province + '%')).count() if max_value < province_counts: max_value = province_counts value_list.append(province_counts) map = Map("专利省份分布地图", width=1200, height=600) map.add('', province_list, value_list, maptype='china', is_visualmap=True, is_label_show=True, visual_text_color='#000', visual_range=[0, max_value]) return map
def create_charts(): users = get_friends() page = Page() style = Style(width=1100, height=600) style_middle = Style(width=900, height=500) data = sex_stats(users) attr, value = data chart = Pie('微信性别') # title_pos='center' chart.add('', attr, value, center=[50, 50], radius=[30, 70], is_label_show=True, legend_orient='horizontal', legend_pos='center', legend_top='bottom', is_area_show=True) page.add(chart) data = prov_stats(users) attr, value = data chart = Map('中国地图', **style.init_style) chart.add('', attr, value, is_label_show=True, is_visualmap=True, visual_text_color='#000') page.add(chart) chart = Bar('柱状图', **style_middle.init_style) chart.add('', attr, value, is_stack=True, is_convert=True, label_pos='inside', is_legend_show=True, is_label_show=True) page.add(chart) data = gd_stats(users) attr, value = data chart = Map('河南', **style.init_style) chart.add('', attr, value, maptype='河南', is_label_show=True, is_visualmap=True, visual_text_color='#000') page.add(chart) chart = Bar('柱状图', **style_middle.init_style) chart.add('', attr, value, is_stack=True, is_convert=True, label_pos='inside', is_label_show=True) page.add(chart) page.render()
def fujian(): value = [20, 190, 253, 77, 65] attr = ['福州市', '厦门市', '南平市', '泉州市', '三明市'] map = Map("福建地图示例", width='100%', height=600) map.add("", attr, value, maptype='福建',is_label_show=True, is_visualmap=True, visual_text_color='#000') return render_template('fujian_map.html', m=map)
def mytest1(): value = [120, 120, 120, 120, 120] attr = ['福州市', '厦门市', '南平市', '泉州市', '三明市'] map = Map("福建地图示例", width='100%', height=900) map.add("", attr, value, maptype='福建', is_visualmap=True, visual_text_color='#000') return render_template('mytest1.html', m=map)
def test_world_map(): value = [95.1, 23.2, 43.3, 66.4, 88.5, 0.1] attr = [ "China", "Canada", "Brazil", "Russia", "United States", "Unknown Country", ] map = Map("世界地图示例", width=1200, height=600) map.add( "", attr, value, maptype="world", is_visualmap=True, visual_text_color="#000", ) map.render() actual_content = get_default_rendering_file_content() # test register map assert 'registerMap("world",' in actual_content # test non-existent country assert "Russia" in actual_content assert "Unknown Country', " not in actual_content
def create_three(): page = Page() # bar attr = ["衬衫", "羊毛衫", "雪纺衫", "裤子", "高跟鞋", "袜子"] v1 = [5, 20, 36, 10, 75, 90] v2 = [10, 25, 8, 60, 20, 80] bar = Bar("柱状图数据堆叠示例") bar.add("商家A", attr, v1, is_stack=True) bar.add("商家B", attr, v2, is_stack=True) page.add(bar) # scatter3D import random data = [ [random.randint(0, 100), random.randint(0, 100), random.randint(0, 100)] for _ in range(80) ] range_color = ['#313695', '#4575b4', '#74add1', '#abd9e9', '#e0f3f8', '#ffffbf', '#fee090', '#fdae61', '#f46d43', '#d73027', '#a50026'] scatter3d = Scatter3D("3D 散点图示例", width=1200, height=600) scatter3d.add("", data, is_visualmap=True, visual_range_color=range_color) page.add(scatter3d) # guangdong value = [20, 190, 253, 77, 65] attr = ['汕头市', '汕尾市', '揭阳市', '阳江市', '肇庆市'] map = Map("广东地图示例", width=1200, height=600) map.add("", attr, value, maptype='广东', is_visualmap=True, visual_text_color='#000') page.add(map) return page
def create_uk_map(): map = Map('UK', width=800, height=600) map.add('', [], [], maptype='UK_electoral_2016', is_visualmap=True, visual_text_color="#000") return map
def gen_zwyx_dd(zwlb): qs = ZpZwByAreaModel.objects if zwlb: qs = qs.filter(zwlb=zwlb) path = f'zwyx_dd/{zwlb}.html' else: path = 'zwyx_dd.html' page = Page() df = read_frame(qs.all()) if len(df) > 0: df_group = df.groupby(['year', 'month']) time_line_chart1 = Timeline(width=1500, height=450, is_auto_play=False, timeline_bottom=0) time_line_chart2 = Timeline(width=1500, height=450, is_auto_play=False, timeline_bottom=0) for name, group in df_group: # 地图 平均薪资 month = group['month'].tolist()[0] year = group['year'].tolist()[0] df_new = group.groupby('province').apply( get_echarts_all_by_zwyx_value, 'province') data = [ (a, (b + c) / 2) for a, b, c in zip(df_new['province'].tolist( ), df_new['max_zwyx'].tolist(), df_new['min_zwyx'].tolist()) ] chart = Map(f'{zwlb}平均职位月薪与地点', width=1500, height=450) attr, value = chart.cast(data) chart.add(f'平均薪资', attr, value, wmaptype='china', is_label_show=True, is_visualmap=True, visual_range=[int(min(value)), int(max(value))], visual_pos='right', visual_top='top') time_line_chart1.add(chart, f'{year}年{month}月') # 本月职位量Top20 chart3 = Pie(f'{zwlb}职位量及招聘人数', width=1500) chart3.add('职位量', df_new['province'].tolist(), df_new['count'].tolist(), center=[25, 50], is_label_show=True) chart3.add('招聘人数', df_new['province'].tolist(), df_new['zprs'].tolist(), center=[75, 50], is_label_show=True) time_line_chart2.add(chart3, f'{year}年{month}月') page.add(time_line_chart1) page.add(time_line_chart2) page.render(os.path.join(BASE_DIR, 'templates/{}'.format(path)))
def analysisCity(province): friends_info = get_friends_info() df = pd.DataFrame(friends_info) temp1 = df.query('province == "%s"' % province) city_count = temp1.groupby('city', as_index=True)['city'].count().sort_values() attr = list( map(lambda x: '%s市' % x if x != '' else '未知', list(city_count.index))) value = list(city_count) # 画图 page = Page() style = Style(width=1100, height=600) style_middle = Style(width=900, height=500) chart1 = Map('%s好友分布' % province, **style.init_style) chart1.add('', attr, value, maptype='%s' % province, is_label_show=True, is_visualmap=True, visual_text_color='#000') page.add(chart1) chart2 = Bar('%s好友分布柱状图' % province, **style_middle.init_style) chart2.add('', attr, value, is_stack=True, is_convert=True, label_pos='inside', is_label_show=True) page.add(chart2) page.render('analysisCity.html')
def analysisProvince(): friends_info = get_friends_info() df = pd.DataFrame(friends_info) province_count = df.groupby( 'province', as_index=True)['province'].count().sort_values() temp = list( map(lambda x: x if x != '' else '未知', list(province_count.index))) # 画图 page = Page() style = Style(width=1100, height=600) style_middle = Style(width=900, height=500) attr, value = temp, list(province_count) chart1 = Map('好友分布(中国地图)', **style.init_style) chart1.add('', attr, value, is_label_show=True, is_visualmap=True, visual_text_color='#000') page.add(chart1) chart2 = Bar('好友分布柱状图', **style_middle.init_style) chart2.add('', attr, value, is_stack=True, is_convert=True, label_pos='inside', is_legend_show=True, is_label_show=True) page.add(chart2) page.render('analysisProvince.html')
def test_map_show_label(): # show label value = [155, 10, 66, 78] attr = ["福建", "山东", "北京", "上海"] map = Map("全国地图示例", width=1200, height=600) map.add("", attr, value, maptype='china', is_label_show=True) map.render()
def province_chart(friends): '绘制地区分布图' province = [i['Province'] for i in friends] attr, value = x(province) map = Map("好友地理位置分布", width=1200, height=600) map.add("", attr, value, is_visualmap=True, visual_text_color='#000') return map
def create_simple_map(): value = [155, 10, 66, 78] attr = ["福建", "山东", "北京", "上海"] map1 = Map("全国地图示例", width=1200, height=600) map1.add("", attr, value, maptype='china') map1.renderer = 'svg' return map1
def create_three(): page = Page(page_title=TEST_PAGE_TITLE) # bar v1 = [5, 20, 36, 10, 75, 90] v2 = [10, 25, 8, 60, 20, 80] bar = Bar("柱状图数据堆叠示例") bar.add("商家A", CLOTHES, v1, is_stack=True) bar.add("商家B", CLOTHES, v2, is_stack=True) page.add(bar) # scatter3D import random data = [ [random.randint(0, 100), random.randint(0, 100), random.randint(0, 100)] for _ in range(80) ] scatter3d = Scatter3D("3D 散点图示例", width=1200, height=600) scatter3d.add("", data, is_visualmap=True, visual_range_color=RANGE_COLOR) page.add(scatter3d) # guangdong value = [20, 190, 253, 77, 65] attr = ['汕头市', '汕尾市', '揭阳市', '阳江市', '肇庆市'] map = Map("广东地图示例", width=1200, height=600) map.add("", attr, value, maptype='广东', is_visualmap=True, visual_text_color='#000') page.add(map) return page
def cararea2(): value = getCarAreaValues() attr = getCarAreaAttrs() map = Map("车辆区域分布统计", width='100%', height=600) map.add("", attr, value, maptype='china', is_visualmap=True, is_label_show=True, visual_text_color='#000', is_piecewise=True, pieces=[ {"max": 1000000, "min": 20001, "label": "2万-100万值"}, {"max": 20000, "min": 10001, "label": "10001-20000值"}, {"max": 10000, "min": 8001, "label": "8001-10000值"}, {"max": 8000, "min": 7001, "label": "7001-8000值"}, {"max": 7000, "min": 6001, "label": "6001-7000值"}, {"max": 6000, "min": 5001, "label": "5001-6000值"}, {"max": 5000, "min": 4001, "label": "4001-5000值"}, {"max": 4000, "min": 3001, "label": "3001-4000值"}, {"max": 3000, "min": 2001, "label": "2001-3000值"}, {"max": 2000, "min": 1001, "label": "1001-2000值"}, {"max": 1000, "min": 501, "label": "501-1000值"}, {"max": 500, "min": 101, "label": "101-500值"}, {"max": 100, "min": 11, "label": "11-100值"}, {"max": 10, "min": 0, "label": "0-10值"}, ] ) return render_template('cararea.html', m=map)
def test_map_visualmap_pieces(): value = [155, 10, 66, 78] attr = ["福建", "山东", "北京", "上海"] map = Map("全国地图示例", width=1200, height=600) map.add("", attr, value, maptype='china', is_visualmap=True, is_piecewise=True, visual_text_color="#000", visual_range_text=["", ""], pieces=[ { "max": 160, "min": 70, "label": "高数值" }, { "max": 69, "min": 0, "label": "低数值" }, ]) content = map._repr_html_() assert '"max": 160' in content assert '"min": 0' in content
def test_city_map(): value = [1] attr = ["渝水区"] map = Map("新余地图示例", width=1200, height=600) map.add("", attr, value, maptype='新余', is_visualmap=True, visual_text_color='#000') # To avoid potential pinyin crash, all cities have a province prefix assert "jiang1_xi1_xin1_yu2" in map._repr_html_()
def test_map_combine_with_visualmap(): value = [155, 10, 66, 78, 33, 80, 190, 53, 49.6] attr = ["福建", "山东", "北京", "上海", "甘肃", "新疆", "河南", "广西", "西藏"] map = Map("Map 结合 VisualMap 示例", width=1200, height=600) map.add("", attr, value, maptype='china', is_visualmap=True, visual_text_color='#000') map.render()
def map_demo1(): from pyecharts import Map districts = ['常平', '大朗','寮步', '厚街'] areas = [10, 20, 3, 11] map_1 = Map("东莞市图例-各区面积", width=1200, height=600) map_1.add("", districts, areas, maptype='东莞', is_visualmap=True, visual_range=[min(areas), max(areas)], visual_text_color='#000', is_map_symbol_show=False, is_label_show=True) map_1.render('map.html')
def get_map(item_name,item_name_list,item_num_list): subtitle = "微信公众号:大数据前沿" _map = Map(item_name,width=1300,height= 800,title_pos='center',title_text_size=30,\ subtitle = subtitle,subtitle_text_size = 25) _map.add("", item_name_list, item_num_list, maptype='china', is_visualmap=True, visual_text_color='#000') out_file_name = './analyse/'+item_name+'.html' _map.render(out_file_name)
def cararea(): value = getCarAreaValues() attr = getCarAreaAttrs() map = Map("车辆区域分布统计", width='100%', height=600) map.add("", attr, value, maptype='china', is_visualmap=True, is_label_show=True, visual_text_color='#000', visual_range=[0, 10000] ) return render_template('cararea.html', m=map)
def drawMap(name,rank): map = Map(title='微信好友区域分布图', width=1200, height=600, title_pos='center') map.add( '',name,rank, maptype = 'china', # 地图范围 is_visualmap = True, # 是否开启鼠标缩放漫游等 is_label_show = True # 是否显示地图标记 ) return map
def test_city_map(): map = Map("海淀示例", width=1200, height=600) map.add("", [], [], maptype='海淀区', visual_text_color='#000') # To avoid potential pinyin crash, all cities have a province prefix html = map._repr_html_() assert "zhi2xia2_bei3jing1_hai3dian4" in html print(html) assert "nbextensions/echarts-china-counties-js" in html
def generate_map(): data = get_city_data('friend.json') map = Map( "微信好友", "热力图", title_color="#fff", title_pos="center", width=600, height=500, background_color="#404a59", ) # geo.use_theme('dark') attr, value = map.cast(data) map.add( "", attr, value, maptype="china", visual_range=[0, 200], visual_text_color="#fff", symbol_size=15, is_visualmap=True, # is_label_show=True ) map.render('map.html') map.render(path='map.png')
def analysis(friends): friends_info = get_friends_info(friends) # 性别图 sex_list = friends_info['sex'] from collections import Counter sex_dict = dict(Counter(sex_list)) attr = ['未知', '男性', '女性'] value = [sex_dict[0], sex_dict[1], sex_dict[2]] page = Page() chart1 = Pie("微信好友性别比例图", title_pos='center') chart1.add("", attr, value, is_label_show=True, legend_orient="vertical", legend_pos="left") page.add(chart1) # 省份图 province_list = friends_info['province'] print(province_list) province_dict = count_nums(province_list) attr, value = list(province_dict.keys()), list(province_dict.values()) chart2 = Map('好友省级分布(中国地图)', width=1200, height=600) chart2.add('', attr, value, maptype='china', is_label_show=True, is_visualmap=True, visual_text_color='#000') page.add(chart2) # 中国城市分析图 city_list = friends_info['city'] city_dict = count_nums(city_list) print('city------------') print(city_dict) top_ten_city = dict( sorted(city_dict.items(), key=lambda x: x[1], reverse=True)[0:10]) print('---------------') print(top_ten_city) print('---------------') attr, value = list(top_ten_city.keys()), list(top_ten_city.values()) chart3 = Bar('好友城市分布Top10柱状图', width=900, height=500) chart3.add('', attr, value, is_stack=False, is_label_show=True, bar_category_gap='20%') page.add(chart3) page.render('analysisResult.html')
def salary_shenzhen_map(): ''' 深圳各地区最低薪资均值 :return:html ''' print("正在生成深圳各地区最低薪资均值......") page = Page() s = sel_area_left_salary() value = [] attr = [] for i in s: if i['city'] == "深圳": Area = i['Area'] if Area == "坪山新区": Area = Area.replace("新", "").strip() area_left_salary = i['area_left_salary'] value.append(area_left_salary) attr.append(Area) print(value) print(attr) map = Map( "深圳各地区最低薪资均值", width=1200, height=600, background_color='#F4F3EF', ) map.add("", attr, value, maptype='深圳', is_label_show=True, is_visualmap=True, visual_range=['0', '15'], visual_text_color='#000', visual_range_text=['0', '15k']) page.add(map) bar = Bar( "深圳各地区最低薪资均值", background_color='#F4F3EF', ) bar.add("深圳", attr, value, is_stack=True, xaxis_interval=0, xaxis_label_textsize=11, is_datazoom_show=True, xaxis_rotate=30, datazoom_range=[0, 50], is_random=True, datazoom_type='both') page.add(bar) print("深圳各地区最低薪资均值生成完毕!!") return page
def map_qgtd(attr_v1: List[Tuple[str, int]], chart_name: str, v1_name: str) -> map.Map: style = Style(width=WIDTH, height=HEIGHT) chart = Map(chart_name, **style.init_style) attr, value = chart.cast(attr_v1) chart.add(v1_name, attr, value, maptype='china', is_visualmap=True, visual_text_color='#000') return chart
def test_echarts_position_in_render_html(): value = [20, 190, 253, 77, 65] attr = ['汕头市', '汕尾市', '揭阳市', '阳江市', '肇庆市'] map = Map("广东地图示例", width=1200, height=600) map.add("", attr, value, maptype='广东', is_map_symbol_show=False, is_visualmap=True, visual_text_color='#000') map.render() with codecs.open('render.html', 'r', 'utf-8') as f: actual_content = f.read() echarts_position = actual_content.find('exports.echarts') guangdong_position = actual_content.find(json.dumps('广东')) assert echarts_position < guangdong_position assert '"showLegendSymbol": false' in actual_content
def test_echarts_js_in_first(): value = [20, 190, 253, 77, 65] attr = ['汕头市', '汕尾市', '揭阳市', '阳江市', '肇庆市'] map = Map("广东地图示例", width=1200, height=600) map.add("", attr, value, maptype='广东', is_visualmap=True, visual_text_color='#000') ECHARTS_ENV.configure_pyecharts(jshost='http://localhost/echarts') tpl = ECHARTS_ENV.from_string('{{ echarts_js_dependencies(m) }}') html = tpl.render(m=map) echarts_js_pos = html.find('echarts.min.js') guangdong_js_pos = html.find('guangdong.js') assert echarts_js_pos > -1 assert guangdong_js_pos > -1 assert echarts_js_pos < guangdong_js_pos
def test_city_map(): value = [1, 100] attr = ['Gujarat', 'Tamil Nadu'] map = Map('India', width=800, height=600) map.add('', attr, value, maptype='印度', is_visualmap=True, visual_text_color="#000") html = map._repr_html_() assert "India" in html assert "nbextensions/echarts-countries-js" in html
def salary_chengdu_map(): ''' 成都各地区最低薪资均值 :return:html ''' print("正在生成成都各地区最低薪资均值......") page = Page() s = sel_area_left_salary() value = [] attr = [] for i in s: if i['city'] == "成都": Area = i['Area'] area_left_salary = i['area_left_salary'] value.append(area_left_salary) attr.append(Area) print(value) print(attr) map = Map("成都各地区最低薪资均值", background_color='#F4F3EF', width=1200, height=600) map.add("", attr, value, maptype='成都', is_label_show=True, is_visualmap=True, visual_range=['0', '15'], visual_text_color='#000', visual_range_text=['0', '15k']) page.add(map) bar = Bar( "成都各地区最低薪资均值", background_color='#F4F3EF', ) bar.add("成都", attr, value, is_stack=True, xaxis_interval=0, xaxis_label_textsize=11, is_datazoom_show=True, xaxis_rotate=30, datazoom_range=[0, 50], is_random=True, datazoom_type='both') page.add(bar) #page.render("salary_chengdu_map.html") print("成都各地区最低薪资均值生成完毕!!") return page
def test_china_map(): value = [155, 10, 66, 78] attr = ["福建", "山东", "北京", "上海"] map = Map("全国地图示例", width=1200, height=600) map.add("", attr, value, maptype="china") map.render() actual_content = get_default_rendering_file_content() # test register map assert 'registerMap("china",' in actual_content # 福建省 assert "\u798f\u5efa" in actual_content # 汕头市 assert "\u4e0a\u6d77" in actual_content
def map(): from pyecharts import Map value = [155, 10, 66, 78] attr = ["福建", "山东", "北京", "上海"] map = Map("全国地图示例", width=1200, height=600) map.add("", attr, value, maptype='china', is_visualmap=True, visual_text_color='#000') return template(map)
def get_province_map(self, province_dict): """ 获取省份地图 """ value = province_dict.values() attr = province_dict.keys() map = Map("好友全国分布", width=1000, height=600) map.add('', attr, value, maptype="china", is_visualmap=True, visual_text_color="#000") return map
def test_timeline_map(): timeline = Timeline(timeline_bottom=0) value = [155, 10, 66, 78, 33, 80, 190, 53, 49.6] attr = ["福建", "山东", "北京", "上海", "甘肃", "新疆", "河南", "广西", "西藏"] map = Map("Map 结合 VisualMap 示例", width=1200, height=600) map.add( "", attr, value, maptype="china", is_visualmap=True, visual_text_color="#000", visual_top="30%", ) timeline.add(map, "test1") value = [155, 10, 66, 78, 33] attr = ["福建", "山东", "北京", "上海", "甘肃"] map = Map("Map 结合 VisualMap 示例", width=1200, height=600) map.add( "", attr, value, maptype="china", is_visualmap=True, visual_text_color="#000", visual_top="30%", ) timeline.add(map, "test2") assert len(timeline._option.get("baseOption").get("series")) == 2 timeline.render()
def generate1(maptype, attr, value, folder_type, label_name): split_number = 5 # 分段的个数 max_value = cal_proper_max_value(max(value), split_number) map = Map(maptype, width=800, height=500, title_pos="10%") map.add( "", attr, value, maptype=maptype, is_roam=True, is_label_show=True, is_map_symbol_show=False, is_visualmap=True, visual_range=[0, max_value], # 最大值必须要大于真实的数值 visual_text_color="#000", visual_range_color=['#CCFFFF', '#99CCFF', '#336699', '# 003366'], visual_range_text=[' ', '单位(人天数)'], # is_piecewise=True, # 加上后组件为分段型 # visual_split_number=split_number, # 分段的个数 tooltip_formatter=format, # label_formatter=label_format, #地图上省份直接显示数据 ) # map.use_theme("shine") map._option.get("toolbox").get("feature").update({ "myTool": { "show": True, "title": "返回全国地图", "icon": home_icon, "onclick": return_home }, }) map.on(events.MOUSE_CLICK, on_click) # map.render("./maps" + "ggggg人天数组合图" + ".html") map.render("./maps/" + folder_type + "/" + maptype + '.html')
def test_china_map(): value = [155, 10, 66, 78] attr = ["福建", "山东", "北京", "上海"] map = Map("全国地图示例", width=1200, height=600) map.add("", attr, value, maptype='china') map.render() with codecs.open('render.html', 'r', 'utf-8') as f: actual_content = f.read() # test register map assert "registerMap(\"china\"," in actual_content # 福建省 assert "\u798f\u5efa" in actual_content # 汕头市 assert "\u4e0a\u6d77" in actual_content
def test_echarts_position_in_render_html(): value = [20, 190, 253, 77, 65] attr = ["汕头市", "汕尾市", "揭阳市", "阳江市", "肇庆市"] map = Map("广东地图示例", width=1200, height=600, page_title=TITLE) map.add( "", attr, value, maptype="广东", is_visualmap=True, visual_text_color="#000", ) map.render() actual_content = get_default_rendering_file_content() assert TITLE in actual_content
def test_map_with_custom_name_map(): # show label value = [155, 10, 66, 78] attr = ["福建", "山东", "北京", "上海"] map = Map("全国地图示例", width=1200, height=600) map.add( "", attr, value, maptype="china", is_label_show=True, name_map={"test": "--magic--"}, ) map.render() content = get_default_rendering_file_content() assert "--magic--" in content assert "nameMap" in content
def test_world_map(): value = [95.1, 23.2, 43.3, 66.4, 88.5, 0.1] attr = [ "China", "Canada", "Brazil", "Russia", "United States", "Unknown Country" ] map = Map("世界地图示例", width=1200, height=600) map.add("", attr, value, maptype="world", is_visualmap=True, visual_text_color='#000') map.render() with codecs.open('render.html', 'r', 'utf-8') as f: actual_content = f.read() # test register map assert "registerMap(\"world\"," in actual_content # test non-existent country assert "Russia" in actual_content assert "Unknown Country', " not in actual_content
def test_echarts_position_in_render_html(): value = [20, 190, 253, 77, 65] attr = ["汕头市", "汕尾市", "揭阳市", "阳江市", "肇庆市"] map = Map("广东地图示例", width=1200, height=600) map.add( "", attr, value, maptype="广东", is_map_symbol_show=False, is_visualmap=True, visual_text_color="#000", ) map.render() content = get_default_rendering_file_content() echarts_position = content.find("exports.echarts") guangdong_position = content.find(json.dumps("广东")) assert echarts_position < guangdong_position assert '"showLegendSymbol": false' in content
def test_map_visualmap_pieces(): value = [155, 10, 66, 78] attr = ["福建", "山东", "北京", "上海"] map = Map("全国地图示例", width=1200, height=600) map.add( "", attr, value, maptype="china", is_visualmap=True, is_piecewise=True, visual_text_color="#000", visual_range_text=["", ""], pieces=[ {"max": 160, "min": 70, "label": "高数值"}, {"max": 69, "min": 0, "label": "低数值"}, ], ) content = map._repr_html_() assert '"max": 160' in content assert '"min": 0' in content
def test_timeline_map(): timeline = Timeline(timeline_bottom=0) value = [155, 10, 66, 78, 33, 80, 190, 53, 49.6] attr = ["福建", "山东", "北京", "上海", "甘肃", "新疆", "河南", "广西", "西藏"] map = Map("Map 结合 VisualMap 示例", width=1200, height=600) map.add( "", attr, value, maptype="china", is_visualmap=True, visual_text_color="#000", visual_top="30%", ) timeline.add(map, "test1") value = [155, 10, 66, 78, 33] attr = ["福建", "山东", "北京", "上海", "甘肃"] map = Map("Map 结合 VisualMap 示例", width=1200, height=600) map.add( "", attr, value, maptype="china", is_visualmap=True, visual_text_color="#000", visual_top="30%", ) timeline.add(map, "test2") assert len(timeline.options.get("baseOption").get("series")) == 2 timeline.render()
def test_map_show_label(): # show label value = [155, 10, 66, 78] attr = ["福建", "山东", "北京", "上海"] map = Map("全国地图示例", width=1200, height=600) map.add("", attr, value, maptype="china", is_label_show=True) map.on(events.MOUSE_CLICK, on_click) map.render() content = get_default_rendering_file_content() assert "function on_click(params) {" in content assert '("click", on_click);' in content
def test_echarts_js_in_first(): value = [20, 190, 253, 77, 65] attr = ["汕头市", "汕尾市", "揭阳市", "阳江市", "肇庆市"] map = Map("广东地图示例", width=1200, height=600) map.add( "", attr, value, maptype="广东", is_visualmap=True, visual_text_color="#000", ) env = EchartsEnvironment( pyecharts_config=PyEchartsConfig(jshost="http://localhost/echarts") ) tpl = env.from_string("{{ echarts_js_dependencies(m) }}") html = tpl.render(m=map) echarts_js_pos = html.find("echarts.min.js") guangdong_js_pos = html.find("guangdong.js") assert echarts_js_pos > -1 assert guangdong_js_pos > -1 assert echarts_js_pos < guangdong_js_pos
#出售价 data.to_csv('tmp.csv') data=pd.read_csv('tmp.csv',encoding='gbk') data['单价']=data['价格']/data['面积'] data['单价'][data['单价']>0.3].plot.hist(bins = 20,title='在售二手房单价直方图',figsize = (12, 9)) a=data[['单价','区']].dropna() grouped =a['单价'].groupby(a['区']).apply(np.median) a=list(grouped.index[0:2]+'区') a.append('亦庄开发区') a=a+list(grouped.index[3:]+'区') grouped.index=a from pyecharts import Map value =list(grouped) attr =list(grouped.index) map=Map("二手房在售单价中位数 单位:万元", width=1200, height=600) map.add("", attr, value, maptype='北京', is_visualmap=True, visual_text_color='#404a59',visual_range=[1,10],is_map_symbol_show =False) map.show_config() map.render() df=pd.read_csv('ershoufangshuju.csv',encoding='gbk') del df['Unnamed: 0'] df['电梯'][df['类型']=='有电梯']=df['类型'][df['类型']=='有电梯'] df['电梯'][df['类型']=='无电梯']=df['类型'][df['类型']=='无电梯'] df['类型'][df['类型']=='有电梯']=np.NaN df['类型'][df['类型']=='无电梯']=np.NaN tmp=pd.crosstab(df['区'],df['类型'],margins=True) def plotbar_Stacked(tmp,t=''): tmp=tmp.apply(lambda x:x/x[-1],axis=1) tmp=tmp.drop('All',1).drop('All',0)
def test_map(): # map_0 value = [155, 10, 66, 78] attr = ["福建", "山东", "北京", "上海"] map = Map("全国地图示例", width=1200, height=600) map.add("", attr, value, maptype='china') map.show_config() map.render() # map_1 value = [155, 10, 66, 78, 33, 80, 190, 53, 49.6] attr = ["福建", "山东", "北京", "上海", "甘肃", "新疆", "河南", "广西", "西藏"] map = Map("Map 结合 VisualMap 示例", width=1200, height=600) map.add("", attr, value, maptype='china', is_visualmap=True, visual_text_color='#000') map.show_config() map.render() # # map_2 value = [20, 190, 253, 77, 65] attr = ['汕头市', '汕尾市', '揭阳市', '阳江市', '肇庆市'] map = Map("广东地图示例", width=1200, height=600) map.add("", attr, value, maptype='广东', is_visualmap=True, visual_text_color='#000') map.show_config() map.render()
from pyecharts import Bar, Line, Overlap bar = Bar("历年报考人数与出生人数") bar.add("报考人数",arr[::-1,0] , arr[::-1,1]) bar.add("出生人数",arr[::-1,0] , list_born) bar # In[59]: from pyecharts import Map data_prov = [('北京', 6.3), ('重庆', 25), ('上海', 5), ('天津', 5.5), ('河南', 98.38), ('广东', 75.8), ('山东', 59.2), ('安徽', 49.9), ('四川', 62), ('江苏', 33.15), ('河北', 48.64), ('湖北', 37.4), ('陕西', 31.9), ('湖南', 45.18), ('山西', 30.5), ('浙江', 30.6), ('甘肃', 27.3), ('广西', 40), ('江西', 38), ('福建', 20.09), ('辽宁', 18.5), ('贵州', 44), ('云南', 30), ('黑龙江', 19.04), ('内蒙古', 19.5), ('吉林', 15.03), ('新疆', 20.74), ('宁夏', 6.95), ('海南', 5.88), ('青海', 4), ('西藏', 2.53)] geo = Map("2018各省高考报名人数") attr, value = geo.cast(data_prov) geo.add("", attr, value, visual_range=[0, 80], is_visualmap=True, is_map_symbol_show=False) geo # In[48]: data_prov_ad = [('湖南', 11.2), ('江西', 10.4), ('安徽', 14.2), ('广东', 11.2), ('河北', 14.55), ('湖北', 15.8), ('河南', 7.8), ('山西', 9.8), ('福建', 18.7), ('吉林', 12.4), ('重庆', 11.5), ('辽宁', 16.1), ('内蒙古', 14.03), ('甘肃', 15.22), ('黑龙江', 13.5), ('陕西', 14.6), ('宁夏', 19), ('新疆', 12.86), ('西藏', 11), ('青海', 15.2), ('四川', 10.6), ('云南', 10.85), ('广西', 8.44), ('贵州', 14.50), ('北京', 30.5), ('江苏', 12.10), ('山东', 10.6), ('天津', 24.1), ('上海', 21.8), ('浙江', 14)] geo = Map("2018各省一本录取率") attr, value = geo.cast(data_prov_ad) geo.add("", attr, value, visual_range=[8, 20], is_visualmap=True, is_map_symbol_show=False) geo
# 世界地图示例 from pyecharts import Map countries= ["China", "Canada", "India", "Russia", "United States","Japan"] capita_gdp = [13334, 43294, 5903, 23038, 53354,36162] population = [1376048943, 35939927, 1311050527, 143456918, 321773631,126573481] life_expectancy = [76.9,81.7,66.8,73.13,79.1,73.13] m = Map("世界经济发展水平", width=1024, height=576) m.add( "人均GDP", attr = countries, value = capita_gdp, maptype="world", is_visualmap=True, visual_range = [5000,60000], visual_text_color="#000", is_map_symbol_show=False, visual_orient="horizontal" ) m.render('result.地理坐标系图.世界地图示例.html') # 全国省份地图 from pyecharts import Map value = [155, 10, 66, 78, 44, 38, 88, 50, 20] attr = ["福建","山东","北京","上海","江西","新疆","内蒙古","云南","重庆"] m = Map("全国省份地图", width=600, height=400) m.add("", attr, value, maptype='china', is_visualmap=True, is_piecewise=True, visual_text_color="#000",
def draw_result(self): mongo_region_dist = mongo_db['regiondist'] regiondist = mongo_region_dist.find({}, {"_id": 0}) attr = [] value = [] for item in regiondist: value.append(item['totalCount']) attr.append(item["region"]) map = Map("淘宝淘女郎全国分布图", width=1200, height=600) map.add("", attr, value, maptype='china', visual_range=[0, 5000], is_visualmap=True, visual_text_color='#000') map.render(r"charts/regionDistribute.html") #某些城市的地理坐标无法正确获取,故绘图结果不不正确,待完善 '''mongo_city_dist = mongo_db['citydist'] citydist = mongo_city_dist.find({}, {"_id": 0}) attr = [] value = [] for item in citydist: value.append(item['totalCount']) attr.append(item["city"]) geo = Geo("淘宝淘女郎城市分布图", "data from mm.taobao.com", title_color="#fff", title_pos="center", width=1200, height=600, background_color='#404a59') geo.add("", attr, value, visual_range=[0, 1000], visual_text_color="#fff", symbol_size=12, is_visualmap=True) geo.render(r"charts/cityDistribute.html")''' mongo_height_stat = mongo_db['heightstat'] heightstat = mongo_height_stat.find({}, {"_id": 0}) attr = [] value = [] for item in heightstat: value.append(item['value']) attr.append(item["height"]) bar = Bar("淘宝淘女郎身高分布图", "data from mm.taobao.com") bar.add("", attr,value) bar.render("charts/heightstat.html") mongo_weight_stat = mongo_db['weightstat'] weightstat = mongo_weight_stat.find({}, {"_id": 0}) attr = [] value = [] for item in weightstat: value.append(item['value']) attr.append(item["weight"]) bar = Bar("淘宝淘女郎体重分布图", "data from mm.taobao.com") bar.add("", attr, value) bar.render("charts/weightstat.html") mongo_blood_stat = mongo_db['bloodstat'] bloodstat = mongo_blood_stat.find({}, {"_id": 0}) attr = [] value = [] for item in bloodstat: value.append(item['value']) attr.append(item["blood"]) bar = Bar("淘宝淘女郎血型分布图", "data from mm.taobao.com") bar.add("", attr, value) bar.render("charts/bloodstat.html") mongo_birthday_stat = mongo_db['birthdaystat'] birthdaystat = mongo_birthday_stat.find({}, {"_id": 0}) attr = [] value = [] for item in birthdaystat: value.append(item['value']) attr.append(item["blood"]) bar = Bar("淘宝淘女郎生日星座分布图", "data from mm.taobao.com") bar.add("", attr, value) bar.render("charts/birthdaystat.html")