Matplotlib фигово ведет себя странно в WXAgg - PullRequest
0 голосов
/ 05 сентября 2018

Я пытаюсь изменить размер рисунка до формата А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
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...