Python数据可视化实战第四章seaborn实训代码

实训1 分析各空气质量指数之间的相关关系及分布情况

1、训练要点

(1)了解scattplot函数的使用格式。
(2)掌握散点图的绘制方法。
(3)了解stripplot函数的使用格式。
(4)掌握分类散点图的绘制方法。
(5)了解distplot函数的使用格式。
(6)掌握单变量分布图的绘制方法。
(7)了解regplot函数的使用格式。
(8)掌握线性回归拟合图的绘制方法。
(9)了解heatmap函数的使用格式
(10)掌握热力图的绘制方法。

2、需求说明

3、实现思路与步骤 
(1)使用pandas库读取芜湖市2020年空气质量指数统计数据。

import pandas as pd  
  
# 读取CSV文件  
df = pd.read_csv('G:/data/aqi.csv')  
# 显示前几行数据,以确保数据已正确读取  
# print(df)
print(df.describe(include='all'))  # 包括数值型和非数值型列的统计信息


(2)解决中文显示问题,设置字体为黑体,并解决保存图像时负号“-”显示为方块的问题。

import pandas as pd  
from matplotlib import pyplot as plt

plt.rcParams['font.sans-serif'] = 'SimHei'  # 设置中文字体
plt.rcParams['axes.unicode_minus'] = False  
# 读取CSV文件  
df = pd.read_csv('G:/data/aqi.csv')  
  
# 显示前几行数据,以确保数据已正确读取  
# print(df)
print(df.describe(include='all'))  # 包括数值型和非数值型列的统计信息


(3)绘制AQI和PM2.5的关系散点图。

from matplotlib import pyplot as plt
import pandas as pd
import seaborn as sns
# 忽略警告
import warnings
warnings.filterwarnings('ignore')

# 设置 Seaborn 图形样式和中文显示
sns.set_style('whitegrid', {'font.sans-serif': ['SimHei', 'Arial']})
plt.rcParams['font.sans-serif'] = ['SimHei']

# 加载数据,并提取包含 AQI 和 PM2.5 数据的部分
hr = pd.read_csv('G:/data/aqi.csv')

# 假设数据集中AQI列名为'AQI',PM2.5含量列名为'PM2.5'
# 确保选取所有行,但仅包含这两列数据
product = hr[['AQI', 'PM2.5含量(ppm)']]  # 请确认列名是否准确

# 绘制AQI与PM2.5关系散点图
ax = sns.scatterplot(x='AQI', y='PM2.5含量(ppm)', data=product)
plt.title('AQI与PM2.5关系散点图')
plt.xlabel('空气质量指数(AQI)')
plt.ylabel('PM2.5浓度(微克/立方米)')
plt.show()


(4)绘制空气质量等级分类散点图。

sale = hr[['质量等级', 'AQI']] 
sns.stripplot(data=sale, x='质量等级', y='AQI', jitter=False)
plt.title('2020年芜湖市空气质量等级分类图')
plt.show()


(5)绘制空气质量等级单变量分布图。

import seaborn as sns
# sns.distplot(boston['质量等级'],kde=False)  #distplot代码太老旧了,jupyter太高
sns.histplot(data=boston, x='质量等级', kde=False, discrete=True)
plt.title('单变量分布图')
plt.ylabel('数量')
plt.show()


(4)绘制PM2.5浓度与AOI线性回归拟合图。

ax = sns.regplot(x='PM2.5含量(ppm)',y='AQI',data=boston)
ax.set_title('2020年芜湖市空气质量指数PM2.5与AQI回归拟合图')
plt.show()


(5)计算相关系数。

# 确保df中仅包含数值类型列,如有非数值列,请提前移除或转换为数值类型
numeric_df = df.select_dtypes(include=[np.number])

# 计算相关系数矩阵
corr_matrix = numeric_df.corr()
# 输出相关系数矩阵
print(corr_matrix)


(6)绘制空气质量特征相关性热力图。

# 假设 'date_col' 是包含 '2020/1/1' 类似日期字符串的列名
import numpy as np  
hr_num = hr.select_dtypes(include=[np.number])  # 选择仅包含数值类型的数据列
corr = hr_num.corr()
sns.heatmap(corr, annot=True)
plt.title('相关性热力图')
plt.show()

  • 7
    点赞
  • 27
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

徙格~

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值