从Matplotlib图对象获取XY数据

时间:2019-05-28 11:05:31

标签: python matplotlib

我需要从具有2个子图的无花果对象中检索XY数据。

这是我制作无花果对象的方式:

f, axarr = plt.subplots(1,2)
axarr[0].imshow(labels_map,vmax=28)
axarr[1].imshow(Y_predictions,vmax=28)
np.save('fig.npy', f)

我无法重新制作无花果对象,因为我再也无法访问机器了。

来自先前的stackoverflow帖子:

fig = numpy.load("fig.npy").item()
ax = fig.gca()
xy_data = ax.get_lines()
print(xy_data[0])

打印失败:“列表索引超出范围”

我需要获得两个子图的2d数组,以创建一个混淆矩阵。

2 个答案:

答案 0 :(得分:1)

尝试以下

xy_data = ax.get_lines()[0].get_data()
print (xy_data)

答案 1 :(得分:1)

您的地块中没有线;但是图像。因此,

import matplotlib.pyplot as plt
import numpy as np

f, axarr = plt.subplots(1,2)
axarr[0].imshow(np.random.randint(0,28, (10,10)),vmax=28)
np.save('fig.npy', f)
plt.close()

fig = np.load("fig.npy").item()
data = fig.axes[0].images[0].get_array()
print(data)