def lineplot(data,title='Line plot',symbol=None,X=None): from graph import GraphBase,GraphLine,GraphSymbols,GraphObjects from plotAscii import PSprint,initSH SH = initSH() npt = [] for i in range(len(data)): if X != None: npt.append((X[i],data[i])) else: npt.append((float(i),data[i])) top = Toplevel() top.title(title) graph = GraphBase(top,300,300,relief=SUNKEN,border=2) w = string.atoi(graph.canvas.cget('width')) h = string.atoi(graph.canvas.cget('height')) bb = graph._textBoundingBox(title) x = w/2-(bb[2]-bb[0])/2 y = .05*h graph.canvas.create_text(x,y,text=title,anchor=W,font=SH['font']) line = GraphLine(npt,color='blue') # plot symbols if symbol != None: npt_s = linesubset(npt) linea = GraphSymbols(npt_s,color='blue',marker='circle',size=1.5, fillcolor='blue') graphObject = GraphObjects([line,linea]) else: graphObject = GraphObjects([line]) graph.pack(side=TOP,fill=BOTH,expand=YES) graph.draw(graphObject,'automatic','automatic') Button(top,text='Print',command=lambda g=graph,p=SH['printer']: PSprint(g,p)).pack(side=LEFT) Button(top,text='Close',command=top.destroy).pack(side=LEFT)
def scatterplot(data, title='Scatter plot', symbol=None, X=None): "multiline scater plot" from graph import GraphBase, GraphLine, GraphSymbols, GraphObjects from plotAscii import PSprint, initSH SH = initSH() try: npt = len(data[0]) except TypeError: print 'Input Error, multiple line vectors required' return rows = len(data) top = Toplevel() top.title(title) graph = GraphBase(top, 300, 300, relief=SUNKEN, border=2) w = string.atoi(graph.canvas.cget('width')) h = string.atoi(graph.canvas.cget('height')) bb = graph._textBoundingBox(title) x = w / 2 - (bb[2] - bb[0]) / 2 y = .05 * h graph.canvas.create_text(x, y, text=title, anchor=W, font=SH['font']) # markers=['circle','square','cross','plus','dot','triangle','triangle_down'] lines = [] for j in range(rows): npt = [] da = data[j] npts = len(da) if X != None: xa = X[j] if len(xa) < npts: xa = range(npts) else: xa = range(npts) for i in range(npts): npt.append((xa[i], da[i])) line = GraphLine(npt, color='blue') lines.append(line) # plot symbols if symbol != None: npt_s = linesubset(npt) # sym = markers[j%7] linea = GraphSymbols(npt_s, color='blue', marker='circle', size=1.5, fillcolor='blue') lines.append(linea) graphObject = GraphObjects(lines) graph.pack(side=TOP, fill=BOTH, expand=YES) graph.draw(graphObject, 'automatic', 'automatic') Button( top, text='Print', command=lambda g=graph, p=SH['printer']: PSprint(g, p)).pack(side=LEFT) Button(top, text='Close', command=top.destroy).pack(side=LEFT) top.mainloop()
def scatterplot(data,title='Scatter plot',symbol=None,X=None): "multiline scater plot" from graph import GraphBase,GraphLine,GraphSymbols,GraphObjects from plotAscii import PSprint,initSH SH = initSH() try: npt = len(data[0]) except TypeError: print 'Input Error, multiple line vectors required' return rows = len(data) top = Toplevel() top.title(title) graph = GraphBase(top,300,300,relief=SUNKEN,border=2) w = string.atoi(graph.canvas.cget('width')) h = string.atoi(graph.canvas.cget('height')) bb = graph._textBoundingBox(title) x = w/2-(bb[2]-bb[0])/2 y = .05*h graph.canvas.create_text(x,y,text=title,anchor=W,font=SH['font']) # markers=['circle','square','cross','plus','dot','triangle','triangle_down'] lines = [] for j in range(rows): npt = [] da = data[j] npts = len(da) if X != None: xa = X[j] if len(xa) < npts: xa = range(npts) else: xa = range(npts) for i in range(npts): npt.append((xa[i],da[i])) line = GraphLine(npt,color='blue') lines.append(line) # plot symbols if symbol != None: npt_s = linesubset(npt) # sym = markers[j%7] linea = GraphSymbols(npt_s,color='blue',marker='circle',size=1.5, fillcolor='blue') lines.append(linea) graphObject = GraphObjects(lines) graph.pack(side=TOP,fill=BOTH,expand=YES) graph.draw(graphObject,'automatic','automatic') Button(top,text='Print',command=lambda g=graph,p=SH['printer']: PSprint(g,p)).pack(side=LEFT) Button(top,text='Close',command=top.destroy).pack(side=LEFT) top.mainloop()
def lineplot(data, title='Line plot', symbol=None, X=None): from graph import GraphBase, GraphLine, GraphSymbols, GraphObjects from plotAscii import PSprint, initSH SH = initSH() npt = [] for i in range(len(data)): if X != None: npt.append((X[i], data[i])) else: npt.append((float(i), data[i])) top = Toplevel() top.title(title) graph = GraphBase(top, 300, 300, relief=SUNKEN, border=2) w = string.atoi(graph.canvas.cget('width')) h = string.atoi(graph.canvas.cget('height')) bb = graph._textBoundingBox(title) x = w / 2 - (bb[2] - bb[0]) / 2 y = .05 * h graph.canvas.create_text(x, y, text=title, anchor=W, font=SH['font']) line = GraphLine(npt, color='blue') # plot symbols if symbol != None: npt_s = linesubset(npt) linea = GraphSymbols(npt_s, color='blue', marker='circle', size=1.5, fillcolor='blue') graphObject = GraphObjects([line, linea]) else: graphObject = GraphObjects([line]) graph.pack(side=TOP, fill=BOTH, expand=YES) graph.draw(graphObject, 'automatic', 'automatic') Button( top, text='Print', command=lambda g=graph, p=SH['printer']: PSprint(g, p)).pack(side=LEFT) Button(top, text='Close', command=top.destroy).pack(side=LEFT)