Python 在同一图形中使用不同的x ASIX绘制线

Python 在同一图形中使用不同的x ASIX绘制线,python,dataframe,matplotlib,Python,Dataframe,Matplotlib,我有两个数据帧df和df2。它们以日期作为指数,以股价作为价格。 现在的日期是2018年1月12日 df2的日期现在是+1天,现在是+2天,现在是+3天 我想把它们画在同一张图上。我还希望x asix的间隔为10天。这是我的尝试 import matplotlib.pyplot as plt import numpy as np import matplotlib.dates as mdates ax1 = plt.subplots(111) ax2 = plt.subplots(112

我有两个数据帧df和df2。它们以日期作为指数,以股价作为价格。 现在的日期是2018年1月12日 df2的日期现在是+1天,现在是+2天,现在是+3天 我想把它们画在同一张图上。我还希望x asix的间隔为10天。这是我的尝试

import matplotlib.pyplot as plt   
import numpy as np
import matplotlib.dates as mdates

ax1 = plt.subplots(111)
ax2 = plt.subplots(112)
plt.xticks(rotation=70)

y1=df
y2=df2
X2=pd.to_datetime(df2.index)
x=pd.to_datetime(df.index)
ax1.plot(x, y1, 'g-')
ax2.plot(x2, y2, 'b-')

ax1.xaxis.set_major_locator(mdates.DayLocator(interval=10))
ax1.xaxis.set_major_formatter(mdates.DateFormatter('%d-%m-%Y'))
但是get key错误消息为

---> 17     ax1.plot(x, y1, 'g-')
     18     ax2.plot(x2, y2, 'b-')

AttributeError:“tuple”对象没有属性“plot”

您调用了一个名称类似但错误的方法。必须是:

ax1 = plt.subplot(111)
ax2 = plt.subplot(112)

plt.子批次(111)
创建111个子批次<代码>plt.子批次(111)在位置
111

创建一个子批次,子批次的参数是要创建的子批次数量。因此,给一个,这似乎是你需要的。如果要在同一图形中同时绘制这两个图形,请使用相同的轴

fig,ax1 = plt.subplots(1)

y1=df
y2=df2
X2=pd.to_datetime(df2.index)
x=pd.to_datetime(df.index)
ax1.plot(x, y1, 'g-')
ax1.plot(x2, y2, 'b-')

它返回关键错误7 import matplotlib.dates作为mdates 8 ax1=plt.subplot(111)--->9 ax2=plt.subplot(112)10 11 plt.xticks(旋转=70)。。。。。。。。。ValueError:num必须为1是错误值为的不同错误“ValueError:num必须为1该错误告诉您正在尝试在1×1网格上创建第二个子地块。-这是不可能的。现在我不确定这里的最终目标是什么,但至少这个答案需要把
211
212
作为参数。