from matplotlib import pyplot as plt plt.rcParams['font.sans-serif'] = ['SimHei'] plt.rcParams['axes.unicode_minus'] = False data = pd.read_csv('nanjing.csv',encoding='gbk') data['最高气温'] = data['气温'].str.split('/',expand=True)[0] data['最低气温'] = data['气温'].str.split('/',expand=True)[1] data['最高气温'] = data['最高气温'].map(lambda x:int(x.replace('℃',''))) data['最低气温'] = data['最低气温'].map(lambda x:int(x.replace('℃',''))) dates=data['日期'] highs=data['最高气温'] lows=data['最低气温'] fig = plt.figure(dpi=128,figsize=(10,6)) plt.plot(dates,highs,c='red',alpha=0.5) plt.plot(dates,lows,c='blue',alpha=0.5) plt.fill_between(dates,highs,lows,facecolor='blue',alpha=0.2) plt.title('2023南京天气',fontsize=24) plt.xlabel('',fontsize=6) fig.autofmt_xdate() plt.ylabel('气温',fontsize=12) plt.tick_params(axis='both',which='major',labelsize=10) plt.xticks(dates[::20])
时间: 2023-09-09 12:12:45 浏览: 98
Matplotlib不能显示中文 — Font family [‘sans-serif’] not found警告
3星 · 编辑精心推荐
这段代码用于读取CSV文件中的天气数据,并将每日最高气温和最低气温绘制成折线图。具体实现过程如下:
1. 使用Pandas中的read_csv函数读取保存天气数据的CSV文件,文件名为nanjing.csv,并指定编码格式为GBK;
2. 对气温这一列数据进行处理,分别提取最高气温和最低气温,保存为新的两列数据;
3. 将最高气温和最低气温、日期数据分别保存为三个变量,用于绘制折线图;
4. 创建一个大小为10x6英寸、分辨率为128dpi的绘图窗口;
5. 绘制最高气温和最低气温的折线图,并使用alpha参数设置折线的透明度;
6. 使用fill_between函数填充最高气温和最低气温之间的区域,并使用alpha参数设置填充区域的透明度;
7. 添加图表标题、坐标轴标签等信息,并设置字体大小;
8. 使用xticks函数设置x轴刻度,每隔20个日期显示一个刻度。
需要注意的是,在绘制折线图时,使用了fill_between函数填充最高气温和最低气温之间的区域。同时,使用了xticks函数设置x轴刻度,并使用fig.autofmt_xdate()函数自动调整日期标签的角度。
阅读全文