0
這可以通過使用matplotlib來完成,但我更願意直接使用wxPython.plot以儘可能簡單。wxPython在指定的x座標處繪製y軸
具體來說,我試圖創建一個底部x軸和右側y軸的情節。
我該怎麼做?
我最初的想法是從繪圖繼承並重新編寫y軸繪圖。但是,現在我想知道wxPython.plot是否可以直接做到這一點?
這可以通過使用matplotlib來完成,但我更願意直接使用wxPython.plot以儘可能簡單。wxPython在指定的x座標處繪製y軸
具體來說,我試圖創建一個底部x軸和右側y軸的情節。
我該怎麼做?
我最初的想法是從繪圖繼承並重新編寫y軸繪圖。但是,現在我想知道wxPython.plot是否可以直接做到這一點?
使用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(見繪製部分)
算不上什麼我後(我已經嘗試matplotlib)。但是現在,我試圖用wxPython圖來實現正確的y軸。似乎這是不可能的。但是在wx設備上下文中,我發現手動構建圖表並沒有太多的工作量。 – Bruce