python3给图表区域着色fill_between()

时间:2024-03-30 09:28:23

 

alpha指定颜色的透明度,Alpha值为0表示完全透明,1(默认设置)表示完全不透明。
fill_between()传递了一个x值系列:列表dates,还传递了两个y系列:highs和lows。
实参facecolor指定了填充区域的颜色。

highs_lows.py

import csv
from datetime import datetime

from matplotlib import pyplot as plt

#从文件中获取最高气温
filename = 'sitka_weather_2014.csv'
with open(filename) as f:
    reader = csv.reader(f)
    header_row = next(reader)
   
    highs, lows, dates = [], [], []
    for row in reader:
        date = datetime.strptime(row[0], '%Y-%m-%d')
        dates.append(date)
        high = int(row[1])
        highs.append(high)
        low = int(row[3])
        lows.append(low)
       
#根据数据绘制图形
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.3)


#设置图形的格式
plt.title("Daily low and high temperatures - 2014", fontsize=24)
plt.xlabel('', fontsize=16)
fig.autofmt_xdate()
plt.ylabel("Temperature (F)", fontsize=16)
plt.tick_params(axis='both', which='major', labelsize=16)

plt.show()

输出:

python3给图表区域着色fill_between()