示例#1
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')
示例#2
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)))
示例#3
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
示例#4
0
def city_dist(info):
    grouped = info.groupby(['cityChn'])
    grouped_city = grouped['cityChn']
    city_com = grouped_city.agg(['count'])
    city_com.reset_index(inplace=True)
    city_distribute_data = [(city_com['cityChn'][i], city_com['count'][i])
                            for i in range(0, city_com.shape[0])]

    map = Map('北京征婚小姐姐分布', width=1200, height=600)
    attr, value = map.cast(city_distribute_data)
    attr = [loc[2:] + '区' for loc in attr]  # 命名规则与pyecharts中名字一致

    map.add("密度",
            attr,
            value,
            maptype='北京',
            is_map_symbol_show=True,
            is_visualmap=True,
            visual_text_color='#000',
            visual_range=[0, 2000])
    map.show_config()
    map.render('北京征婚小姐姐分布.html')
示例#5
0
#!/usr/bin/env python
# -*- coding: utf-8 -*-

import itchat
from pyecharts import Map
from collections import Counter

itchat.auto_login(hotReload=True)
myFriendList = itchat.get_friends()

provinceCounter = Counter()

for friend in myFriendList:
    province = friend['Province']
    if province != '':
        provinceCounter[province] += 1

myMap = Map('你的微信好友地区分布图', width=1200, height=600, title_pos='center')
attr, value = myMap.cast(provinceCounter)
myMap.add('',
          attr,
          value,
          maptype='china',
          is_visualmap=True,
          is_label_show=True,
          visual_range=[0, 80])
myMap.render('./你的微信好友地区分布图.html')
示例#6
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


# In[ ]:
示例#7
0
#地理分布分析
loc_version = df['省份'].value_counts()
provinces = list(loc_version.index)
province_data = []
for province in provinces:
    province_data.append((province, loc_version[province]))

maps = Map("40年100人分布省份",
           "data from Xinhua Net",
           title_color="#fff",
           title_pos="center",
           width=1200,
           height=600,
           background_color='#404a59')
attr, value = maps.cast(province_data)
maps.add("",
         attr,
         value,
         type="effectScatter",
         visual_range=[0, 15],
         visual_text_color="#fff",
         symbol_size=15,
         is_visualmap=True)
maps.show_config()
maps.render()

#年代分布分析
df['出生年月'] = pd.to_datetime(df['出生年月'])
df_date = df.set_index('出生年月')
示例#8
0
import re
import time
from lxml import html
from selenium import webdriver
from pyecharts import Map, Bar, Pie

r = requests.get(url='http://www.sohu.com/a/223885358_118392')  # 最基本的GET请求
time.sleep(60)
html = r.text
content = re.findall(
    u'<p>([\u2E80-\u9FFF]{2,3})[u"市"u"省"u"特"u"壮"u"回"u"维"u"自"u"人"].{0,6}\uff08(\d*)\u540d\uff09 </p>.*?<p>(.*?)</p>',
    html, re.S)
data = [_[0:2] for _ in content]
print(data)
map = Map("人大代表分布", title_pos="center", width=800, height=500)
attr, value = map.cast(data)
attr[-1] = u"南海诸岛"
map.add("",
        attr,
        value,
        maptype='china',
        is_label_show=True,
        label_pos="inside",
        label_text_color="#000",
        is_visualmap=True,
        visual_text_color='#000',
        visual_range=[12, 172],
        visual_range_text=['低', '高'],
        visual_pos=[500, 500])
# map.show_config()
map.render()
示例#9
0
自从 0.3.2 开始,为了缩减项目本身的体积以及维持 pyecharts 项目的轻量化运行,pyecharts 将不再自带地图 js 文件。如用户需要用到地图图表,可自行安装对应的地图文件包。下面介绍如何安装。

全球国家地图: echarts-countries-pypkg (1.9MB): 世界地图和 213 个国家,包括中国地图
中国省级地图: echarts-china-provinces-pypkg (730KB):23 个省,5 个自治区
中国市级地图: echarts-china-cities-pypkg (3.8MB):370 个中国城市:https://github.com/echarts-maps/echarts-china-cities-js
pip install echarts-countries-pypkg
pip install echarts-china-provinces-pypkg
pip install echarts-china-cities-pypkg
别注明,中国地图在 echarts-countries-pypkg 里。
"""
snd_price = list(
    zip(
        snd.price.groupby(snd.dist_name).mean().index,
        snd.price.groupby(snd.dist_name).mean().values))
attr, value = Map.cast(snd_price)
min_ = snd.price.groupby(snd.dist).mean().min()
max_ = snd.price.groupby(snd.dist).mean().max()

price_map = Map('北京各区房价', width=1200, height=600)
price_map.add('',
              attr,
              value,
              maptype='北京',
              is_visualmap=True,
              visual_range=[min_, max_],
              visual_text_color='#000',
              is_label_show=True)
price_map.render()
#生成render.html在当前目录
#%%
示例#10
0
                                 citysJson), city_com['count'][i])
                    for i in range(0, city_com.shape[0])]
    data_map_list = {}
    for item in data_map_all:
        if data_map_list.has_key(item[0]):
            value = data_map_list[item[0]]
            value += item[1]
            data_map_list[item[0]] = value
        else:
            data_map_list[item[0]] = item[1]
    data_map = [(realKeys(key), data_map_list[key])
                for key in data_map_list.keys()]
    geo = Map("城市评论数", width=1200, height=800, title_pos="center")
    while True:
        try:
            attr, val = geo.cast(data_map)
            geo.add(
                "",
                attr,
                val,
                visual_range=[0, 6000],
                visual_text_color="#fff",
                symbol_size=5,
                is_visualmap=True,
                maptype=u'china',
                is_map_symbol_show=False,
                is_label_show=True,
                is_roam=False,
                #                    visual_split_number=4
            )
示例#11
0
文件: exam.py 项目: JerryHao2001/HAO
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),