from pyecharts import options as opts
from pyecharts.charts import Geo
from pyecharts.charts import Map
from pyecharts.globals import ChartType
from pyecharts.faker import Faker
from snapshot_phantomjs import snapshot
from pyecharts.render import make_snapshot
province = ['上海','江苏','浙江','湖北','广州','重庆','成都']
booking = [100000,150000,120000,200000,50000,100000,250000]
title1 = "Geo-visualMap 分段型"
c = (
Geo()
# Map()
.add_schema(maptype = "china")
.add('Booking per province',
[list (z) for z in zip(province,booking)])
# [list (z) for z in zip(province,booking)],"china")
.set_series_opts(label_opts = opts.LabelOpts(is_show = False)) #设置了true后会显示地点数值?
.set_global_opts(
visualmap_opts=opts.VisualMapOpts(is_piecewise = True,split_number = 10,max_= 250000),
#图例显示为分段还是连续型,可以设置为分开几段(不设置会默认分段),需要设置最大值, 默认的最大值只有100.
title_opts = opts.TitleOpts(title = title1))
# .render(r"E:\JupyterWork\geo_chart_countries_js"+title1+".html") 如果用make_snapshot 这行就不用了, 否则会报错...
)
make_snapshot(snapshot,c.render(),r"E:\workspace_yy\JupyterWork\geo_chart_countries_js"+title1+".png") #直接生成png图片
热力地图:
c2 = (
Geo()
.add_schema(maptype = 'china')
.add("热力图",
[list(z) for z in zip(province,booking)],
type_ = ChartType.HEATMAP)
.set_series_opts(label_opts=opts.LabelOpts(is_show=True))
.set_global_opts(
visualmap_opts=opts.VisualMapOpts(max_ = 250000), title_opts=opts.TitleOpts(title="Geo-中国地图"), )
#和上图一样,要设置下最大值!!!
#.render(r"E:\JupyterWork\geo_chart_countries_js_热力图.html") 用了make_snapshot这里就不用了, 会报错...
)
make_snapshot(snapshot,c2.render(),r"E:\workspace_yy\JupyterWork\geo_chart_countries_js_热力图.gif")#生成png图片