Я пытаюсь изменить размер рисунка до формата А4, чтобы сохранить его в формате PDF. Это дает странное поведение при использовании WXAgg. Вот пример:
import matplotlib as mpl
mpl.use("WXAgg")
import numpy as np
import matplotlib.pyplot as plt
# data to plot
x = np.arange(0, 10, 0.005)
y = np.sin(x)
# plot the data
fig = plt.figure()
ax = fig.add_axes([0,0,1,1])
ax.plot(x, y)
# resize figure and immediatly print it's size
page_width, page_height = (8.2765, 11.70475) #A4
fig.set_size_inches(page_width, page_height)
print fig.get_size_inches()
Вывод, который я получаю [ 8.27 7.59]
, не такой, как ожидалось. Когда я комментирую mpl.use("WXAgg")
, он работает нормально. Выходные данные тогда [ 8.2765 11.70475]
, как и ожидалось.
РЕДАКТИРОВАТЬ: По-видимому, это как-то связано с размером экрана. Я изменил экраны (подключил монитор к ноутбуку), и вывод изменился на [ 8.27 9.39]
Что здесь происходит? И как мне получить правильный размер фигуры с помощью WXAgg?
Некоторая информация о моей системе:
- ОС: macOS High Sierra
10.13.1
- питон:
2.7.13
- Matplotlib:
2.2.3