Получение данных xy из объекта fig matplotlib

Мне нужно получить данные XY из объекта fig с двумя подзаголовками.

Вот как я сделал объект fig:

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 для обоих подзаголовков, чтобы создать матрицу путаницы.

Почему в Python есть оператор "pass"?
Почему в Python есть оператор "pass"?
Оператор pass в Python - это простая концепция, которую могут быстро освоить даже новички без опыта программирования.
Некоторые методы, о которых вы не знали, что они существуют в Python
Некоторые методы, о которых вы не знали, что они существуют в Python
Python - самый известный и самый простой в изучении язык в наши дни. Имея широкий спектр применения в области машинного обучения, Data Science,...
Основы Python Часть I
Основы Python Часть I
Вы когда-нибудь задумывались, почему в программах на Python вы видите приведенный ниже код?
LeetCode - 1579. Удаление максимального числа ребер для сохранения полной проходимости графа
LeetCode - 1579. Удаление максимального числа ребер для сохранения полной проходимости графа
Алиса и Боб имеют неориентированный граф из n узлов и трех типов ребер:
Оптимизация кода с помощью тернарного оператора Python
Оптимизация кода с помощью тернарного оператора Python
И последнее, что мы хотели бы показать вам, прежде чем двигаться дальше, это
Советы по эффективной веб-разработке с помощью Python
Советы по эффективной веб-разработке с помощью Python
Как веб-разработчик, Python может стать мощным инструментом для создания эффективных и масштабируемых веб-приложений.
1
0
405
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

Попробуйте следующее

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

Результат: <список из 0 объектов Line2D>

Paku 28.05.2019 13:28

@Paku: извините, проверьте правку. я писала с телефона

Sheldore 28.05.2019 13:29

xy_data = ax.get_lines()[0].get_data() IndexError: индекс списка вне допустимого диапазона

Paku 28.05.2019 13:32

xy_data = ax.get_lines().get_data() AttributeError: объект 'silent_list' не имеет атрибута 'get_data'

Paku 28.05.2019 13:33

@Paku Что ты получаешь, когда делаешь len(ax.get_lines())

Sheldore 28.05.2019 15:04

У моих подзаголовков были не линии, а изображения: () Мне нужно было больше читать документацию по осям.

Paku 28.05.2019 21:09
Ответ принят как подходящий

У вас нет линий на ваших графиках; но изображения. Следовательно,

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)

Также теперь я чувствую себя глупо из-за того, что сам не нашел его в документации. Настоящий момент RTFM.

Paku 28.05.2019 20:40

Другие вопросы по теме