代码详情介绍
导入必要的库:
matplotlib.pyplot:用于绘图。
matplotlib.font_manager:用于设置中文字体。
datetime:用于处理日期和时间。
random:用于生成随机数。
numpy:用于生成arange函数的刻度。
设置中文字体: 使用plt.rcParams[‘font.family’] = 'SimHei’设置matplotlib的字体为SimHei,以便支持中文字符。
生成随机温度数据:
generate_random_temperatures函数生成从11:00到12:00的随机温度数据。
每个时间点(每分钟)的温度是随机生成的,介于0到30摄氏度之间。
提取时间和温度数据:
将生成的温度数据转换为两个列表,分别存储时间和温度值。
绘制温度变化曲线图:
分别为南阳和昆明绘制温度变化曲线图。
使用plt.plot函数绘制数据点,并使用marker='o’添加标记。
设置图表标题、坐标轴标签、网格等。
使用plt.xticks设置x轴刻度,并设置刻度标签的角度为45度。
使用plt.legend添加图例。
显示图表: 使用plt.show()显示生成的两个温度变化曲线图。
import matplotlib.pyplot as plt
import matplotlib.font_manager as fm
import random
from datetime import datetime, timedelta
import numpy as np
# 设置中文字体
plt.rcParams['font.family'] = 'SimHei'
def generate_random_temperatures():
temperatures = {}
start_time = datetime.strptime('11:00', '%H:%M')
end_time = datetime.strptime('12:00', '%H:%M')
current_time = start_time
while current_time <= end_time:
temperatures[current_time.strftime('%H:%M')] = random.uniform(0, 30)
current_time += timedelta(minutes=1)
return temperatures
# 南阳的温度数据
nanyang_temperatures = generate_random_temperatures()
# 昆明的温度数据
kunming_temperatures = generate_random_temperatures()
# 提取时间和温度数据
nanyang_times = list(nanyang_temperatures.keys())
nanyang_temps = list(nanyang_temperatures.values())
kunming_times = list(kunming_temperatures.keys())
kunming_temps = list(kunming_temperatures.values())
# 绘制南阳的温度变化曲线图
plt.figure(figsize=(12, 6)) # 设置图表大小以放大图像
plt.plot(nanyang_times, nanyang_temps, label='南阳', marker='o', color='blue') # 使用点标记
plt.title('南阳3月5日11点-12点温度变化曲线图')
plt.xlabel('时间(分钟)')
plt.ylabel('温度(℃)')
plt.grid(True)
plt.xticks(np.arange(0, len(nanyang_times), 5), rotation=45) # 修改x轴刻度
plt.legend()
# 绘制昆明的温度变化曲线图
plt.figure(figsize=(12, 6)) # 设置图表大小以放大图像
plt.plot(kunming_times, kunming_temps, label='昆明', marker='o', color='red') # 使用点标记
plt.title('昆明3月5日11点-12点温度变化曲线图')
plt.xlabel('时间(分钟)')
plt.ylabel('温度(℃)')
plt.grid(True)
plt.xticks(np.arange(0, len(kunming_times), 5), rotation=45) # 修改x轴刻度
plt.legend()
# 显示图表
plt.show()