👉博__主👈:米码收割机
👉技__能👈:C++/Python语言
👉公众号👈:测试开发自动化【获取源码+商业合作】
👉荣__誉👈:阿里云博客专家博主、51CTO技术博主
👉专__注👈:专注主流机器人、人工智能等相关领域的开发、测试技术。
【python】python省市水资源数据分析可视化(源码+数据)【独一无二】
目录
- 【python】python省市水资源数据分析可视化(源码+数据)【独一无二】
- 一、设计要求
- 二、数据分析
- 2.1 柱状图:全年水资源总量
- 2.2 散点图:地表水 vs 地下水
- 2.3 折线图:供水总量 vs 用水总量
- 2.4 雷达图:不同用水类型比较
- 2.5 饼状图:用水分布
- 2.6 箱线图:各年份不同用水类型的分布
- 2.7 组合图:历年供水来源
- 三、代码展示
一、设计要求
根据给定的数据文件“水资源情况信息.xlsx”,从不同的角度分析水资源
👉👉👉 源码获取 关注【测试开发自动化】公众号,回复 “水资源” 获取。👈👈👈
二、数据分析
2.1 柱状图:全年水资源总量
分析内容:该图展示了每年的水资源总量变化情况。通过这张图,我们可以直观地看到每年水资源的波动和趋势,帮助我们理解水资源的年度变化。
2.2 散点图:地表水 vs 地下水
分析内容:该图比较了地表水资源量和地下水资源量之间的关系。每个点代表某一年的地表水资源量和地下水资源量,通过这张图,我们可以分析这两者之间是否存在某种相关性。
👉👉👉 源码获取 关注【测试开发自动化】公众号,回复 “水资源” 获取。👈👈👈
2.3 折线图:供水总量 vs 用水总量
分析内容:该图展示了每年的供水总量和用水总量。通过这张图,我们可以看到供水量和用水量的趋势,以及两者之间的差异,了解供需关系的变化情况。
2.4 雷达图:不同用水类型比较
分析内容:该图展示了农业用水、工业用水、生活用水和生态环境用水的比较。通过这张图,我们可以直观地看到四种用水类型的相对大小,了解各类型用水在2017年的分布情况。
👉👉👉 源码获取 关注【测试开发自动化】公众号,回复 “水资源” 获取。👈👈👈
2.5 饼状图:用水分布
分析内容:该图展示了不同用水类型(农业用水、工业用水、生活用水、生态环境用水)的比例。通过这张图,我们可以看到各类型用水在总用水中的占比,帮助我们理解用水结构。
👉👉👉 源码获取 关注【测试开发自动化】公众号,回复 “水资源” 获取。👈👈👈
2.6 箱线图:各年份不同用水类型的分布
分析内容:该图展示了农业用水、工业用水、生活用水和生态环境用水在2001年至2017年间的分布情况。通过这张图,我们可以看到各类型用水的中位数、四分位数、极值等统计信息,了解用水量的分布和波动情况。
2.7 组合图:历年供水来源
分析内容:该图展示了不同供水来源(地表水、地下水、再生水和南水北调水)在各年中的变化。通过这张图,我们可以了解不同供水来源的趋势和比例变化,帮助我们分析供水结构的变化情况。
👉👉👉 源码获取 关注【测试开发自动化】公众号,回复 “水资源” 获取。👈👈👈
三、代码展示
import pandas as pd
import matplotlib.pyplot as plt
import numpy as np
plt.rcParams['font.sans-serif']=['SimHei'] #用来正常显示中文标签
plt.rcParams['axes.unicode_minus'] = False #用来正常显示负号
# 读取数据并转置
file_path = '水资源情况信息.csv'
# >👉👉👉 源码获取 关注【测试开发自动化】公众号,回复 “水资源” 获取。👈👈👈
# 数据清洗
data.columns = data.iloc[0]
data = data[1:]
# 清理列名中的空格和特殊字符
data.columns = data.columns.str.strip()
# 略 ...
# 略 ...
# 略 ...# >👉👉👉 源码获取 关注【测试开发自动化】公众号,回复 “水资源” 获取。👈👈👈
# 将年份列转换为整数类型
data['项 目'] = data.index.astype(int)
# 柱状图:全年水资源总量
plt.figure(figsize=(10, 6))
# 略 ...
# 略 ...
# 略 ...
plt.show()
# 散点图:地表水 vs 地下水
plt.figure(figsize=(10, 6))
plt.scatter(data['地表水资源量'], data['地下水资源量'])
# 略 ...
plt.ylabel('地下水资源量(亿立方米)')
plt.show()
# 折线图:供水总量 vs 用水总量
plt.figure(figsize=(10, 6))
plt.plot(data['项 目'], data['全年供水总量'], label='供水总量')
# 略 ...
# 略 ...# >👉👉👉 源码获取 关注【测试开发自动化】公众号,回复 “水资源” 获取。👈👈👈
plt.legend()
plt.show()
# 组合图:历年供水来源
plt.figure(figsize=(10, 6))
plt.plot(data['项 目'], data['地表水'], label='地表水供水')
plt.plot(data['项 目'], data['地下水'], label='地下水供水')
# 略 ...
# 略 ...
plt.legend()
plt.show()
print(data)
# 雷达图:2017年不同用水类型比较
labels = ['农业用水', '工业用水', '生活用水', '生态环境用水']
values = data.loc[2017, ['农业用水', '工业用水', '生活用水', '生态环境用水']].values.flatten()
angles = np.linspace(0, 2 * np.pi, len(labels), endpoint=False).tolist()
# 略 ...
angles += angles[:1]
plt.figure(figsize=(10, 6))
ax = plt.subplot(111, polar=True)
# 略 ...# >👉👉👉 源码获取 关注【测试开发自动化】公众号,回复 “水资源” 获取。👈👈👈
ax.fill(angles, values, alpha=0.25)
# 略 ...
plt.show()
# 饼状图:2017年用水分布
usage_2017 = data.loc[2017, ['农业用水', '工业用水', '生活用水', '生态环境用水']].values.flatten()
# 略 ...
# 略 ...
plt.title('2017年用水分布')
plt.show()
# 提取需要绘制箱线图的数据
# 略 ...# >👉👉👉 源码获取 关注【测试开发自动化】公众号,回复 “水资源” 获取。👈👈👈
# 绘制箱线图
plt.figure(figsize=(12, 8))
boxplot_data.plot.box()
plt.title('各年份不同用水类型的分布')
# 略 ...
plt.show()
👉👉👉 源码获取 关注【测试开发自动化】公众号,回复 “水资源” 获取。👈👈👈