2016-05-26 2 views
0

Это можно сделать с помощью matplotlib, но я предпочитаю использовать wxPython.plot напрямую, чтобы максимально упростить его.wxPython график оси y по указанной координате x

В частности, я пытаюсь создать график с нижней осью x и правой осью y.

Как мне это сделать?

Моя первоначальная идея - наследовать от графика и перекодировать рисунок оси y. Но теперь мне интересно, может ли wxPython.plot сделать это напрямую?

ответ

0

Использование Matplotlib легко в питона и имеют гораздо больше полезных ресурсов, чем 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 (смотрите раздел Plotting)

+0

Не совсем то, что Я после (я уже пробовал matplotlib). Но теперь я пытаюсь получить правую ось y с графиком wxPython. Кажется, это невозможно. Но с контекстом wx-устройства я обнаружил, что не слишком много усилий для создания диаграммы вручную. – Bruce

Смежные вопросы