我有一个包含多家公司股票的数据框和一个日期列。我想在同一个图中,在y轴上绘制这些股票值,在x轴上绘制日期
每只股票的起价不同(例如亚马逊起价为3103美元,而苹果起价为112美元)
当我这样做的时候,我的情节是这样的
这是我的绘图代码:
import matplotlib.pyplot as plt
%matplotlib inline
fig2 = plt.figure()
ax2 = fig2.add_subplot('111')
ax2.plot(plot_stocks['Amazon High'])
ax2.plot(plot_stocks['Apple High'])
ax2.plot(plot_stocks['Facebook High'])
ax2.plot(plot_stocks['Microsoft High'])
以下是数据示例:
Date Amazon High Apple High Facebook High Microsoft High
0 2020-12-04 $3198.21 $122.8608 $283.46 $215.38
1 2020-12-03 $3228.64 $123.78 $286.65 $216.3757
2 2020-12-02 $3232 $123.37 $291.78 $215.47
3 2020-12-01 $3248.95 $123.4693 $289.3 $217.32
4 2020-11-30 $3228.39 $120.97 $277.7 $214.76
5 2020-11-27 $3216.19 $117.49 $279.13 $216.27
6 2020-11-25 $3198 $116.75 $280.18 $215.29
7 2020-11-24 $3134.25 $115.85 $277.8199 $214.25
8 2020-11-23 $3139.745 $117.6202 $270.9471 $212.29
9 2020-11-20 $3132.89 $118.77 $273 $213.285
我忘了提到的一件事是,高列是字符串,即使我这样做了,我也无法更改它们:
plot_stocks['Amazon High'] = plot_stocks['Amazon High'].replace(r'$', '')
您可以通过使用
pd.MultiIndex.from_tuples()
创建多索引来操作数据:这使得
plot
自动为您提供所需的输出:熊猫设置:
Matplotlib代码:
相关问题 更多 >
编程相关推荐