The wxPython GUI toolkit makes a very nice plotting component/widget available. You can select line or marker plotting, or a combination of both. All you have to supply is a list of x,y point tuples. Other features include zooming and printing.
# using wxPython for plotting # tested with Python24, wxPython26 and wxPython28 vegaseat 19apr2007 import wx import wx.lib.plot as plot class MyFrame(wx.Frame): def __init__(self): self.frame1 = wx.Frame(None, title="wx.lib.plot", id=-1, size=(410, 340)) self.panel1 = wx.Panel(self.frame1) self.panel1.SetBackgroundColour("yellow") # mild difference between wxPython26 and wxPython28 if wx.VERSION < 7: plotter = plot.PlotCanvas(self.panel1, size=(400, 300)) else: plotter = plot.PlotCanvas(self.panel1) plotter.SetInitialSize(size=(400, 300)) # enable the zoom feature (drag a box around area of interest) plotter.SetEnableZoom(True) # list of (x,y) data point tuples data = [(1,2), (2,3), (3,5), (4,6), (5,8), (6,8), (12,10), (13,4)] # draw points as a line line = plot.PolyLine(data, colour='red', width=1) # also draw markers, default colour is black and size is 2 # other shapes 'circle', 'cross', 'square', 'dot', 'plus' marker = plot.PolyMarker(data, marker='triangle') # set up text, axis and draw gc = plot.PlotGraphics([line, marker], 'Line/Marker Graph', 'x axis', 'y axis') plotter.Draw(gc, xAxis=(0,15), yAxis=(0,15)) self.frame1.Show(True) app = wx.PySimpleApp() f = MyFrame() app.MainLoop()
Be a part of the DaniWeb community
We're a friendly, industry-focused community of 1.21 million developers, IT pros, digital marketers, and technology enthusiasts learning and sharing knowledge.