我很难在全尺寸屏幕中保存情节。考虑以下代码:
from qutip import *
import numpy as np
from numpy import *
from matplotlib.pyplot import *
import matplotlib.pyplot as plt
from mpmath import *
import mpmath as mpmath
import pylab
import numpy
import time
import numpy, scipy.io
from random import *
from scipy.integrate import quad
#matplotlib.pyplot.xticks(fontsize=40)
#matplotlib.pyplot.yticks(fontsize=40)
plt.rcParams['lines.linewidth'] = 3
plt.rcParams.update({'font.size': 35})
#%%
tot_power=valid_solutions[0][3]
TQ=80
TCl=100
k=2
R=2000
gamma=1000
names0 = [r'$T_{Cl}$', r'$T_{Q}$']
values0 = [TCl, TQ]
names1 = [r'$Q_{L}$', r'$Q_{P}$']
values1 = [0, 0]
names2 = [r'$W_{Lab \rightarrow Cl}$', r'$W_{Cl \rightarrow Q}$']
values2 = [0, 0]
plt.figure(figsize=(9, 3))
plt.subplot(131)
plt.bar(names0, values0)
plt.title('As')
plt.subplot(132)
plt.bar(names1, values1, log=True)
plt.title('B ($k=$' + str(k) + ')')
plt.subplot(133)
plt.bar(names2, values2, log=True)
plt.title('C')
plt.suptitle('$R=10^{' + str(np.log10(R)) + '}, T_1=$' + "{:.2e}".format(1/gamma) + "s")
#fig = plt.gcf()
#h, w = fig.get_size_inches()
#fig.set_size_inches(h*2, w*2)
manager = plt.get_current_fig_manager()
manager.window.showMaximized()
plt.savefig('foo.png', bbox_inches='tight')
plt.show()
如果我打开图片,您将看到它完全不可读。 但是,它的确在python中以全屏显示(并且可读)。我强调我读了很多关于这个主题的话题,但是没人能解决我的问题。诸如How to make pylab.savefig() save image for 'maximized' window instead of default size或Saving Matplotlib graphs to image as full screen之类的主题(如您所见,我在代码中添加了一些主题,但这是行不通的。)
仅出于最小工作示例的目的,直方图为0,当然在实践中它们将具有值。
我不想为窗口手动指定一些英寸,我希望所有内容都自动保存为全屏图像。
最后一个信息:matplotlib.get_backend()返回“ Qt5Agg”(我已经知道它对某些修复很有用)