Для меня ответы выше не работали с matplotlib.__version__ = 1.4.3
на Win7. Итак, если нас интересует только сам образ (т. Е. Если нам не нужны аннотации, оси, тики, заголовок, ярлык и т. Д.), Тогда лучше просто сохранить массив numpy как изображение вместо savefig
.
from pylab import *
ax = subplot(111)
ax.imshow(some_image_numpyarray)
imsave('test.tif', some_image_numpyarray)
# or, if the image came from tiff or png etc
RGBbuffer = ax.get_images()[0].get_array()
imsave('test.tif', RGBbuffer)
Кроме того, используя opencv функции рисования (cv2.line, cv2.polylines), мы можем сделать некоторые чертежи непосредственно в массиве numpy. http://docs.opencv.org/2.4/modules/core/doc/drawing_functions.html
Попробуйте использовать xlwings, это позволяет вам более или менее использовать любую функцию Excel, потому что она фактически открывает файл и работает с ним (вы можете решить, будет ли это сделано в фоновом режиме, или вы сможете его увидеть).
Почему вам нужно использовать Python? Я думаю, что самый простой способ - написать макрос в VBA Excel (который может обновлять значения на вашем листе), а затем распечатать его в формате PDF или.