Matplotlib 窗口大小、标题等

Ces*_*ora 4 python matplotlib figure

我是 python 和 matplotlib 的新手。我有一个项目,我需要使用 matplotlib 在 Tkinter GUI 中创建一个图形。我发现并使用了这个代码:

import numpy as np
import matplotlib.pyplot as plt

N = 5
menMeans = (20, 35, 30, 35, 27)
menStd =   (2, 3, 4, 1, 2)

ind = np.arange(N)  # the x locations for the groups
width = 0.35       # the width of the bars

fig, ax = plt.subplots()
rects1 = ax.bar(ind, menMeans, width, color='r', yerr=menStd)

womenMeans = (25, 32, 34, 20, 25)
womenStd =   (3, 5, 2, 3, 3)
rects2 = ax.bar(ind+width, womenMeans, width, color='y', yerr=womenStd)


ax.set_ylabel('Scores')
ax.set_title('Scores by group and gender')
ax.set_xticks(ind+width)
ax.set_xticklabels( ('G1', 'G2', 'G3', 'G4', 'G5') )

ax.legend( (rects1[0], rects2[0]), ('Men', 'Women') )

def autolabel(rects):
    # attach some text labels
    for rect in rects:
        height = rect.get_height()
        ax.text(rect.get_x()+rect.get_width()/2., 1.05*height, '%d'%int(height),
                ha='center', va='bottom')

autolabel(rects1)
autolabel(rects2)

plt.show()
Run Code Online (Sandbox Code Playgroud)

但是我找不到更改使用此代码时出现的窗口大小的方法。我已经尝试过这个:

figure(num=None, figsize=(8, 6), dpi=80, facecolor='w', edgecolor='k')
Run Code Online (Sandbox Code Playgroud)

但这只会创建另一个窗口!请帮忙!

Jul*_*nck 5

只需更换

fig, ax = plt.subplots()
Run Code Online (Sandbox Code Playgroud)

经过:

fig, ax = plt.subplots(num=None, figsize=(16, 12), dpi=80, facecolor='w', edgecolor='k')
## I changed the fig size to something obviously big to make sure it worked
Run Code Online (Sandbox Code Playgroud)

要更改图形窗口的标题,您可以使用:

fig.canvas.set_window_title('Test')
Run Code Online (Sandbox Code Playgroud)

  • 对我来说,上面的代码只有在“canvas”后面添加“manager”属性后才有效:“fig.canvas.manager.set_window_title('Test')”。 (3认同)