如何用pyecharts显现成都市的各个区域
程序员文章站
2022-07-15 14:50:24
...
如何用pyecharts显现成都市的各个区域
首先做出一个pyecharts的描点图
有python代码
from pyecharts.charts import Geo
from pyecharts import options as opts
from pyecharts.globals import GeoType
def test_geo():
city = '成都'
g = Geo()
g.add_schema(maptype=city)
# 定义坐标对应的名称,添加到坐标库中 add_coordinate(name, lng, lat)
g.add_coordinate('成都武侯川音的12南街7号', 104.08590643213, 30.646216400758)
g.add_coordinate('成都郫都红光的1958青年公馆', 103.961744, 30.792374)
g.add_coordinate('成都郫都郫县万达的348厂家属院', 103.912564, 30.809376)
g.add_coordinate('成都成华新华公园的420厂宿舍', 104.116379, 30.649942)
g.add_coordinate('成都郫都郫县城区的598家属院二期', 103.88063525857, 30.804865543353)
g.add_coordinate('成都高新神仙树的630宿舍', 104.051946, 30.627724)
# 数据对,
data_pair = [
('成都武侯川音的12南街7号', 3),
('成都郫都红光的1958青年公馆', 3),
('成都郫都郫县万达的348厂家属院', 4),
('成都成华新华公园的420厂宿舍', 4),
('成都郫都郫县城区的598家属院二期', 1),
('成都高新神仙树的630宿舍', 9)]
g.add('', data_pair, type_=GeoType.EFFECT_SCATTER, symbol_size=5)
# 样式
g.set_series_opts(label_opts=opts.LabelOpts(is_show=False))
pieces = [
{'max': 1, 'label': '0以下', 'color': '#50A3BA'},
{'min': 1, 'max': 10, 'label': '1-10', 'color': '#3700A4'},
{'min': 10, 'max': 20, 'label': '10-20', 'color': '#81AE9F'},
{'min': 20, 'max': 30, 'label': '20-30', 'color': '#E2C568'},
{'min': 30, 'max': 50, 'label': '30-50', 'color': '#FCF84D'},
{'min': 50, 'max': 100, 'label': '50-100', 'color': '#DD0200'},
{'min': 100, 'max': 200, 'label': '100-200', 'color': '#DD675E'},
{'min': 200, 'label': '200以上', 'color': '#D94E5D'} # 可添加
]
g.set_global_opts(
visualmap_opts=opts.VisualMapOpts(is_piecewise=True, pieces=pieces),
title_opts=opts.TitleOpts(title="{}-成都租房分布情况".format(city)),
)
return g
g = test_geo()
# 浏览器可在生成的html直接打开
g.render('chengdu.html')
上图是一个成都的描点图由于数据过多,点也有点多
如何在每个区域上命名呢
pyecharts画图生成一个HTML文档
代码上有*geo的添加下列代码(区域)如果是数据点的标签在**series***下粘贴上面的代码
"label":{ "normal":{ "show":"true"},
"emphasis":{"show":"true"}
},
上效果图