예제 #1
0
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)
예제 #3
0
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
예제 #4
0
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)
예제 #7
0
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
예제 #8
0
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
예제 #9
0
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
예제 #10
0
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)))
예제 #11
0
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')
예제 #12
0
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')
예제 #13
0
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()
예제 #14
0
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
예제 #15
0
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
예제 #16
0
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
예제 #17
0
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)
예제 #18
0
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
예제 #19
0
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_()
예제 #20
0
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()
예제 #21
0
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')
예제 #22
0
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_()
예제 #23
0
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)
예제 #24
0
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)
예제 #25
0
파일: run.py 프로젝트: ZKC952/WX_friends
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
예제 #27
0
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')
예제 #28
0
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')
예제 #29
0
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
예제 #30
0
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
예제 #31
0
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
예제 #32
0
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
예제 #33
0
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
예제 #34
0
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
예제 #35
0
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
예제 #36
0
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
예제 #37
0
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)
예제 #38
0
 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
예제 #39
0
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()
예제 #40
0
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')
예제 #41
0
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
예제 #42
0
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
예제 #43
0
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
예제 #44
0
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
예제 #45
0
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
예제 #46
0
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
예제 #47
0
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()
예제 #48
0
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
예제 #49
0
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
예제 #50
0
#出售价
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)
예제 #51
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()
예제 #52
0
파일: exam.py 프로젝트: crossin/snippet
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

예제 #53
0
# 世界地图示例
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",
예제 #54
0
    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")