欢迎光临千百叶网
详情描述

1. Pyecharts(推荐:简单易用)

from pyecharts.charts import BMap
from pyecharts import options as opts

# 百度地图可视化
map_chart = BMap(init_opts=opts.InitOpts(width="1000px", height="600px"))
map_chart.add_schema(
    baidu_ak="你的百度AK",  # 需申请百度地图AK
    center=[116.397428, 39.90923],  # 北京
    zoom=11,
    is_roam=True
)

# 添加点
data = [
    ("天安门", [116.397443, 39.909187]),
    ("故宫", [116.397026, 39.918058]),
    ("颐和园", [116.271728, 39.999939])
]
map_chart.add_coordinate("天安门", 116.397443, 39.909187)
map_chart.add(
    series_name="景点",
    type_="scatter",
    data_pair=[("天安门", 1), ("故宫", 1), ("颐和园", 1)],
    label_opts=opts.LabelOpts(is_show=False),
)
map_chart.render("baidu_map.html")  # 生成html文件

2. Folium(基于Leaflet)

import folium

# 创建地图
m = folium.Map(
    location=[39.90923, 116.397428],  # 北京
    zoom_start=12,
    tiles='OpenStreetMap'  # 可以换成其他瓦片
)

# 添加标记
folium.Marker(
    [39.909187, 116.397443],
    popup='天安门',
    tooltip='点击查看详情'
).add_to(m)

# 添加圆形区域
folium.Circle(
    radius=1000,
    location=[39.909187, 116.397443],
    color='red',
    fill=True
).add_to(m)

# 保存
m.save('map.html')

3. Plotly Express(交互式地图)

import plotly.express as px
import pandas as pd

# 创建数据
df = pd.DataFrame({
    'city': ['北京', '上海', '广州', '深圳'],
    'lat': [39.9042, 31.2304, 23.1291, 22.5431],
    'lon': [116.4074, 121.4737, 113.2644, 114.0579],
    'value': [100, 80, 60, 70]
})

# 创建散点地图
fig = px.scatter_mapbox(
    df,
    lat='lat',
    lon='lon',
    size='value',
    color='value',
    text='city',
    zoom=4,
    height=600
)

fig.update_layout(
    mapbox_style="open-street-map",  # 或"carto-positron", "stamen-terrain"
    margin={"r":0, "t":0, "l":0, "b":0}
)

fig.show()

4. 简化的完整示例(公交站点可视化)

import pandas as pd
import folium
from folium.plugins import MarkerCluster

# 模拟公交站点数据
data = {
    'station': ['站点A', '站点B', '站点C', '站点D'],
    'lat': [39.91, 39.92, 39.93, 39.94],
    'lon': [116.40, 116.41, 116.42, 116.43],
    'passengers': [100, 200, 150, 80]
}
df = pd.DataFrame(data)

# 创建地图
m = folium.Map(
    location=[df['lat'].mean(), df['lon'].mean()],
    zoom_start=13
)

# 添加聚类标记
marker_cluster = MarkerCluster().add_to(m)

# 添加站点
for idx, row in df.iterrows():
    folium.CircleMarker(
        location=[row['lat'], row['lon']],
        radius=row['passengers']/20,
        popup=f"{row['station']}: {row['passengers']}人",
        color='blue',
        fill=True
    ).add_to(marker_cluster)

# 添加热力图
from folium.plugins import HeatMap
heat_data = [[row['lat'], row['lon'], row['passengers']] for _, row in df.iterrows()]
HeatMap(heat_data).add_to(m)

m.save('bus_stations.html')
print("地图已保存为 bus_stations.html")

5. 获取百度地图AK的步骤

访问百度地图开放平台(https://lbsyun.baidu.com/) 注册登录 → 控制台 → 创建应用 获取AK(服务端AK或浏览器端AK)

各方案对比

方案 优点 缺点 适用场景
Pyecharts 中文友好,样式美观 需要百度AK 需要百度地图风格的场景
Folium 简单易用,插件丰富 交互性一般 快速创建交互式地图
Plotly 交互性强,图表美观 需要学习plotly语法 数据分析展示
Geopandas 专业GIS功能 学习曲线较陡 地理数据分析

快速开始建议

如果只需要简单展示 → 用Folium 如果需要百度地图样式 → 用Pyecharts 如果需要高度交互 → 用Plotly

注意事项

地图API可能有调用限制 商业用途需要关注地图服务的授权 大量数据点建议使用聚类或热力图

需要哪个具体功能(如路径规划、地理编码、热力图等)我可以提供更详细的代码示例。

相关帖子
Windows Server 2025 搭建AD域控和初始化
Windows Server 2025 搭建AD域控和初始化
深圳市南山区房抵贷银行办理-房产抵押贷款额度,住房公积金贷款
深圳市南山区房抵贷银行办理-房产抵押贷款额度,住房公积金贷款
深圳市盐田区小面积房子抵押贷款-房屋抵押贷款正规公司,小额银行信用贷款
深圳市盐田区小面积房子抵押贷款-房屋抵押贷款正规公司,小额银行信用贷款
“脑机接口”概念兴起,未来它可能读取并存储哪些我们的大脑生物信号?
“脑机接口”概念兴起,未来它可能读取并存储哪些我们的大脑生物信号?
冬季为防止暖气流失,采用短时间“爆裂通风”法是否比微开窗更科学节能?
冬季为防止暖气流失,采用短时间“爆裂通风”法是否比微开窗更科学节能?
晚期胃癌可以吃枸杞吗
晚期胃癌可以吃枸杞吗
鹤壁市过桥垫资本地公司#专业办理房抵贷-正规车贷公司
鹤壁市过桥垫资本地公司#专业办理房抵贷-正规车贷公司
2026年医保门诊统筹的报销比例和起付线标准是如何规定的?
2026年医保门诊统筹的报销比例和起付线标准是如何规定的?
2026年,普通人可以通过哪些免费或低成本的学习资源来提升副业技能?
2026年,普通人可以通过哪些免费或低成本的学习资源来提升副业技能?
MySQL 主键不推荐使用 UUID 的深层原因及解决方案
MySQL 主键不推荐使用 UUID 的深层原因及解决方案
丰城市个人借款应急短借@汽车抵押贷款押车当天到账-房产抵押贷款门店办理
丰城市个人借款应急短借@汽车抵押贷款押车当天到账-房产抵押贷款门店办理
吉安市公司车贷款#车子抵押贷款押绿本|小额信贷
吉安市公司车贷款#车子抵押贷款押绿本|小额信贷
酒泉市住房公积金银行信用贷款代办公司@个人房屋抵押贷款-汽车押绿本贷款
酒泉市住房公积金银行信用贷款代办公司@个人房屋抵押贷款-汽车押绿本贷款
Docker Desktop安装Redis并挂载配置文件方式
Docker Desktop安装Redis并挂载配置文件方式
湖州市房屋一押二押贷款@个人房子抵押银行贷款-正规抵押贷款公司
湖州市房屋一押二押贷款@个人房子抵押银行贷款-正规抵押贷款公司
禄丰市公积金银行信用贷款代办#车子抵押个人应急贷款-个人应急周转贷款
禄丰市公积金银行信用贷款代办#车子抵押个人应急贷款-个人应急周转贷款
晋城市泽州县房子红本银行抵押贷款-房产抵押贷款,个人消费信用贷款
晋城市泽州县房子红本银行抵押贷款-房产抵押贷款,个人消费信用贷款
宁河房产证抵押贷款-个人房产银行贷款,小额银行信用贷款
宁河房产证抵押贷款-个人房产银行贷款,小额银行信用贷款
将Perl5代码迁移到Perl6上的解决方案
将Perl5代码迁移到Perl6上的解决方案