[英]How can I access the data generated by autocorrelation_plot?
以下應該有效:
import matplotlib.pyplot as plt
import pandas as pd
import numpy as np
data = np.array(range(5)) * 10
ax = pd.plotting.autocorrelation_plot(data)
ax
是一個AxesSubplot
<matplotlib.axes._subplots.AxesSubplot at 0x7f8b52758470>
它有一個名為lines
的屬性
[<matplotlib.lines.Line2D at 0x7f8b51c30f28>,
<matplotlib.lines.Line2D at 0x7f8b51c39390>,
<matplotlib.lines.Line2D at 0x7f8b51c397b8>,
<matplotlib.lines.Line2D at 0x7f8b51c39ba8>,
<matplotlib.lines.Line2D at 0x7f8b51c39f98>,
<matplotlib.lines.Line2D at 0x7f8b51c423c8>]
如果你現在遍歷這些:
for li in ax.lines:
print(li.get_xydata())
你得到
[[0. 1.15194588]
[1. 1.15194588]]
[[0. 0.87652254]
[1. 0.87652254]]
[[0. 0.]
[1. 0.]]
[[ 0. -0.87652254]
[ 1. -0.87652254]]
[[ 0. -1.15194588]
[ 1. -1.15194588]]
[[ 1. 0.4]
[ 2. -0.1]
[ 3. -0.4]
[ 4. -0.4]
[ 5. 0. ]]
所以,我們可以看到:
xydata = ax.lines[-1].get_xydata()
array([[ 1. , 0.4],
[ 2. , -0.1],
[ 3. , -0.4],
[ 4. , -0.4],
[ 5. , 0. ]])
如果您想要單獨的數據,您可以執行以下操作:
xdata = ax.lines[-1].get_xdata()
# array([1, 2, 3, 4, 5])
ydata = ax.lines[-1].get_ydata()
# array([ 0.4, -0.1, -0.4, -0.4, 0. ])
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.