如何将数据框中的列绘制为子图

26 浏览
0 Comments

如何将数据框中的列绘制为子图

我在这里做错了什么?我想从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()

0