温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

如何利用pyecharts绘制地理散点图

发布时间:2022-03-07 11:56:02 来源:亿速云 阅读:187 作者:小新 栏目:开发技术

小编给大家分享一下如何利用pyecharts绘制地理散点图,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!

1.背景

利用上海市7000+办公楼项目,包括项目名称,地理位置,每天的租金,建筑面积和项目所在的商圈,现在要让这些项目按经纬度落位到地图上去,并且按颜色显示租金的高低,之前比较多的事操作ArcGIS软件来做,这一次,准备试试pyecharts模块,直接用python脚本生成。

如何利用pyecharts绘制地理散点图

2.效果图

效果图大致如下:

如何利用pyecharts绘制地理散点图

3.完整代码

import pandas as pd #导入数据分析模块
from pyecharts.charts import Geo #导入地理信息处理模块
from pyecharts import options as opts  #配置
from pyecharts.render import make_snapshot #快照
from snapshot_selenium import snapshot 
from pyecharts.globals import ChartType, SymbolType #全局配置

data=pd.read_excel("D:\数有引力\魔都商圈\办公项目.xlsx")  #读取数据
geo_sight_coord={data['项目名称'][i].strip(): [data['经度'][i], data['纬度'][i]] for i in range(len(data))} #构造位置字典数据
data_pair=[(data['项目名称'][i].strip(), data['日租金'][i]) for i in range(len(data))] #构造项目租金数据

g=Geo() #地理初始化
g.add_schema(maptype="上海") #限定上海市范围
for key, value in geo_sight_coord.items(): #对地理点循环
    g.add_coordinate(key, value[0], value[1]) #追加点位置

g.add("", data_pair, symbol_size=2) #追加项目名称和租金
g.set_series_opts(label_opts=opts.LabelOpts(is_show=False), type='scatter')  #星散点图scatter

pieces = [
        {'max': 3, 'label': '<3', 'color': '#00B2EE'},
        {'min': 3, 'max': 6, '3~6': 'love', 'color': '#71C671'},
        {'min': 6, 'max': 10, '6~10': 'always', 'color': '#CD4F39'},
        {'min': 10,  'label': '10+', 'color': '#FF0000'} # 有下限无上限
         ]

g.set_global_opts(visualmap_opts=opts.VisualMapOpts(is_piecewise=True, pieces=pieces), title_opts=opts.TitleOpts(title="办公项目分布")) #办公项目分布图

make_snapshot(snapshot, g.render("上海市办公项目.html"), "上海市办公项目.png") #渲染成html格式和png格式

4.代码解读

整个流程包括pandas读取数据和处理,geo生成地图和向地图添加数据,渲染地图,这里主要介绍处理数据两点

1,项目名称,项目经度,项目纬度三个字段构成一个字典类型数据

geo_sight_coord={data['项目名称'][i].strip(): [data['经度'][i], data['纬度'][i]] for i in range(len(data))}

每个地理数据格式如下:

{"新桥大厦": 121.472534, 31.246122}

2,项目租金数据通过如下语句构造成元组

data_pair=[(data['项目名称'][i].strip(), data['日租金'][i]) for i in range(len(data))]

每个项目租金数据格式如下:

("新桥大厦": 4.3 )

看完了这篇文章,相信你对“如何利用pyecharts绘制地理散点图”有了一定的了解,如果想了解更多相关知识,欢迎关注亿速云行业资讯频道,感谢各位的阅读!

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI