我有以下代码:
import pandas as pd
from pandas_datareader import data as web
import matplotlib as plt
import datetime as date
start = date.datetime(2000,1,1)
end = date.datetime.today()
df = web.DataReader('fb', 'yahoo',start, end)
df2 = web.DataReader('f', 'yahoo',start, end)
ax = df.plot(y = 'Close')
df3 = df2.pct_change()
df3.plot(y = 'Close', ax=ax)
此代码产生以下图表:
橙色线是其中百分比变化的图,因此将其绘制为水平线。
是否有可能在同一图上绘制百分比变化,在该图上我已针对价格绘制了另一个符号。我的想法是,在右侧轴上将显示百分比,在左侧轴上将是价格。可能吗 ?如果可以的话,请您告诉我如何?
答案 0 :(得分:1)
稍作更改:您需要同时使用plt.subplots()
和twinx。这样,x轴将与a轴重复,并将图的另一侧用作y轴
fig, ax = plt.subplots()
df.plot(y = 'Close', ax=ax)
ax2 = ax.twinx()
df3 = df2.pct_change()
df3.plot(y = 'Close', ax=ax2)
您可能需要添加颜色参数,因为两个图将使用相同的默认颜色。