1

たとえば、サイザーにはいくつかのパネルがあります。これらにmatplotlibプロットとツールバーを含めたいです。ただし、コードでは、サイズを考慮していません。数時間いじってみましたが、機能しません (ツールバーのボタンが機能しません)。

ここに画像の説明を入力

matplotlib に関連するコードは次のとおりです。

コードでそれらを参照する方法や、ウィンドウとツールバーのサイズを管理する方法さえわからないため、ここでは特定のパネルを使用しません..

どんな助けでも本当に感謝します!

import matplotlib
matplotlib.use('WXAgg')
from matplotlib.figure import Figure
from matplotlib.backends.backend_wxagg import \
    FigureCanvasWxAgg as FigCanvas, \
    NavigationToolbar2WxAgg as NavigationToolbar2Wx

#import matplotlib.pyplot as plt 

import mainFrame


class MainFrameSub (mainFrame.MainFrame):
def __init__(self, parent, ip, product):
    mainFrame.MainFrame.__init__(self, parent)
    #self.createPlot()
    self.setStatusBar('Ready')
    self.ip = ip
    self.sizer = self.bSizer3

    self.figure = Figure()#figsize=(6, 4), dpi=100)

    self.ax = self.figure.add_subplot(111)
    self.ax.set_ylabel('Y-Label')
    self.ax.grid()
    self.ax.relim()
    self.ax.autoscale_view()
    self.ax.set_title("X-Label")

    self.canvas = FigCanvas(self, 0, self.figure)
    self.SetSizer(self.sizer)
    self.sizer.Add(self.canvas, 0, wx.EXPAND)
    self.toolbar = NavigationToolbar2Wx(self.canvas)
    self.toolbar.Realize()
    self.sizer.Add(self.toolbar, 0, wx.EXPAND)
    self.toolbar.update()

    self.ax.plot()
    self.ax2 = self.ax.twinx()
    self.lines= [None] * 1
    self.lines[0], = self.ax.plot([],[])
    self.canvas.draw() 

基本的に、質問は次のとおりです。ウィンドウの「サブ構造」の1つにmatplotlib +ツールバーを合わせるにはどうすればよいですか? 4 つのビューを持つグリッドがあり、matplotlib をそのうちの 1 つに収めたい場合、wx でそれを行うにはどうすればよいですか?

4

0 に答える 0