在子批次中使用ax.twin时,Xticklabel消失

2024-10-01 22:36:31 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在尝试使用pandas plot创建一个2行子图,上面的子图有第二个y轴,但是创建第二个y轴会使Xticklabel消失,如下所示。 我使用了以下代码:

fig,axes=plt.subplots(2,1)
ax=axes[0]
pd.Series(range(10)).plot(ax=ax)
ax2=ax.twinx()
(pd.Series(range(10))**2).plot(ax=ax2)

ax=axes[1]
pd.Series(range(10)).plot(ax=ax)

enter image description here

当使用相同的代码但替换子批次的顺序时,它可以正常工作:

fig,axes=plt.subplots(2,1)

ax=axes[0]
pd.Series(range(10)).plot(ax=ax)


ax=axes[1]
pd.Series(range(10)).plot(ax=ax)
ax2=ax.twinx()
(pd.Series(range(10))**2).plot(ax=ax2)

enter image description here


Tags: 代码pandasplotfigrangepltaxseries
1条回答
网友
1楼 · 发布于 2024-10-01 22:36:31

为此,我建议按原样使用matplotlib,而不是通过pandas。这应该能解决你的问题

所以应该是这样的:

import matplotlib.pyplot as plt
fig,axes=plt.subplots(2,1)

ax=axes[0]
ax.plot(pd.Series(range(10)))
ax2=ax.twinx()
ax2.plot(pd.Series(range(10))**2)

ax=axes[1]
ax.plot(pd.Series(range(10)))

result

相关问题 更多 >

    热门问题