2017-02-04 3 views
1

Можно ли читать (скажем) графики .jpeg, произведенные matplotlib, в matplotlib еще раз, чтобы их можно было переставить в виде подзаголовков? Если да, то как мне это сделать?Чтение графиков matplotlib из файла

+2

Да, это возможно. Но это как-то худший из всех возможных способов создания подзаговоров. Прежде чем кто-нибудь ответит на этот вопрос, вы можете либо подтвердить, что действительно хотите это сделать, либо предоставить дополнительную информацию о том, зачем вам нужен такой взлом? – ImportanceOfBeingErnest

+0

Если вы хотите прочитать изображение, чтобы внести некоторые изменения, я не думаю, что он может это сделать. Если вы хотите вставить изображение, вы можете проверить [figimage] (http://matplotlib.org/api/figure_api. html # matplotlib.figure.Figure.figimage) или [блок аннотации] (http://matplotlib.org/examples/pylab_examples/demo_annotation_box.html) – McGrady

+0

Да, я понимаю, что было бы проще изменить код генерации графика, но я было просто интересно узнать, можно ли это сделать - у Python есть простые способы сделать так много всего ... – CiaranWelsh

ответ

1

Если вы действительно хотите это сделать, прочитав jpeg-файлы существующих графиков (отметив комментарии), один из способов можно прочитать на графиках с помощью scipy.misc.imread. Я установил метки меток, считая, что вы сохранили исходные графики с метками и всем остальным.

import matplotlib.pyplot as plt 
from scipy.misc import imread 

# Create a figure with 2x2 arranged subplots 
fig, ax = plt.subplots(2,2) 

# Plot images one by one here 
# (Just using the same jpeg file in this example...) 
im1 = imread("graph1.jpg") 
ax[0,0].imshow(im1) 
ax[0,0].axis('off') 

ax[0,1].imshow(im1) 
ax[0,1].axis('off') 

ax[1,0].imshow(im1) 
ax[1,0].axis('off') 

ax[1,1].imshow(im1) 
ax[1,1].axis('off') 

fig.show() 

enter image description here