![Pyecharts在地图上面批量添加不同类别的点[Python],第1张 Pyecharts在地图上面批量添加不同类别的点[Python],第1张](/aiimages/Pyecharts%E5%9C%A8%E5%9C%B0%E5%9B%BE%E4%B8%8A%E9%9D%A2%E6%89%B9%E9%87%8F%E6%B7%BB%E5%8A%A0%E4%B8%8D%E5%90%8C%E7%B1%BB%E5%88%AB%E7%9A%84%E7%82%B9%5BPython%5D.png)
1.效果如图
2.使用的数据是来自数据,自行下载(使用时确保自己的安装目录)
3.图中的点代表某个城市,比如东莞市、南京市等。源码:
import json
import random
from pyecharts import options as opts
from pyecharts.charts import Geo
from pyecharts.globals import ThemeType
# 官方网站https://pyecharts.org/#/zh-cn/geography_charts
# 随机产生颜色值
def randomcolor():
colorArr = ['1','2','3','4','5','6','7','8','9','A','B','C','D','E','F']
color = ""
for i in range(6):
color += colorArr[random.randint(0,14)]
return "#"+color
# 加载中国省份数据
data_china_path = "../datas/china_region.json"
data_file = open(data_china_path, 'rb')
data = json.load(data_file)
# 所有的省份
provinces = data.get("districts")
provinces_num = len(provinces)
# 根据省份的数量生成颜色,不重复出现
colors = set()
while len(colors) < provinces_num:
# (因为要生成的数据较少,所以使用这种方式,当数据量大的时候,这种方式就很费劲。(最好就是获取所有的颜色,然后从中不放回的挑))
color = randomcolor()
colors.add(color)
colors = list(colors)
# 初始化
map = (
Geo(
init_opts=opts.InitOpts(width="1000px",
height="800px",
renderer="svg",
theme=ThemeType.LIGHT,
animation_opts=opts.AnimationOpts(animation=True))
)
# 选取地图
.add_schema(maptype="china",
layout_size=100)
)
data_pair_flag = 0
for province_index in range(provinces_num):
province = provinces[province_index]
province_name = province.get("name")
cities = province.get("districts")
cities_num = len(cities)
for city in cities:
city_name = city.get("name")
lon = city.get("center").get("longitude")
lat = city.get("center").get("latitude")
# 添加自定义点和属性
map.add_coordinate(city_name, lon, lat)
map.add(series_name=province_name,
data_pair=[(city_name, data_pair_flag*10)],
color=colors[province_index],
symbol_size=8,
)
data_pair_flag += 1
# 设置全局变量
map.set_series_opts(label_opts=opts.LabelOpts(is_show=False))
# 标题
# map.set_global_opts(title_opts=opts.TitleOpts(title="China"))
map.render('../results_maps/m03_pycharts.html')
齐活。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)