我正在尝试将图形调整为A4纸张尺寸,以将其另存为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获得正确的图形尺寸?
有关我的系统的一些信息:
10.13.1
2.7.13
2.2.3