地图与地理坐标可视化

前言

导入基本包

import numpy as np
import pandas as pd
import json
from pandas.io.json import json_normalize
import pyecharts as pe
from collections import Counter

一、geo

官网的例子:

from pyecharts.faker import Faker
from pyecharts import options as opts
from pyecharts.charts import Geo
from pyecharts.globals import ChartType, SymbolType


g0 = Geo()
g0.add_schema(maptype="china")
g0.add("geo", [list(z) for z in zip(Faker.provinces, Faker.values())])
g0.set_series_opts(label_opts=opts.LabelOpts(is_show=False))#去掉标识
g0.set_global_opts(
            visualmap_opts=opts.VisualMapOpts(is_piecewise=True,max_=300),#显示坐下角的颜色控制,max_=300是控制范围的
            title_opts=opts.TitleOpts(title="Geo-基本示例"),
        )
g0.render_notebook()

在这里插入图片描述
可以选择省市:
可以通过maptype来选择具体省市的地图

g0 = Geo()
g0.add_schema(maptype="浙江")#可以通过maptype来选择具体省市的地图
g0.add("geo", [["杭州",50],["宁波",30],["义乌",20],["萧山",99]])
g0.set_series_opts(label_opts=opts.LabelOpts(is_show=False))#去掉标识
g0.set_global_opts(
            visualmap_opts=opts.VisualMapOpts(is_piecewise=True,max_=300),
            title_opts=opts.TitleOpts(title="Geo-基本示例"),
        )
g0.render_notebook()

在这里插入图片描述
利用g.add_coordinate画自定义坐标
经纬度查询:http://www.gpsspg.com/maps.htm.

from pyecharts.globals import GeoType  #导包

g = Geo()
g.add_schema(maptype=city)

g.add_coordinate('杭州师范大学仓前校区',120.0109472358, 30.2910373720)#注意这里要求经度在前维度在后
g.add_coordinate('萧山城厢街道',120.2740081170, 30.1605364542)

data_pair = [('杭州师范大学仓前校区', 100),('萧山城厢街道', 500),("杭州",50)]

g.add('', data_pair,symbol_size=20)

#  is_piecewise 是否自定义分段, 变为true 才能生效
g.set_global_opts(
        visualmap_opts=opts.VisualMapOpts(is_piecewise=True,max_=800),#注意默认max_
        title_opts=opts.TitleOpts(title="{}-店铺分布".format(city)),
    )

g.render_notebook()

在这里插入图片描述

city = '杭州'
g = Geo()
g.add_schema(maptype=city)
# 定义坐标对应的名称,添加到坐标库中 add_coordinate(name, lng, lat)
g.add_coordinate('杭州师范大学仓前校区',120.0109472358, 30.2910373720)#注意这里要求经度在前维度在后
g.add_coordinate('萧山城厢街道',120.2740081170, 30.1605364542)
# 定义数据对
data_pair = [('杭州师范大学仓前校区', 10),('萧山城厢街道', 5),("杭州",50)]

# Geo 图类型,有 scatter, effectScatter, heatmap, lines 4 种,建议使用
# from pyecharts.globals import GeoType
# GeoType.GeoType.EFFECT_SCATTER,GeoType.HEATMAP,GeoType.LINES
# 将数据添加到地图上
g.add('', data_pair, type_=GeoType.EFFECT_SCATTER, symbol_size=15)
# 设置样式
g.set_series_opts(label_opts=opts.LabelOpts(is_show=False))

# 自定义分段 color 可以用取色器取色
pieces = [
        {'max': 6, 'label': '5以下', 'color': '#FF00FF'},
        {'min': 6, 'max': 10, 'label': '5-10', 'color': 'yellow'},
        {'min': 10, 'max': 100, 'label': '10-100', 'color': 'red'} # 有下限无上限
    ]
#  is_piecewise 是否自定义分段, 变为true 才能生效
g.set_global_opts(
        visualmap_opts=opts.VisualMapOpts(is_piecewise=True, pieces=pieces),#注意默认max_
        title_opts=opts.TitleOpts(title="{}-店铺分布".format(city)),
    )

g.render_notebook()

在这里插入图片描述

二、map作图

map的功能和geo有不少重合,区别在于可以显示地图区域块

from pyecharts.charts import Map

[list(z) for z in zip(Faker.provinces, Faker.values())]#数据

m1=Map()
m1.add("商家A", [list(z) for z in zip(Faker.provinces, Faker.values())], "china")
m1.set_global_opts(
            title_opts=opts.TitleOpts(title="Map-VisualMap(分段型)"),
            visualmap_opts=opts.VisualMapOpts(max_=200, is_piecewise=True),
        )
m1.render_notebook()

在这里插入图片描述
实例:
2020年重庆各区县GDP地图

import numpy as np
import pandas as pd
from pyecharts.charts import Map
df = pd.read_excel(r"C:\Users\86185\Desktop\重庆各区县GDP.xlsx")
df1 = df.values #转换成画地图的形式
df1

m1=Map()
m1.add("重庆各区县2020年GDP", df1, "重庆")
m1.set_global_opts(
            title_opts=opts.TitleOpts(title="Map-VisualMap(分段型)"),
            visualmap_opts=opts.VisualMapOpts(max_=2010, is_piecewise=True),
        )
m1.render_notebook()

在这里插入图片描述

  • 0
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值