import pandas as pd
from pyecharts.globalsimport ThemeType, CurrentConfig, GeoType
from pyecharts import options as opts
from pyecharts.charts import Geo
CurrentConfig.ONLINE_HOST ='D:/python/pyecharts-assets-master/assets/'# pandas读取csv文件数据
df = pd.read_csv("china.csv")['City']
data = df.value_counts()
datas =[(i,int(j))for i, j inzip(data.index, data.values)]print(datas)
geo = Geo(init_opts=opts.InitOpts(width='1000px', height='600px', theme=ThemeType.DARK))
geo.add_schema(maptype='china', label_opts=opts.LabelOpts(is_show=True))# 显示label 省名
geo.add('门店数量', data_pair=datas, type_=GeoType.EFFECT_SCATTER, symbol_size=8)
geo.set_series_opts(label_opts=opts.LabelOpts(is_show=False))
geo.set_global_opts(title_opts=opts.TitleOpts(title='星巴克门店在中国的分布'),
visualmap_opts=opts.VisualMapOpts(max_=550, is_piecewise=True,
pieces=[{"max":50,"min":0,"label":"0-50","color":"#708090"},# 分段 添加图例注释 和颜色{"max":100,"min":51,"label":"51-100","color":"#00FFFF"},{"max":200,"min":101,"label":"101-200","color":"#00008B"},{"max":300,"min":201,"label":"201-300","color":"#8B008B"},{"max":600,"min":500,"label":"500-600","color":"#FF0000"},]))
geo.render("星巴克门店在中国的分布.html")
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
运行效果如下:
动态轨迹图
from pyecharts import options as opts
from pyecharts.charts import Geo
from pyecharts.globalsimport ChartType, SymbolType, CurrentConfig
CurrentConfig.ONLINE_HOST ='D:/python/pyecharts-assets-master/assets/'# 链式调用
c =(
Geo().add_schema(
maptype="china",
itemstyle_opts=opts.ItemStyleOpts(color="#323c48", border_color="#111"),
label_opts=opts.LabelOpts(is_show=True)).add("",[("广州",55),("北京",66),("杭州",77),("重庆",88),('成都',100),('海口',80)],
type_=ChartType.EFFECT_SCATTER,
color="white",).add("",[("广州","上海"),("广州","北京"),("广州","杭州"),("广州","重庆"),('成都','海口'),('海口','北京'),('海口','重庆'),('重庆','上海')],
type_=ChartType.LINES,
effect_opts=opts.EffectOpts(
symbol=SymbolType.ARROW, symbol_size=6, color="blue"),
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="动态轨迹图")).render("geo_lines_background.html"))
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
运行效果如下:
3. 省市地图—数据可视化
热力图
代码如下:
from pyecharts import options as opts
from pyecharts.charts import Geo
from pyecharts.faker import Faker
from pyecharts.globalsimport GeoType, CurrentConfig
CurrentConfig.ONLINE_HOST ='D:/python/pyecharts-assets-master/assets/'
c =(
Geo().add_schema(maptype="广东", label_opts=opts.LabelOpts(is_show=True)).add("热力图",[list(z)for z inzip(Faker.guangdong_city, Faker.values())],
type_=GeoType.HEATMAP,).set_series_opts(label_opts=opts.LabelOpts(is_show=True)).set_global_opts(
visualmap_opts=opts.VisualMapOpts(), title_opts=opts.TitleOpts(title="Geo-广东地图")).render("geo_guangdong.html"))