【发布时间】:2018-03-31 03:49:09
【问题描述】:
当我尝试在同一个子图上绘制一条线和一个区域时会发生这种情况。在我调用 ay=ax.twinx() 并在 ay 上绘图后,我发现我的 x-ticks 消失了。
这是导致此错误的代码。
fig, axes = plt.subplots(nrows=2, ncols=1, figsize=[12,12])
data=pd.DataFrame([[1,2,3],[2,3,4],[3,2,4]])
ix = np.unravel_index(0, axes.shape)
ax=axes[ix]
y=pd.DataFrame(data.iloc[:,0]-data.iloc[:,1])
ax2=ax.twinx()
data.plot(ax=ax,color=['navy','red'])
ax2.plot(y.values, linewidth=2.0)
如您所见,x-ticks 消失了。 但是,如果继续绘制,您会发现最后一个子图不受影响。
fig, axes = plt.subplots(nrows=2, ncols=1, figsize=[12,12])
data=pd.DataFrame([[1,2,3],[2,3,4],[3,2,4]])
ix = np.unravel_index(0, axes.shape)
ax=axes[ix]
y=pd.DataFrame(data.iloc[:,0]-data.iloc[:,1])
ax2=ax.twinx()
data.plot(ax=ax,color=['navy','red'])
ax2.plot(y.values, linewidth=2.0)
ix = np.unravel_index(1, axes.shape)
ax=axes[ix]
y=pd.DataFrame(data.iloc[:,0]-data.iloc[:,1])
ax2=ax.twinx()
data.plot(ax=ax,color=['navy','red'])
ax2.plot(y.values, linewidth=2.0)
【问题讨论】:
-
基本上移动
ax2 = ax.twinx()你在ax上绘制任何数据
标签: python pandas matplotlib