2016-05-26 63 views
0

這可以通過使用matplotlib來完成,但我更願意直接使用wxPython.plot以儘可能簡單。wxPython在指定的x座標處繪製y軸

具體來說,我試圖創建一個底部x軸和右側y軸的情節。

我該怎麼做?

我最初的想法是從繪圖繼承並重新編寫y軸繪圖。但是,現在我想知道wxPython.plot是否可以直接做到這一點?

回答

0

使用matplotlib很容易在Python和比WX更加有用的資源,您可以使用此代碼上面:

from matplotlib.figure import Figure 
from matplotlib.backends.backend_wxagg import FigureCanvasWxAgg as FigureCanvas 

class FigurePanel(wx.Panel): 
    def __init__(self, parent): 
     wx.Panel.__init__(self, parent) 
     self.figure = Figure(figsize=(-1, -1)) 
     self.canvas = FigureCanvas(self, -1, self.figure) 
     self.axis = self.figure.add_subplot(111) 

     self.rootSizer = wx.BoxSizer(wx.VERTICAL) 
     self.rootSizer.Add(self.canvas, 1, wx.EXPAND | wx.GROW) 
     self.SetSizer(self.rootSizer) 

     self.FitInside() 
     self.Layout() 

    def SetData(self, values, color="black", linewidth=1): 
     self.axis.clear() 
     self.axis.plot(values, color=color, linewidth=linewidth) 
     #self.axis.set_xlim([0, 256]) # If you want to put a limit os x axis 
     self.Layout() 

此代碼是一個wx.Panel,和你把任何你想要的。該功能的SetData將在這個環節上插入點的列表軸(圖的軸線http://matplotlib.org/api/axes_api.html文檔)的內部

我發現在wxPython的教程:http://wiki.wxpython.org/AnotherTutorial(見繪製部分

+0

算不上什麼我後(我已經嘗試matplotlib)。但是現在,我試圖用wxPython圖來實現正確的y軸。似乎這是不可能的。但是在wx設備上下文中,我發現手動構建圖表並沒有太多的工作量。 – Bruce

相關問題