import pandas as pd import matplotlib.pyplot as plt import matplotlib.font_manager as fm import os from datetime import data #添加字体 fm.fontManager.addfont("simhei.ttf") #设置字体 plt.rcParams["font.sans-serif"]=["SimHei"] #该语句解决图像中的“-”负号的乱码问题 plt.rcParams["axes.unicode_minus"]=False #读取数据 bike = pd.read_csv('step1/bike.csv') # 1.将datetime属性转换为日期类型 ########## Begin ########## bike['datetime'] = pd.to_datetime(bike['datetime']) ########## End ########## # 2.新增date属性,并将datetime中的日期赋值给date bike['date'] = bike['datetime'].dt.date # 请在左侧补充代码 # 3.按照date日期值进行分组,获取每天温度temp和湿度humidity的均值 bike_temp = bike.groupby('date')[['temp', 'humidity']].mean() # 请在左侧补充代码 # 创建画布大小为18*6(单位是英寸) fig = plt.figure(figsize=(18, 6)) # 请在左侧补充代码 # 设置子图高度 fig.subplots_adjust(hspace=0.5) # 创建2行1列子图中第一行子图 plt.subplot(2, 1, 1) # 请在左侧补充代码 plt.title("温度变化趋势图") # 设置坐标轴的属性 plt.xlabel("date") plt.ylabel("temp") # 显示温度变化趋势图 plt.plot(bike_temp.index, bike_temp['temp']) # 请在左侧补充代码 #创建第二个子图 plt.subplot(2, 1, 2) # 请在左侧补充代码 plt.title("湿度变化趋势图") # 设置坐标轴的属性 plt.xlabel("date") plt.ylabel("humidity") # 显示湿度变化趋势图 plt.plot(bike_temp.index, bike_temp['humidity']) # 请在左侧补充代码 # 保存图形 plt.savefig('step1/result/bike_temp_humidity.jpg') # 显示图形 plt.show()
时间: 2025-06-26 07:12:30 浏览: 10
### 使用 Pandas 和 Matplotlib 绘制温度湿度趋势图
在数据分析领域,`Pandas` 是一种强大的数据处理工具,而 `Matplotlib` 则是一种广泛应用于数据可视化的绘图库。两者结合可以帮助用户快速生成高质量的图表来展示数据的趋势变化。
以下是基于给定引用内容和专业知识实现的一个完整的解决方案:
#### 1. 准备环境并导入必要的库
要完成此任务,需先安装并加载所需的 Python 库:
```python
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
```
这些库分别提供了数据结构支持、数值计算能力和绘图功能[^3]。
---
#### 2. 创建模拟数据集
假设有一组时间序列数据记录每日的温度和湿度情况,则可以通过如下方式创建一个 DataFrame 对象存储这些信息:
```python
# 构造日期索引
date_range = pd.date_range(start="2023-01-01", periods=30, freq='D')
# 随机生成温度 (°C) 和相对湿度 (%RH)
np.random.seed(42) # 设置随机种子以便结果可重复
temperature = np.random.uniform(low=15, high=30, size=len(date_range))
humidity = np.random.uniform(low=40, high=80, size=len(date_range))
# 将其转换成 Pandas 的 Series 并组合到一起形成表格形式的数据框
data_frame = pd.DataFrame({
'Date': date_range,
'Temperature(C)': temperature,
'Humidity(%)': humidity
}).set_index('Date')
print(data_frame.head())
```
上述代码片段定义了一个具有两个变量——温度 (`Temperature`) 和湿度 (`Humidity`) ——的时间序列数据表,并将其设置为以时间为索引的形式方便后续操作[^1]。
---
#### 3. 进行基础可视化
对于简单的折线图来说,可以直接调用 Pandas 提供的方法完成绘制工作:
```python
plt.figure(figsize=(12, 6)) # 定义画布大小
ax_temp = data_frame['Temperature(C)'].plot(
label='Temperature', color='tab:red'
)
# 同一幅图像上叠加另一个维度的信息
ax_humid = ax_temp.twinx()
data_frame['Humidity(%)'].plot(ax=ax_humid,
阅读全文
相关推荐


















