Python案例 |地图绘制及分级着色

1、分级着色地图

分级着色地图常用于可视化地理数据,比如人口密度、经济数据、气候变化等。其原理是使用颜色或阴影的渐变来表示不同区域(如国家、省份、城市等)中的数据差异。例如,地图上的每个区域根据其代表的数值被着色,通常数值越大,颜色越深。

2、案例1

复制代码
import plotly.express as px
import pandas as pd

# 将数据转化为pandas DataFrame
data = {
    'Country': ['Australia', 'United States', 'Brazil', 'Russia', 'India', 'South Africa', ],
    'Value': [100, 90, 80, 70, 85, 95]
}

df = pd.DataFrame(data)

# 创建Choropleth地图
fig = px.choropleth(
    df,
    locations='Country',
    locationmode='country names',
    color='Value', color_continuous_scale='Blues',
    title='分级着色地图'
)
# 显示地图
fig.show()

运行结果:

2、案例2

复制代码
import pandas as pd
import plotly.express as px
import numpy as np
import json

with open("china_province.geojson", encoding='utf8') as f:
    provinces_map = json.load(f)

df = pd.read_csv('data.csv')

df.确诊 = df.确诊.map(np.log)   # 由于各省确诊数据差距较大,数据尺度大,将所有数据采用对数形式
print(df.确诊)
fig = px.choropleth_mapbox(
    df,
    geojson=provinces_map,
    color='确诊',
    locations="地区",
    featureidkey="properties.NL_NAME_1",
    mapbox_style="carto-darkmatter",
    color_continuous_scale='viridis',
    center={"lat": 37.110573, "lon": 106.493924},
    zoom=3,
    hover_name="地区",
    hover_data=["确诊", "疑似", "治愈", "死亡"],
)
# fig.update_layout(margin={"r": 0, "t": 0, "l": 0, "b": 0})
fig.show()

运行结果:

参考资料

https://blog.csdn.net/u010099080/article/details/104543491

https://github.com/secsilm/plotly-choropleth-mapbox-demo

相关推荐
ghie90901 小时前
基于MATLAB GUI的伏安法测电阻实现方案
开发语言·matlab·电阻
Gao_xu_sheng2 小时前
Inno Setup(专业安装/更新 EXE)
开发语言
小途软件2 小时前
用于机器人电池电量预测的Sarsa强化学习混合集成方法
java·人工智能·pytorch·python·深度学习·语言模型
吴声子夜歌2 小时前
Java数据结构与算法——基本数学问题
java·开发语言·windows
扫地的小何尚3 小时前
NVIDIA RTX PC开源AI工具升级:加速LLM和扩散模型的性能革命
人工智能·python·算法·开源·nvidia·1024程序员节
wanglei2007083 小时前
生产者消费者
开发语言·python
清水白石0083 小时前
《从零到进阶:Pydantic v1 与 v2 的核心差异与零成本校验实现原理》
数据库·python
leo__5203 小时前
基于菲涅耳衍射积分的空心高斯光束传输数值模拟(MATLAB实现)
开发语言·matlab
昵称已被吞噬~‘(*@﹏@*)’~3 小时前
【RL+空战】学习记录03:基于JSBSim构造简易空空导弹模型,并结合python接口调用测试
开发语言·人工智能·python·学习·深度强化学习·jsbsim·空战
短剑重铸之日4 小时前
《SpringBoot4.0初识》第一篇:前瞻与思想
java·开发语言·后端·spring·springboot4.0