pyhton_绘制支援地图
自己改良了下,直接加载execel表格的数据
from pyecharts import options as opts
from pyecharts.charts import Geo
from pyecharts.globals import ChartType, SymbolType
# 导入数据
# 湖北地区新增数据
data_num = pandas.read_excel('C:/data/zhiyuan.xlsx',sheet_name='湖北确诊人数')
# 将数据转换为二元的列表
data_num_list = list(zip(data_num['area'],data_num['num']))
# 支援对应关系数据
zhiyuan_rel = pandas.read_excel('C:/data/zhiyuan.xlsx',sheet_name='支援对应关系')
# 将数据转换为二元的列表
zhiyuan_rel_list = list(zip(zhiyuan_rel['province'],zhiyuan_rel['area']))
def geo_lines() -> Geo:
c = (
Geo(init_opts=opts.InitOpts('1200px','800px'))
.add_schema(
maptype="china",
)
.add(
"湖北地区新增确诊人数",
# [('荆门',663),('十堰',467),('仙桃',379),
# ('恩施',171),('随州',984),('荆州',997),
# ('黄石',760),('神农架',10),('襄阳',988),
# ('天门',197),('宜昌',711),('鄂州',639),
# ('潜江',82),('孝感',2436),('黄冈',2141),
# ('咸宁',493)],
data_num_list,
type_="scatter",
color="red",
is_polyline=True
)
.add(
"对应支援关系",
# [('浙江','荆门'),('陕西','十堰'),('四川','仙桃'),
# ('贵州','恩施'),('河南','随州'),('湖南','荆州'),
# ('安徽','黄石'),('天津','神农架'),('河北','襄阳'),
# ('上海','天门'),('重庆','宜昌'),('广东','鄂州'),
# ('北京','潜江'),('江苏','孝感'),('山东','黄冈'),
# ('江西','咸宁')],
zhiyuan_rel_list,
type_=ChartType.LINES,
effect_opts=opts.EffectOpts(
symbol=SymbolType.ARROW, symbol_size=6,
color="orange"),
linestyle_opts=opts.LineStyleOpts(curve=0.2),
)
.set_series_opts(label_opts=opts.LabelOpts(is_show=False))
.set_global_opts(title_opts=opts.TitleOpts(title="16省支援地图"))
)
return c
a=geo_lines()
a.render('16省支援地图.html')
数据示例如下:
原文链接贴上:https://mp.weixin.qq.com/s?__biz=MzA5MjcxNDQxNw==&mid=2247487517&idx=1&sn=7702e5fabd6f60ba939a56da724fce43&chksm=9069b4c3a71e3dd55734c42e0addb1a42ecd90b712d5ee65d622da8d61b7a217a00c5f105f28&mpshare=1&scene=1&srcid=&sharer_sharetime=1585271663919&sharer_shareid=3177188b879205cdaf204a607a1dda00&key=415a1fbf986a67ef018582fbaf4918bc514494b638b3ad8143e7c6df985aa1dc1da4ac13c9ed2df7064173f7cf6921205a711260b5f5f4d0a03b04d0c647ed0e19b8bb87ee9aead2b4be428915111d12&ascene=1&uin=MjMzMTY4OTI2MQ%3D%3D&devicetype=Windows+10&version=62080079&lang=zh_CN&exportkey=AWBNIhxX7y4r%2BRl7nJTxwLM%3D&pass_ticket=EZTkZeaFj1a52g4%2BXdO4TiQsiMeh7AjS9o%2F9VMevjnaICrYQImAa%2Fwc%2B7PVNPpuM