如何将数据框中的列绘制为子图
如何将数据框中的列绘制为子图
我在这里做错了什么?我想从df
创建一个新的数据框,并在每个新创建的数据框(Emins, FTSE, Stoxx和Nikkei)的折线图中使用Dates作为x轴。我有一个名为df
的数据框,它是从data.xlsx创建的,看起来像这样:
从df
我创建了4个名为Eminis、FTSE、Stoxx和Nikkei的新数据框。
谢谢你的帮助!
import numpy as np import matplotlib.pyplot as plt plt.style.use('classic') df = pd.read_excel('data.xlsx') df = df.rename(columns={'Dates':'Date','ES1': 'Eminis', 'Z 1': 'FTSE','VG1': 'Stoxx','NK1': 'Nikkei','TY1': 'Notes','G 1': 'Gilts', 'RX1': 'Bunds','JB1': 'JGBS','CL1': 'Oil','HG1': 'Copper','S 1': 'Soybeans','GC1': 'Gold','WILLTIPS': 'TIPS'}) headers = df.columns Eminis = df[['Date','Eminis']] FTSE = df[['Date','FTSE']] Stoxx = df[['Date','Stoxx']] Nikkei = df[['Date','Nikkei']] # 创建多个子图 fig, axes = plt.subplots(2,2, figsize=(20,15)) x = Date y1 = Eminis y2 = Notes y3 = Stoxx y4 = Nikkei # 在每个子图上绘制一条线 axes[0][0].line(x,y1) axes[0][1].line(x,y2) axes[1][0].line(x,y3) axes[1][1].line(x,y4) plt.legends() plt.show()