如何使用macOS最大化matplotlib python上的图形?
我试过这个,但在mac上不起作用第一行应该有一个等号来代替子地块中的n:如何使用macOS最大化matplotlib python上的图形?,python,macos,matplotlib,Python,Macos,Matplotlib,我试过这个,但在mac上不起作用第一行应该有一个等号来代替子地块中的n: fig, ax = plt.subplots(figsize=(16,8),dpi=100,subplot_kwn {'projection':nccrs.PlateCarree()}) ax.set_global() plt.subplots_adjust(left=0.04, bottom=0.02, right=0.96, top=0.96) # set a figure window's title fig2
fig, ax = plt.subplots(figsize=(16,8),dpi=100,subplot_kwn {'projection':nccrs.PlateCarree()})
ax.set_global()
plt.subplots_adjust(left=0.04, bottom=0.02, right=0.96, top=0.96)
# set a figure window's title
fig2 = plt.gcf()
fig2.canvas.set_window_title('Metheoros 1.0')
mng = plt.get_current_fig_manager()
mng.Maximize(True)
您可能希望检查您导入的cartopy.crs,因为这也可能会导致问题
编辑: 所以我做了大量的挖掘,发现在mng中有一个叫做“全屏切换”的方法,所以在理论上,你可以调用
mng.full\u screen\u toggle()
,然后是mng.show()
。我试过了,但似乎没有效果。我翻遍了源代码,发现MacOSX后端没有实现全屏功能(据我所知)
这意味着您必须使用不同的后端。您可以通过调用plt.switch\u backend('backend')
更改后端,其中backend是您所需的后端。此函数接受以下参数:
‘pdf’、‘pgf’、‘Qt4Agg’、‘GTK’、‘GTKAgg’、‘ps’、‘agg’、‘开罗’、‘MacOSX’、‘GTKCairo’、‘WXAgg’、‘模板’、‘TkAgg’、‘GTK3AIRO’、‘GTK3Agg’、‘svg’、‘WebAgg’、‘COCOAGG’、‘emf’、‘gdk’、‘WX’
第一行应在子地块_kwn中用等号代替n:
fig, ax = plt.subplots(figsize=(16,8),dpi=100,subplot_kwn {'projection':nccrs.PlateCarree()})
ax.set_global()
plt.subplots_adjust(left=0.04, bottom=0.02, right=0.96, top=0.96)
# set a figure window's title
fig2 = plt.gcf()
fig2.canvas.set_window_title('Metheoros 1.0')
mng = plt.get_current_fig_manager()
mng.Maximize(True)
您可能希望检查您导入的cartopy.crs,因为这也可能会导致问题
编辑: 所以我做了大量的挖掘,发现在mng中有一个叫做“全屏切换”的方法,所以在理论上,你可以调用
mng.full\u screen\u toggle()
,然后是mng.show()
。我试过了,但似乎没有效果。我翻遍了源代码,发现MacOSX后端没有实现全屏功能(据我所知)
这意味着您必须使用不同的后端。您可以通过调用plt.switch\u backend('backend')
更改后端,其中backend是您所需的后端。此函数接受以下参数:
‘pdf’、‘pgf’、‘Qt4Agg’、‘GTK’、‘GTKAgg’、‘ps’、‘agg’、‘开罗’、‘MacOSX’、‘GTKCairo’、‘WXAgg’、‘模板’、‘TkAgg’、‘GTK3AIRO’、‘GTK3Agg’、‘svg’、‘WebAgg’、‘COCOAGG’、‘emf’、‘gdk’、‘WX’
谢谢但是,我这样做了,但是窗口没有最大化。@VladimirCostadeAlencar因此我发现目前无法在matplotlib的默认mac os x后端全屏切换,您必须选择其他后端。我已经更新了我的帖子更多细节。谢谢。但是,我这样做了,但是窗口没有最大化。@VladimirCostadeAlencar因此我发现目前无法在matplotlib的默认mac os x后端全屏切换,您必须选择其他后端。我已经更新了我的帖子更多细节。
# -*- coding: UTF-8 -*-
'''
Created on 4 de set de 2016
@author: VladimirCostadeAlencar
'''
from numpy import arange, sin, pi
import matplotlib
matplotlib.use('WXAgg')
from matplotlib.backends.backend_wxagg import FigureCanvasWxAgg as FigureCanvas
from matplotlib.backends.backend_wx import NavigationToolbar2Wx
from matplotlib.figure import Figure
import wx
class CanvasPanel(wx.Panel):
def __init__(self, parent):
wx.Panel.__init__(self, parent)
self.figure = Figure()
self.axes = self.figure.add_subplot(111)
self.canvas = FigureCanvas(self, 0, self.figure)
self.sizer = wx.BoxSizer(wx.VERTICAL)
self.sizer.Add(self.canvas, 1, wx.LEFT | wx.TOP | wx.GROW)
self.SetSizer(self.sizer)
self.Fit()
def draw(self):
from ler_csv import ler_csv
from plotar_csv04 import plotar_pontos
nomearq = 'gps01.csv'
print 'Reading points...'
coords = ler_csv(nomearq)
figure, ax = plotar_pontos(self, coords)
print 'Plotting on Wx...'
self.canvas = FigureCanvas(self, 0, figure)
if __name__ == "__main__":
app = wx.PySimpleApp()
fr = wx.Frame(None, title='Metheoros v1.0 - 2016')
panel = CanvasPanel(fr)
panel.draw()
fr.Maximize(True)
fr.Show()
app.MainLoop()