🧑 博主简介:曾任某智慧城市类企业
算法总监
,目前在美国市场的物流公司从事高级算法工程师
一职,深耕人工智能领域,精通python数据挖掘、可视化、机器学习等,发表过AI相关的专利并多次在AI类比赛中获奖。CSDN人工智能领域的优质创作者,提供AI相关的技术咨询、项目开发和个性化解决方案等服务,如有需要请站内私信或者联系任意文章底部的的VX名片(ID:xf982831907
)
💬 博主粉丝群介绍:① 群内初中生、高中生、本科生、研究生、博士生遍布,可互相学习,交流困惑。② 热榜top10的常客也在群里,也有数不清的万粉大佬,可以交流写作技巧,上榜经验,涨粉秘籍。③ 群内也有职场精英,大厂大佬,可交流技术、面试、找工作的经验。④ 进群免费赠送写作秘籍一份,助你由写作小白晋升为创作大佬。⑤ 进群赠送CSDN评论防封脚本,送真活跃粉丝,助你提升文章热度。有兴趣的加文末联系方式,备注自己的CSDN昵称,拉你进群,互相学习共同进步。
【数据可视化-48】城市热岛效应监测数据可视化分析
一、引言
城市热岛效应(UHI)是指城市地区温度显著高于周边农村地区的现象,这对当地气候、能源消耗、空气质量和公共卫生有着深远影响。本文将利用城市热岛监测数据集,从多个维度进行可视化分析,深入探讨城市化如何影响当地气候以及各因素之间的关系。该数据集涵盖了城市名称、地理位置、温度、土地覆盖类型等15个特征,为研究人员、城市规划者和环境科学家提供了宝贵的数据支持。以下分析将使用Seaborn库实现,提供完整的代码示例,以供读者参考和复现。
二、数据探索
2.1 数据集介绍
关于城市化对当地气候和健康影响的综合数据集包含以下变量:
2.2 数据清洗探索
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
import seaborn as sns
# 加载数据
df = pd.read_csv('urban_heat_island.csv') # 请替换为实际文件路径
# 查看数据维度
df.shape
# 查看数据基本信息
print(df.info())
# 查看空值情况
print(df.isna().sum())
从数据基本信息可发现:
- 数据共15个维度,包含字符串和数值类型。
- 一共有500条数据,且数据集中无缺失值。
三、单维度特征可视化
3.1 城市温度分布
plt.figure(figsize=(10, 6))
sns.histplot(df['Temperature (°C)'], bins=20, kde=True, color='skyblue')
plt.title('Distribution of City Temperatures')
plt.xlabel('Temperature (°C)')
plt.ylabel('Frequency')
plt.show()
3.2 土地覆盖类型分布
plt.figure(figsize=(10, 6))
sns.countplot(x='Land Cover', data=df, order=df['Land Cover'].value_counts().index)
plt.title('Distribution of Land Cover Types')
plt.xlabel('Land Cover')
plt.ylabel('Count')
plt.show()
3.3 人口密度分布
plt.figure(figsize=(10, 6))
sns.histplot(df['Population Density (people/km²)'], bins=20, kde=True, color='lightgreen')
plt.title('Distribution of Population Density')
plt.xlabel('Population Density (people/km²)')
plt.ylabel('Frequency')
plt.show()
3.4 空气质量指数分布
plt.figure(figsize=(10, 6))
sns.histplot(df['Air Quality Index (AQI)'], bins=20, kde=True, color='lightcoral')
plt.title('Distribution of Air Quality Index')
plt.xlabel('Air Quality Index (AQI)')
plt.ylabel('Frequency')
plt.show()
3.5 城市绿化率分布
plt.figure(figsize=(10, 6))
sns.histplot(df['Urban Greenness Ratio (%)'], bins=20, kde=True, color='gold')
plt.title('Distribution of Urban Greenness Ratio')
plt.xlabel('Urban Greenness Ratio (%)')
plt.ylabel('Frequency')
plt.show()
3.6 热相关健康影响分布
plt.figure(figsize=(10, 6))
sns.histplot(df['Health Impact (Mortality Rate/100k)'], bins=20, kde=True, color='purple')
plt.title('Distribution of Heat-Related Health Impact')
plt.xlabel('Health Impact (Mortality Rate/100k)')
plt.ylabel('Frequency')
plt.show()
四、各个特征与温度关系的可视化
4.1 土地覆盖类型与温度关系
plt.figure(figsize=(12, 6))
sns.boxplot(x='Land Cover', y='Temperature (°C)', data=df)
plt.title('Temperature Distribution by Land Cover Type')
plt.xlabel('Land Cover')
plt.ylabel('Temperature (°C)')
plt.show()
4.2 人口密度与温度关系
plt.figure(figsize=(12, 6))
sns.scatterplot(x='Population Density (people/km²)', y='Temperature (°C)', data=df, hue='Land Cover')
plt.title('Population Density vs Temperature')
plt.xlabel('Population Density (people/km²)')
plt.ylabel('Temperature (°C)')
plt.legend(bbox_to_anchor=(1.05, 1), loc='upper left')
plt.show()
4.3 能耗与温度关系
plt.figure(figsize=(12, 6))
sns.scatterplot(x='Energy Consumption (kWh)', y='Temperature (°C)', data=df, hue='Land Cover', palette='plasma')
plt.title('Energy Consumption vs Temperature')
plt.xlabel('Energy Consumption (kWh)')
plt.ylabel('Temperature (°C)')
plt.legend(bbox_to_anchor=(1.05, 1), loc='upper left')
plt.show()
4.4 空气质量指数与温度关系
plt.figure(figsize=(12, 6))
sns.scatterplot(x='Air Quality Index (AQI)', y='Temperature (°C)', data=df, hue='Land Cover', palette='magma')
plt.title('Air Quality Index vs Temperature')
plt.xlabel('Air Quality Index (AQI)')
plt.ylabel('Temperature (°C)')
plt.legend(bbox_to_anchor=(1.05, 1), loc='upper left')
plt.show()
4.5 城市绿化率与温度关系
plt.figure(figsize=(12, 6))
sns.scatterplot(x='Urban Greenness Ratio (%)', y='Temperature (°C)', data=df, hue='Land Cover', palette='cividis')
plt.title('Urban Greenness Ratio vs Temperature')
plt.xlabel('Urban Greenness Ratio (%)')
plt.ylabel('Temperature (°C)')
plt.legend(bbox_to_anchor=(1.05, 1), loc='upper left')
plt.show()
4.6 多维度组合分析(土地覆盖类型、人口密度与温度)
plt.figure(figsize=(12, 8))
for i, land_cover in enumerate(df['Land Cover'].unique()):
plt.subplot(2, 2, i + 1)
sns.scatterplot(x='Population Density (people/km²)', y='Temperature (°C)', data=df[df['Land Cover'] == land_cover], hue='Land Cover', palette='Set3')
plt.title(f'Temperature vs Population Density for {land_cover}')
plt.xlabel('Population Density (people/km²)')
plt.ylabel('Temperature (°C)')
plt.tight_layout()
plt.show()
4.7 多维度组合分析(土地覆盖类型、能耗与温度)
plt.figure(figsize=(14, 8))
for land_cover in df['Land Cover'].unique():
plt.figure(figsize=(12, 6))
sns.scatterplot(x='Energy Consumption (kWh)', y='Temperature (°C)', data=df[df['Land Cover'] == land_cover], hue='Land Cover', palette='Set3')
plt.title(f'Temperature vs Energy Consumption for {land_cover}')
plt.xlabel('Energy Consumption (kWh)')
plt.ylabel('Temperature (°C)')
plt.show()
4.8 多维度组合分析(土地覆盖类型、空气质量指数与温度)
plt.figure(figsize=(14, 8))
for i, land_cover in enumerate(df['Land Cover'].unique()):
plt.subplot(2, 2, i + 1)
sns.scatterplot(x='Air Quality Index (AQI)', y='Temperature (°C)', data=df[df['Land Cover'] == land_cover], hue='Land Cover', palette='Set3')
plt.title(f'Temperature vs Air Quality Index for {land_cover}')
plt.xlabel('Air Quality Index (AQI)')
plt.ylabel('Temperature (°C)')
plt.tight_layout()
plt.show()
4.9 多维度组合分析(土地覆盖类型、城市绿化率与温度)
plt.figure(figsize=(14, 8))
for land_cover in df['Land Cover'].unique():
plt.figure(figsize=(12, 6))
sns.scatterplot(x='Urban Greenness Ratio (%)', y='Temperature (°C)', data=df[df['Land Cover'] == land_cover], hue='Land Cover', palette='Set3')
plt.title(f'Temperature vs Urban Greenness Ratio for {land_cover}')
plt.xlabel('Urban Greenness Ratio (%)')
plt.ylabel('Temperature (°C)')
plt.show()
从以上可视化分析可以看出:
- 城市温度分布:城市温度呈现多样化,部分城市存在显著的热岛效应。
- 土地覆盖类型分布:城市、工业和绿地是主要的土地覆盖类型。
- 人口密度分布:人口密度呈现长尾分布,少数城市人口密度极高。
- 空气质量指数分布:空气质量指数分布差异显著,部分城市空气质量较差。
- 城市绿化率分布:城市绿化率覆盖范围广,部分城市绿化率较高。
- 热相关健康影响分布:热相关健康影响在不同城市差异显著,部分城市死亡率较高。
- 土地覆盖类型与温度关系:城市和工业区域通常温度较高,绿地和水域区域温度较低。
- 人口密度与温度关系:人口密度与温度通常呈正相关关系,高密度城市温度较高。
- 能耗与温度关系:能耗与温度通常呈正相关关系,高能耗城市温度较高。
- 空气质量指数与温度关系:空气质量指数与温度通常呈正相关关系,空气质量较差的城市温度较高。
- 城市绿化率与温度关系:城市绿化率与温度通常呈负相关关系,绿化率高的城市温度较低。
以上分析为理解城市热岛效应的关键因素提供了多维度视角,揭示了各变量之间的潜在关系,为城市规划和环境政策制定提供了数据支持。
**注:**博主目前收集了6900+份相关数据集,有想要的可以领取部分数据: