Esempio n. 1
0
def main_handler(event, context):
    geo = Map(init_opts=opts.InitOpts(page_title="国内疫情地图",
                                      js_host="https://js.yiqin.zw2s.ltd/"))
    scf = Client(secret_id="******", secret_key="******", region="ap-shanghai")
    data = loads(scf.invoke('guonei'))
    data2 = loads(scf.invoke('data'))
    updatetime = strftime("%Y-%m-%d %H:%M:%S",
                          localtime(data2['modifyTime'] / 1000))
    zhongdata = []
    for a in range(len(data)):
        tempdata = []
        tempdata.append(data[a]['provinceShortName'])
        tempdata.append(data[a]['currentConfirmedCount'])
        zhongdata.append(tempdata)
    pingjun = data2['currentConfirmedCount'] / len(data)
    geo.set_global_opts(title_opts=opts.TitleOpts(
        title="国内疫情地图",
        subtitle="目前共确诊" + str(data2['currentConfirmedCount']) +
        "例,数据来自丁香园,截止时间:" + updatetime),
                        visualmap_opts=opts.VisualMapOpts(max_=pingjun),
                        legend_opts=opts.LegendOpts(is_show=False))
    geo.add("确诊", zhongdata, maptype="china")
    return {
        "isBase64Encoded": False,
        "statusCode": 200,
        "headers": {
            'Content-Type': 'text/html; charset=utf-8'
        },
        "body": geo.render_embed()
    }
Esempio n. 2
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
Esempio n. 3
0
def temp_show(field, name, path):
    # 定义时间滚动栏标题
    title = TQHBTrans().get_date()
    print(title)
    # 创建时间线对象
    tl = Timeline()
    for i in range(len(title)):
        print(i)
        data = TQHBTrans().get_temp(title[i], field)
        # 定义地图标题
        map_title = str(title[i])[0:4] + "年" + str(title[i])[4:6] + "月" + str(
            title[i])[6:8] + "日全国各省会" + name + "分布图"
        # 创建地图对象
        map0 = Map()
        # 向地图中添加数据
        map0.add("", data, "china")
        # 创建地图显示方式
        map0.set_global_opts(title_opts=opts.TitleOpts(title=map_title, ),
                             visualmap_opts=opts.VisualMapOpts(
                                 is_piecewise=True,
                                 pieces=[{
                                     "max": 40,
                                     "min": 31,
                                     "label": "31-40℃",
                                     "color": "#FF8000"
                                 }, {
                                     "max": 30,
                                     "min": 21,
                                     "label": "21-30℃",
                                     "color": "#FFBB77"
                                 }, {
                                     "max": 20,
                                     "min": 11,
                                     "label": "11-20℃",
                                     "color": "#FFDCB9"
                                 }, {
                                     "max": 10,
                                     "min": 1,
                                     "label": "1-10℃",
                                     "color": "#FFEEDD"
                                 }, {
                                     "max": 0,
                                     "min": -10,
                                     "label": "-10-0℃",
                                     "color": "#C4E1FF"
                                 }, {
                                     "max": -11,
                                     "min": -20,
                                     "label": "-20--11℃",
                                     "color": "#66B3FF"
                                 }, {
                                     "max": -21,
                                     "min": -30,
                                     "label": "-30--21℃",
                                     "color": "#2894FF"
                                 }]))
        # 将地图添加到时间线中
        tl.add(map0, title[i])
    # 生成html文件
    tl.render(path)
Esempio n. 4
0
    def visulize(
        self,
        city_name,
        school_counts,
    ):
        if (self.FlagOfProcess):
            realcity = []
            # 处理城市名,只保留两字或三字名称
            for citys in city_name:
                if "黑龙江" in citys:
                    a = "黑龙江"
                elif "内蒙古" in citys:
                    a = "内蒙古"
                else:
                    a = citys[4:6]
                realcity.append(a)
            # print(realcity)
            # 将数据处理成列表
            list1 = [[realcity[i], school_counts[i]]
                     for i in range(len(realcity))]
            # print(list1)

            map_1 = Map()
            map_1.set_global_opts(
                title_opts=opts.TitleOpts(title="2020高校分布"),
                visualmap_opts=opts.VisualMapOpts(max_=40)  # 最大数据范围
            )
            map_1.add("2020高校分布", list1, maptype="china")
            # map_1.add_js_funcs("window.confirm()")
            map_1.render('SchoolMap.html')
            print("绘制成功,请在同级目录下查看 SchoolMap.html 文件!")
        else:
            print("出现错误,停止绘制图表!")
Esempio n. 5
0
def map_visualmap(sequence, date):
    c =Map()
    c.add(date, sequence, maptype="world",label_opts=opts.LabelOpts(is_show=False,font_size=8),is_map_symbol_show=False,is_roam=True)
    c.set_global_opts(title_opts=opts.TitleOpts(title="CBIC:全球各国现存确诊_至4月7号",subtitle="数据来源Johns Hopkins University Center for Systems Science and Engineering (JHU CSSE)"),
        legend_opts=opts.LegendOpts(is_show=False),visualmap_opts=opts.VisualMapOpts(is_piecewise=True,\
        pieces=pieces_list))
    return c
Esempio n. 6
0
def confirmed_maps():
    map_chart = Map()
    map_chart.add(
        '疫情地圖',
        [list(i) for i in zip(city_confirmed.keys(), city_confirmed.values())],
        maptype='台湾',
        is_map_symbol_show=True,
        label_opts=opts.LabelOpts(is_show=False))

    map_chart.set_global_opts(title_opts=opts.TitleOpts(title='台灣'),
                              visualmap_opts=opts.VisualMapOpts(
                                  is_piecewise=True,
                                  pieces=[{
                                      "min": 1,
                                      "max": 50,
                                      "label": "1-50人",
                                      "color": "#FFE6BE"
                                  }, {
                                      "min": 51,
                                      "max": 100,
                                      "label": "51-100人",
                                      "color": "#FFB769"
                                  }, {
                                      "min": 101,
                                      "max": 300,
                                      "label": "101-300人",
                                      "color": "#FF8F66"
                                  }, {
                                      "min": 301,
                                      "max": 1000,
                                      "label": "301-1000人",
                                      "color": "#ED514E"
                                  }]))
    map_chart.render('confirmed_map.html')
def map_type():
    global wid, hei
    school_type_local = analysis_data.school_rank()
    c = Map(init_opts=opts.InitOpts(width=wid, height=hei))
    arr_drop = ['理工类', '综合类', '其他', '民族类', '农林类']
    for key, value in school_type_local.items():
        if key not in arr_drop:
            c.add(key, list(value.iteritems()), "china")
    c.set_global_opts(
        visualmap_opts=opts.VisualMapOpts(
            max_=10
            #     is_piecewise=True,
            #     pieces=[
            #     {"min": 8, "max": 20, "color": 'black'},
            #     {"min": 5, "max": 7,"color": '#DC143C'},
            #     {"value": 4,'color':'#00008B'},
            #     {"value": 3,'color':'green'},
            #     {"min": 2, "max": 2},
            #     {"value": 1, "label": '1 一枝独秀','color':'#FFF8DC'},
            # ]
        ),
        title_opts=opts.TitleOpts(title='各类院校全国分布'),
        legend_opts=opts.LegendOpts(
            #type_="scroll", pos_left="80%", orient="vertical",
            pos_left='150px',
            selected_mode='single'))
    return c
Esempio n. 8
0
def create_province_map(df):
    # 筛选数据
    df = df[df["country"] == "中国"]
    df1 = df.copy()
    # 数据替换
    df1["province"] = df1["province"].str.replace("省", "").str.replace(
        "壮族自治区", "").str.replace("维吾尔自治区", "").str.replace("自治区", "")
    # 分组计数
    df_num = df1.groupby("province")["province"].agg(count="count")
    df_province = df_num.index.values.tolist()
    df_count = df_num["count"].values.tolist()

    # 初始化配置
    map = Map(init_opts=opts.InitOpts(width="800px", height="400px"))
    # 中国地图
    map.add("", [list(z) for z in zip(df_province, df_count)], "china")
    # 设置全局配置项,标题、工具箱(下载图片)、颜色图例
    map.set_global_opts(
        title_opts=opts.TitleOpts(title="抖音大V省份分布情况",
                                  pos_left="center",
                                  pos_top="0"),
        toolbox_opts=opts.ToolboxOpts(is_show=True,
                                      feature={"saveAsImage": {}}),
        # 设置数值范围0-600,is_piecewise标签值连续
        visualmap_opts=opts.VisualMapOpts(max_=600, is_piecewise=False))
    map.render("抖音大V省份分布情况.html")
Esempio n. 9
0
def sxcsfb():
    friends = bot.friends(update=True)
    dd1 = defaultdict(int)  # 如果调用字典的key不存在的时候,默认value为0
    for hy in friends:
        # print(hy.city)
        if '\u9fa5' >= hy.city >= '\u4e00':  # 如果省份是汉字就保留,否则就舍弃,因为在中国地图上也不会显示
            city = hy.city + "市"  # 必须要加,不加会名字识别不到
            dd1[city] += 1  # 每次进来如果key相同则进行累加
    sj = [list(a) for a in zip(dd1.keys(), dd1.values())]

    print(sj)

    # 地图部分
    m2 = Map()
    m2.add(series_name="微信好友",
           data_pair=sj,
           maptype="陕西",
           is_map_symbol_show=True)
    m2.set_global_opts(title_opts=opts.TitleOpts(
        title="陕西好友分布",
        subtitle=time.strftime("%Y-%m-%d %H:%M:%S",
                               time.localtime(time.time()))),
                       visualmap_opts=opts.VisualMapOpts(is_piecewise=True,
                                                         is_calculable=True,
                                                         max_=180))
    m2.render("./kshwy/map_sxcsfb.html")
    webbrowser.open("E:\study\kshwy\map_sxcsfb.html")
Esempio n. 10
0
def sffb():
    friends = bot.friends(update=True)
    dy = defaultdict(
        lambda: 0)  # defaultdict的作用是在于,当字典里的key不存在但被查找时,返回的不是keyError而是一个默认值
    for f in friends:
        if '\u9fa5' >= f.province >= '\u4e00':  # 如果省份是汉字就保留,否则就舍弃,因为在中国地图上也不会显示
            dy[f.province] += 1
    attr = dy.keys()
    value = dy.values()
    dx = [list(dx1) for dx1 in zip(attr, value)
          ]  # zip将可迭代的对象打包成一个一个的元组 如果各个迭代器的元素个数不一致,则返回列表长度与最短的对象相同
    print(dx)

    # 地图部分
    m1 = Map()
    m1.add(series_name="微信好友",
           data_pair=dx,
           maptype="china",
           name_map={"key": "value"},
           is_map_symbol_show=True)
    m1.set_global_opts(
        title_opts=opts.TitleOpts(title="小李的微信好友",
                                  subtitle="2020-04-10"),  # 设置标题和副标题在左侧
        visualmap_opts=opts.VisualMapOpts(is_piecewise=True,
                                          max_=250)  # 是否分段,以及分段的最大值
    )
    m1.render('province.html')
    webbrowser.open('province.html')
def base_info():
    map = Map()
    # 注意:这里是"河南' 不能是河南省
    map.add("河南省地图", data, "河南")
    map.set_global_opts(title_opts=opts.TitleOpts(title="Map-河南省地图"),
                        visualmap_opts=opts.VisualMapOpts(max_=10))

    return map
Esempio n. 12
0
def map_visualmap_piecewise():
    obj_map = Map()
    obj_map.add("中国", [list(z) for z in zip(Faker.provinces, Faker.values())], "china")
    obj_map.set_global_opts(
        title_opts=opts.TitleOpts(title="Map-VisualMap(分段型)",subtitle ="副标题"),
        visualmap_opts=opts.VisualMapOpts(max_=200, is_piecewise=True),
    )
    return obj_map
Esempio n. 13
0
def display_recent_global_distribution(pic_file, maxCount=200, **kwargs):
    """
    display the distribution of recent total numbers of confirmed patients.

    Parameters
    ----------
    pic_file: str
        absolute path of the generated figure.
    maxCount: int
        maximumn count of colorbar. (default: 200)
    """

    conn = db.connect(dbFile)
    cu = conn.cursor()

    OverallDf = pd.read_sql_query("""select * from Region_Data""", conn)
    OverallDf['updateTime'] = OverallDf['updateTime'].astype('int64')

    recentData = OverallDf.groupby('provinceShortName').apply(
        lambda t: t[t['updateTime'] == t['updateTime'].max()])

    recentData = recentData.groupby('country').agg({
        'confirmedCount': 'sum',
        'suspectedCount': 'sum',
        'updateTime': 'mean'
    })
    recentData['date'] = pd.to_datetime(recentData['updateTime'] / 1000,
                                        unit='s')

    time = recentData[recentData.index == '中国']['updateTime']
    data = [[
        searchCountryENName(recentData.index[i]),
        int(recentData['confirmedCount'][i])
    ] for i in range(recentData.shape[0])]

    map_3 = Map()
    map_3.add("{0} worldwide COVID-19 patients distribution".format(
        recentData['date'][1].strftime('%Y-%m-%d')),
              data,
              maptype='world',
              is_map_symbol_show=False)
    map_3.set_series_opts(
        label_opts=opts.LabelOpts(is_show=False, font_size=100))
    map_3.set_global_opts(visualmap_opts=opts.VisualMapOpts(max_=maxCount),
                          title_opts=opts.TitleOpts(title=""))

    if 'notebook' in kwargs.keys():
        if kwargs['notebook']:
            map_3.render_notebook()
    else:
        html_file = '{0}.html'.format(os.path.splitext(pic_file)[0])
        tmpHtmlFile = map_3.render()
        shutil.move(tmpHtmlFile, html_file)
        make_snapshot(snapshot,
                      file_name=html_file,
                      output_name=pic_file,
                      is_remove_html=False,
                      **kwargs)
Esempio n. 14
0
def map_world():
    obj_map = Map()
    obj_map.add("世界", [list(z) for z in zip(Faker.country, Faker.values())], "world")
    obj_map.set_series_opts(label_opts=opts.LabelOpts(is_show=False))
    obj_map.set_global_opts(
        title_opts=opts.TitleOpts(title="Map-世界地图",subtitle ="副标题"),
        visualmap_opts=opts.VisualMapOpts(max_=200),
    )
    return obj_map
Esempio n. 15
0
def map_total_cases(csv):
    """
    Description: exports an html file with an interactive map showing the latest total cases
    registered per country in the planet
    in a two-ax chart for countries with p-score > 1
    :param owid_data: OWID main coronavirus dataset in a pandas dataframe format,
                        it can be already processed with clean_data()
    :export: HTML file with a pyecharts interactive map
    """

    input_df = pd.read_csv(csv)

    if input_df.index.name == "date":
        input_df = input_df[["location", "total_cases"]].dropna()
    else:
        input_df = input_df[["date", "location", "total_cases"]].set_index("date").dropna()

    map_df = input_df.loc[input_df.groupby('location').total_cases.idxmax()].head(
        len(input_df["location"].unique()) - 1)

    map_df.reset_index(drop=True, inplace=True)

    country = list(map_df["location"])
    totalcases = list(map_df["total_cases"])

    list1 = [[country[i], totalcases[i]] for i in range(len(country))]
    map_1 = Map(init_opts=opts.InitOpts(width="1000px", height="460px"))
    map_1.add("Total Confirmed Cases",
              list1,
              maptype="world",
              is_map_symbol_show=False)
    map_1.set_series_opts(label_opts=opts.LabelOpts(is_show=False))
    map_1.set_global_opts(
        visualmap_opts=opts.VisualMapOpts(max_=1100000, is_piecewise=True, pieces=[
            {"min": 1000000},
            {"min": 600000, "max": 999999},
            {"min": 200000, "max": 599999},
            {"min": 50000, "max": 119999},
            {"min": 10000, "max": 49999},
            {"max": 9999}, ]),
        title_opts=opts.TitleOpts(
            title='Casos confirmados de COVID-19',
            subtitle="Últimos datos disponibles",
            pos_left="center",
            padding=0,
            item_gap=2,
            title_textstyle_opts=opts.TextStyleOpts(color="darkblue",
                                                    font_weight="bold",
                                                    font_family="Courier New",
                                                    font_size=30),
            subtitle_textstyle_opts=opts.TextStyleOpts(color="grey",
                                                       font_weight="bold",
                                                       font_family="Courier New",
                                                       font_size=13)),
        legend_opts=opts.LegendOpts(is_show=False))

    return map_1.render('map_cases.html')
Esempio n. 16
0
    def geo_base(data):

        city_list, province_list = data

        # 好友全国省份分布图
        geo = Geo(init_opts=opts.InitOpts(theme="vintage"))
        for city in city_list:
            try:
                geo.add_schema(maptype="china",
                               itemstyle_opts=opts.ItemStyleOpts(color="gray"))
                geo.add("微信好友分布地图", [city],
                        type_="effectScatter",
                        symbol_size=10)
                geo.set_series_opts(label_opts=opts.LabelOpts(is_show=False))
                geo.set_global_opts(
                    visualmap_opts=opts.VisualMapOpts(),
                    title_opts=opts.TitleOpts(title="微信好友分布地图"),
                )
            except:
                pass

        print("正在制作好友全国分布图")
        make_snapshot(driver, geo.render(), "geo.png")

        # 广东好友热力图
        # geo = Geo(init_opts=opts.InitOpts(theme="vintage"))
        # for city in city_list:
        #     try:
        #         geo.add_schema(maptype="广东", itemstyle_opts=opts.ItemStyleOpts(color="gray"))
        #         geo.add("广东好友热力图", [city], type_="heatmap", symbol_size=10)
        #         geo.set_series_opts(label_opts=opts.LabelOpts(is_show=False))
        #         geo.set_global_opts(visualmap_opts=opts.VisualMapOpts(), title_opts=opts.TitleOpts(title="热力图"),
        #                             toolbox_opts=opts.ToolboxOpts())
        #     except:
        #         pass
        #
        # print("正在制作好友广东热力图")
        # make_snapshot(driver, geo.render(), "heat.png")

        # 好友全国地理图
        maps = Map()
        maps.add("", province_list, "china")
        maps.set_global_opts(title_opts=opts.TitleOpts(title="微信好友分布图"),
                             visualmap_opts=opts.VisualMapOpts())

        print("正在制作好友地理图")
        make_snapshot(driver, geo.render(), "map.png")

        # 词云图
        c = (WordCloud().add("",
                             city_list,
                             word_size_range=[15, 50],
                             shape="diamond",
                             word_gap=10).set_global_opts(
                                 title_opts=opts.TitleOpts(title="diamond")))
        print("正在制作好友城市词云图")
        make_snapshot(driver, c.render(), "world.png")
Esempio n. 17
0
def set_map(name, nums):
    # 初始化地图
    map0 = Map(init_opts=set_option("1200px", "600px"), )
    map0.add(name, data_pair=get_data_series(name), maptype="world")
    map0.set_series_opts(label_opts=opts.LabelOpts(
        is_show=False)).set_global_opts(
            title_opts=opts.TitleOpts(title="COVID_19 WORLD MAP"),
            visualmap_opts=opts.VisualMapOpts(max_=nums),
        )
    return map0
Esempio n. 18
0
 def chart(self, f):  # unsupported city map for now
     city, frequency = self.clean(f)[1], self.clean(f)[2]
     data = [[city[i], frequency[i]] for i in range(len(city))]
     map_1 = Map()
     map_1.set_global_opts(
         title_opts=opts.TitleOpts(title="2020年b站会员购商品线下分布"),
         visualmap_opts=opts.VisualMapOpts(max_=100)  # 最大数据范围
     )
     map_1.add("2020年b站会员购商品线下分布", data, maptype="china")
     map_1.render('vip.html')
def map_cs_level():
    global wid, hei
    levels = ['A+', 'A', 'A-', 'B+', 'B', 'B-', 'C+', 'C', 'C-']
    data = analysis_data.get_cs_level_raw()
    c = Map(init_opts=opts.InitOpts(width=wid, height=hei))
    for i in levels:
        c.add(i, data[i], "china")
    c.set_global_opts(visualmap_opts=opts.VisualMapOpts(min_=0, max_=5),
                      legend_opts=opts.LegendOpts(selected_mode='single'),
                      title_opts=opts.TitleOpts(title="计科学科评估"))
    return c
Esempio n. 20
0
def map_province():
    obj_map = Map()
    # Faker.guangdong_city数据生成只有这一个省的城市列表
    # henan_city是通过修改Faker文件自定义的
    obj_map.add("河南", [list(z) for z in zip(Faker.henan_city, Faker.values())], "河南")
    obj_map.set_series_opts(label_opts=opts.LabelOpts(is_show=False))
    obj_map.set_global_opts(
        title_opts=opts.TitleOpts(title="Map-河南",subtitle ="副标题"),
        visualmap_opts=opts.VisualMapOpts(),
    )
    return obj_map
Esempio n. 21
0
def render():
    world_map = getData()
    china_map = getChinaData()
    map = Map(
        options.InitOpts(bg_color="#87CEFA",
                         width="100%",
                         height="900px",
                         page_title='世界疫情分布'))
    for item in maps:
        map_data = {}
        for item_map in world_map:
            name = item_map['name']  # 国家名
            count = int(item_map[item])  # 该国家人数
            map_data[name] = count
        map_data['中国'] = china_map[item]
        map.add(
            series_name=maps[item],  # 名称
            data_pair=list(map_data.items()),  # 传入数据
            maptype='world',  # 地图类型
            is_map_symbol_show=False,  # 不显示标记
            name_map=name_map)

    map.set_global_opts(
        visualmap_opts=options.VisualMapOpts(max_=1100000,
                                             is_piecewise=True,
                                             pieces=[
                                                 {
                                                     "min": 500000
                                                 },
                                                 {
                                                     "min": 200000,
                                                     "max": 499999
                                                 },
                                                 {
                                                     "min": 100000,
                                                     "max": 199999
                                                 },
                                                 {
                                                     "min": 50000,
                                                     "max": 99999
                                                 },
                                                 {
                                                     "min": 10000,
                                                     "max": 49999
                                                 },
                                                 {
                                                     "max": 9999
                                                 },
                                             ]))

    map.set_series_opts(label_opts=options.LabelOpts(is_show=False))  # 不显示国家名
    map.add_js_funcs("""document.body.style.backgroundColor="#87CEFA"
    """)
    map.render('map.html')  # 命名并保存
Esempio n. 22
0
def render_map():
    with open("./data/countries.geo.json", "r") as f:
        map = st_Map("world", json.loads(f.read()),)
    c = Map(init_opts=opts.InitOpts(bg_color="white"))
    c.add("Demo", [list(z) for z in zip(Faker.country, Faker.values())], "world")
    c.set_series_opts(label_opts=opts.LabelOpts(is_show=False))
    c.set_global_opts(
        title_opts=opts.TitleOpts(title="Map world"),
        visualmap_opts=opts.VisualMapOpts(max_=200),
    )
    st_pyecharts(c, map=map, height=500)
Esempio n. 23
0
def map_visualmap(sequence, date):
    c = Map()
    c.add(date,
          sequence,
          maptype="world",
          label_opts=opts.LabelOpts(is_show=False, font_size=8),
          is_map_symbol_show=False,
          is_roam=True)
    c.set_global_opts(title_opts=opts.TitleOpts(title=titleIn,subtitle="数据来源约翰霍普金斯大学JHU CSSE"),
        legend_opts=opts.LegendOpts(is_show=False),visualmap_opts=opts.VisualMapOpts(is_piecewise=True,\
        pieces=pieces_list))
    return c
Esempio n. 24
0
def get_map(labels, counts, where, title, size, pieces):
    my_map = Map(init_opts=opts.InitOpts(width=size[0], height=size[1]))
    my_map.add("新冠数据", [list(z) for z in zip(labels, counts)], where)
    my_map.set_series_opts(label_opts=opts.LabelOpts(font_size=8))
    my_map.set_global_opts(
        title_opts=opts.TitleOpts(title=title),
        legend_opts=opts.LegendOpts(is_show=False),
        visualmap_opts=opts.VisualMapOpts(pieces=pieces,
                                          is_piecewise=True,
                                          is_show=False),
    )
    return my_map
Esempio n. 25
0
def display_recent_overall_distribution(pic_file, maxCount=500, **kwargs):
    """
    display the distribution of recent total numbers of nation-wide confirmed
    patients in China.

    Parameters
    ----------
    pic_file: str
        absolute path of the generated figure.
    maxCount: int
        maximumn count of colorbar. (default: 500)
    """

    conn = db.connect(dbFile)
    cu = conn.cursor()
    cu.execute("""select provinceShortName, confirmedCount
        from Region_Data
        where updateTime in (select max(updateTime)
        from Region_Data r_d
        where r_d.country='中国' and r_d.region_id=Region_Data.region_id)
        group by Region_Data.region_id;
        """)
    recentProvinceData = cu.fetchall()

    cu.execute("""select max(updateTime) from Region_Data;""")
    recentTime = cu.fetchone()
    recentTimeObj = dt.datetime.utcfromtimestamp(int(recentTime[0]) / 1000)

    # color-plot
    list1 = [[recentProvinceData[i][0], recentProvinceData[i][1]]
             for i in range(len(recentProvinceData))]
    map_1 = Map()
    map_1.add("{0}全国各省感染总人数".format(recentTimeObj.strftime('%y-%m-%d')),
              list1,
              maptype="china",
              is_map_symbol_show=False)
    map_1.set_global_opts(title_opts=opts.TitleOpts(
        title="{0}全国各省感染总人数".format(recentTimeObj.strftime('%y-%m-%d'))),
                          visualmap_opts=opts.VisualMapOpts(max_=maxCount))

    if 'notebook' in kwargs.keys():
        if kwargs['notebook']:
            map_1.render_notebook()
    else:
        html_file = '{0}.html'.format(os.path.splitext(pic_file)[0])
        tmpHtmlFile = map_1.render()
        shutil.move(tmpHtmlFile, html_file)
        make_snapshot(snapshot,
                      file_name=html_file,
                      output_name=pic_file,
                      is_remove_html=False,
                      **kwargs)
Esempio n. 26
0
def map_visualmap(sequence, date) -> Map:
    c =Map()
    c.add(date, sequence, maptype="china")
    c.set_global_opts(title_opts=opts.TitleOpts(title="CBIC:全国现存确诊人数_至3月30号",subtitle="数据来源于丁香园"),visualmap_opts=opts.VisualMapOpts(max_=1400,range_color=["#F8F8FF",'#FF0909']))
    # c = (
    #     Map()
    #     .add(date, sequence, maptype="china")
    #     .set_global_opts(
    #         title_opts=opts.TitleOpts(title="全国疫情动态地图_确诊累计人数_截至至3月14号"),
    #         visualmap_opts=opts.VisualMapOpts(max_=1400)
    #     )
    # )
    return c
Esempio n. 27
0
def show_map_charts(df):
    # 计数,[0:10]取前10
    city_num = df['province'].value_counts()  # 应该是按省份显示的
    # 返回index列表和value列表组成的元组[('北京', 62), ('上海', 50)],再将元组转换成列表[['北京', 62], ['上海', 50]]
    city_list = [
        list(z) for z in zip(city_num.index.tolist(), city_num.values.tolist())
    ]
    map1 = Map(init_opts=opts.InitOpts(width='1350px', height='750px'))
    map1.add(series_name='评论数量', data_pair=city_list, maptype='china')
    map1.set_global_opts(title_opts=opts.TitleOpts(title='评论用户国内城市分布'),
                         visualmap_opts=opts.VisualMapOpts(max_=50),
                         toolbox_opts=opts.ToolboxOpts())
    map1.render('charts/map_chart.html')
Esempio n. 28
0
def chinaMap(value):
    province_distribution = {
        '河南': 45.23,
        '北京': 37.56,
        '河北': 21,
        '辽宁': 12,
        '江西': 6,
        '上海': 20,
        '安徽': 10,
        '江苏': 16,
        '湖南': 9,
        '浙江': 13,
        '海南': 2,
        '广东': 22,
        '湖北': 8,
        '黑龙江': 11,
        '澳门': 1,
        '陕西': 11,
        '四川': 7,
        '内蒙古': 3,
        '重庆': 3,
        '云南': 6,
        '贵州': 2,
        '吉林': 3,
        '山西': 12,
        '山东': 11,
        '福建': 4,
        '青海': 1,
        '天津': 1,
        '其他': 1
    }
    #provice = list(province_distribution.keys())
    #values = list(province_distribution.values())
    provice = list()
    values = list()
    for item in value:
        values.append(item['total']['confirm'])
        provice.append(item['name'])
    #print(provice)

# print(values)
    map = Map("疫情地图", width=1200, height=600)
    map.add("疫情",
            provice,
            values,
            visual_range=[0, 500],
            maptype='china',
            is_visualmap=True,
            visual_text_color='#000',
            is_label_show=True)
    map.render(path="中国地图.html")
Esempio n. 29
0
def map_visualmap(sequence, date) -> Map:
    c = Map()
    c.add(date, sequence, maptype="china")
    c.set_global_opts(title_opts=opts.TitleOpts(title="CBIC:全国各省现存确诊_至4月8号",subtitle="数据来源于丁香园"),legend_opts=opts.LegendOpts(is_show=False),visualmap_opts=opts.VisualMapOpts(is_piecewise=True,\
        pieces=pieces_list))
    # c = (
    #     Map()
    #     .add(date, sequence, maptype="china")
    #     .set_global_opts(
    #         title_opts=opts.TitleOpts(title="全国疫情动态地图_确诊累计人数_截至至3月14号"),
    #         visualmap_opts=opts.VisualMapOpts(max_=1400)
    #     )
    # )
    return c
Esempio n. 30
0
def show_map_charts():
    city_num = df['city_dealed'].value_counts()
    city_num.drop('国外', inplace=True)
    city_num.drop('未填写', inplace=True)

    map1 = Map(init_opts=opts.InitOpts(width='1350px', height='750px'))
    map1.add("", [
        list(z) for z in zip(city_num.index.tolist(), city_num.values.tolist())
    ],
             maptype='china')
    map1.set_global_opts(title_opts=opts.TitleOpts(title='评论者国内城市分布'),
                         visualmap_opts=opts.VisualMapOpts(max_=50),
                         toolbox_opts=opts.ToolboxOpts())
    map1.render()