代碼:
1 #!usr/bin/env python 2 # -*- coding: utf-8 -*- 3 import os 4 import numpy as np 5 import pandas as pd 6 import matplotlib.pyplot as plt 7 from datetime import datetime 8 import matplotlib.dates as mdates 9 from dateutil import parser 10 11 base_dir = 'd:/Pattern/' 12 input_base_dir = base_dir + 'data_graph_save/' 13 14 fileName = input_base_dir + 'output_6.csv' 15 data = pd.read_csv(fileName) 16 data_date_str = data.iloc[:, 0] 17 data_date = list(map(parser.parse, data_date_str)) 18 data_cma = data.iloc[:, 1] 19 data_ecmwf = data.iloc[:, 2] 20 data_jma = data.iloc[:, 3] 21 data_ncep = data.iloc[:, 4] 22 data_mean = data.iloc[:, 5] 23 data_true = data.iloc[:, 6] 24 data_predict = data.iloc[:, 7] 25 26 plt.figure(figsize=(13,7), dpi=80) 27 plt.subplot(1,1,1) 28 # 繪制余弦曲線,使用藍色的、連續的、寬度為 1 (像素)的線條 29 plt.plot(data_date, data_predict, color='blue', linewidth=1.0, linestyle='-', label='predict') 30 plt.plot(data_date, data_true, color='red', linewidth=1.0, linestyle='-', label='observation') 31 plt.plot(data_date, data_cma, color='green', linewidth=1.0, linestyle='-', label='babj') 32 plt.plot(data_date, data_ecmwf, color='yellow', linewidth=1.0, linestyle='-', label='ecmf') 33 plt.plot(data_date, data_jma, color='purple', linewidth=1.0, linestyle='-', label='rjtd') 34 plt.plot(data_date, data_ncep, color='orange', linewidth=1.0, linestyle='-', label='kwbc') 35 plt.plot(data_date, data_mean, color='pink', linewidth=1.0, linestyle='-', label='mean') 36 # 顯示圖示 37 plt.legend() 38 39 40 # 配置橫坐標 41 plt.gca().xaxis.set_major_formatter(mdates.DateFormatter('%m/%d/%Y')) 42 plt.gca().xaxis.set_major_locator(mdates.MonthLocator()) # 按月顯示,按日顯示的話,將MonthLocator()改成DayLocator() 43 plt.gcf().autofmt_xdate() # 自動旋轉日期標記 44 plt.title('Temperation constraction') 45 plt.savefig('temper.png') 46 plt.show()
結果如下圖所示。