如何将Pandas的自相关图添加为子图?

11 浏览
0 Comments

如何将Pandas的自相关图添加为子图?

我有4个子图...\n

fig, (ax1, ax2, ax3, ax4, ax5) = plt.subplots(nrows=6, ncols=1, figsize=(12, 14))
ax1.plot(df.index, df['a'], linewidth=0.5, color='w')
ax2.plot(df.index, df['b'], linewidth=0.5, color='w')
ax3.plot(df.index, df['c'], linewidth=0.75, color='r')
ax4.plot(df.index, df['d'], linewidth=0.75, color='g')

\n并且想要添加第5个子图,它正好是一个Pandas自相关图...\n

x = pd.plotting.autocorrelation_plot(df['a'])
ax5.subplot(x)

\n不幸的是,这只显示了最后一个图,覆盖了前面的4个图。\n你有什么办法可以显示所有5个图吗?

0
0 Comments

问题的原因是用户想要将Pandas的自相关图(autocorrelation plot)作为子图(subplot)添加到其他图中。用户提到了`pandas.plotting.autocorrelation_plot`函数可以接受`ax`参数,但没有给出具体的解决方法。

要解决这个问题,我们可以使用以下步骤:

1. 首先,我们需要导入`pandas`库和相关的数据。在这个例子中,我们假设我们已经有一个名为`df`的数据框,其中包含一个名为`a`的列。

2. 然后,我们需要创建一个图形对象(Figure)和一个子图对象(Axes)。我们可以使用`matplotlib.pyplot.subplots`函数来创建它们。这个函数返回一个图形对象和一个子图对象的元组。

import pandas as pd
import matplotlib.pyplot as plt
df = pd.DataFrame({'a': [1, 2, 3, 4, 5]})
fig, ax = plt.subplots()

3. 接下来,我们可以使用`pandas.plotting.autocorrelation_plot`函数将自相关图作为子图添加到我们创建的子图对象中。我们需要将数据列和子图对象作为参数传递给这个函数。

pd.plotting.autocorrelation_plot(df['a'], ax=ax)

4. 最后,我们可以使用`matplotlib.pyplot.show`函数显示图形。

plt.show()

完成这些步骤后,我们就可以将Pandas的自相关图作为子图添加到其他图中了。

希望这个解决方法对您有帮助!

0