在另一个桌面Matplotlib Python

时间:2019-04-04 09:59:39

标签: python matplotlib

我正在尝试在其他桌面上进行绘图。但是我可以找到将图形移到另一个桌面上的任何解决方案。
例如,如果以下是我的代码:

import matplotlib.pyplot as plt
import numpy as np
plt.ion()
fig = plt.figure()
fig.set_size_inches(50,70)
ax = fig.add_subplot(111)
line1, = ax.plot(np.arange(0,10),color='blue', label='original values',marker=".")
plt.show()

然后,如何使该图形显示在第二个桌面而不是第一个桌面上。
看到以下是我得到的图:
getting image like this

,我希望该图像应尽可能全屏显示在第二个桌面上。如下所示:
expected image

如果您有任何想法可以尝试实现我的期望,请告诉我。

我尝试了matplotlib.get_backend()命令,我看到了:TkAgg

1 个答案:

答案 0 :(得分:1)

如果您不想安装Qt,只需使用Tkinter,然后将窗口移至第二个桌面即可。

import matplotlib.pyplot as plt
import matplotlib
matplotlib.use("TkAgg")
from matplotlib.backends.backend_tkagg import FigureCanvasTkAgg
import numpy as np
import tkinter as tk

root = tk.Tk()
root.geometry("500x500")
fig = plt.figure()
fig.set_size_inches(50,70)
ax = fig.add_subplot(111)
line1, = ax.plot(np.arange(0,10),color='blue', label='original values',marker=".")
canvas = FigureCanvasTkAgg(fig,root)
canvas.get_tk_widget().pack(fill=tk.BOTH,expand=True)

#if you want to automatically move the screen to 2nd monitor
#def move_to_right_screen():
#    root.geometry(f"{root.winfo_screenwidth()+1}x500")
#    root.state('zoomed')
#move_to_right_screen()

root.mainloop()