2020-01-17 12:30:26 +08:00

55 lines
1.4 KiB
Python

import matplotlib.pyplot as plt
def set_postion(fig=None, x=None, y=None):
if fig is None:
fig = plt.gcf()
figManager = fig.canvas.manager.window
if x is None or y is None:
w_screen, h_screen = get_screensize(fig)
w,h = get_size(fig)
x = w_screen - w
y = (h_screen - h)//2
figManager.geometry('+%d+%d' % ( x, y))
def set_size(fig=None, w=None,h=None, w_mul=1.0, h_mul=1.0):
if fig is None:
fig = plt.gcf()
figManager = fig.canvas.manager.window
if w is None:
w = figManager.winfo_screenwidth()
if h is None:
h = figManager.winfo_screenheight()
#print( '\n{}\n{}\n'.format(w, h))
w*=w_mul
h*=h_mul
figManager.geometry("%dx%d" % (w, h))
def get_size( fig=None ):
if fig is None:
fig = plt.gcf()
figManager = fig.canvas.manager.window
return figManager.winfo_width(), figManager.winfo_height()
def get_screensize(fig=None):
figManager = fig.canvas.manager.window
return figManager.winfo_screenwidth(), figManager.winfo_screenheight()
def set_equal(fig=None):
if fig is None:
fig = plt.gca()
fig.set_aspect('equal', adjustable='box')
if __name__ == '__main__':
import matplotlib.pyplot as plt
fig = plt.figure()
set_size(fig,100,100)
# print( get_screensize(fig) )
set_postion(fig)
plt.show()
exit()