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() }
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 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)
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("出现错误,停止绘制图表!")
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
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
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")
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")
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
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
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)
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
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')
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")
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
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
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
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') # 命名并保存
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)
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
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
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)
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
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')
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")
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
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()