def taurusTrendMain(): from taurus.qt.qtgui.extra_guiqwt.builder import make from taurus.qt.qtgui.application import TaurusApplication from guiqwt.plot import CurveDialog from guiqwt.tools import HRangeTool import taurus.core.util.argparse import sys parser = taurus.core.util.argparse.get_taurus_parser() parser.set_usage("%prog [options] [<model1> [<model2>] ...]") parser.set_description("a taurus application for plotting 1D data sets") parser.add_option("-x", "--x-axis-mode", dest="x_axis_mode", default='d', metavar="t|d|e", help="interpret X values as timestamps (t), time deltas (d) or event numbers (e). Accepted values: t|d|e") parser.add_option("-b", "--buffer", dest="max_buffer_size", default='16384', help="maximum number of values to be plotted (when reached, the oldest values will be discarded)") parser.add_option("-a", "--use-archiving", action="store_true", dest="use_archiving", default=False) parser.add_option("--demo", action="store_true", dest="demo", default=False, help="show a demo of the widget") app = TaurusApplication( cmd_line_parser=parser, app_name="taurusplot2", app_version=taurus.Release.version) args = app.get_command_line_args() options = app.get_command_line_options() # check & process options stackModeMap = dict(t='datetime', d='deltatime', e='event') if options.x_axis_mode.lower() not in stackModeMap: parser.print_help(sys.stderr) sys.exit(1) stackMode = stackModeMap[options.x_axis_mode.lower()] if options.demo: args.append('eval:rand()') w = CurveDialog(edit=False, toolbar=True, wintitle="Taurus Trend") # set archiving if options.use_archiving: raise NotImplementedError('Archiving support is not yet implemented') w.setUseArchiving(True) w.add_tool(HRangeTool) # w.add_tool(TaurusCurveChooserTool) # w.add_tool(TimeAxisTool) if len(args) == 0: parser.print_help(sys.stderr) sys.exit(1) plot = w.get_plot() for a in args: item = TaurusTrendItem(stackMode=stackMode, buffersize=int(options.max_buffer_size)) plot.add_item(item) item.setModel(a) w.show() sys.exit(app.exec_())
def testTool(tool): from taurus.qt.qtgui.application import TaurusApplication from guiqwt.plot import CurveDialog app = TaurusApplication() win = CurveDialog(edit=False, toolbar=True) win.add_tool(tool) win.show() win.exec_()
def plot(*items): win = CurveDialog(edit=False, toolbar=True, wintitle="CurveDialog test", options=dict(title="Temperaturverlauf", xlabel="Zeit [s]", ylabel="Temperatur [\xb0C]")) win.add_tool(HRangeTool) plot = win.get_plot() for item in items: plot.add_item(item) #plot.set_axis_font("left", QFont("Courier")) win.get_itemlist_panel().show() plot.set_items_readonly(False) win.show() win.exec_()
def get_point( *args ): """ Plot curves and return selected point(s) coordinates """ win = CurveDialog(_("Select one point then press OK to accept"), edit=True) default = win.add_tool(SelectPointTool, title="Test", on_active_item=True, mode="create", end_callback=test_function) default.activate() plot = win.get_plot() for cx, cy in args: item = make.mcurve(cx, cy) plot.add_item(item) plot.set_active_item(item) win.show() if win.exec_(): return default.get_coordinates()
def get_point(*args): """ Plot curves and return selected point(s) coordinates """ win = CurveDialog(_("Select one point then press OK to accept"), edit=True) default = win.add_tool(SelectPointTool, title="Test", on_active_item=True, mode="create", end_callback=test_function) default.activate() plot = win.get_plot() for cx, cy in args: item = make.mcurve(cx, cy) plot.add_item(item) plot.set_active_item(item) win.show() if win.exec_(): return default.get_coordinates()
def taurusCurveMain(): from taurus.qt.qtgui.extra_guiqwt.builder import make from taurus.qt.qtgui.application import TaurusApplication from guiqwt.plot import CurveDialog from guiqwt.tools import HRangeTool from taurus.qt.qtgui.extra_guiqwt.tools import TaurusCurveChooserTool, TimeAxisTool import taurus.core.util.argparse import sys parser = taurus.core.util.argparse.get_taurus_parser() parser.set_usage("%prog [options] [<model1> [<model2>] ...]") parser.set_description("a taurus application for plotting 1D data sets") app = TaurusApplication(cmd_line_parser=parser, app_name="taurusplot2", app_version=taurus.Release.version) args = app.get_command_line_args() win = CurveDialog(edit=False, toolbar=True, wintitle="TaurusPlot2", options=dict(title="", xlabel="xlabel", ylabel="ylabel")) win.add_tool(HRangeTool) win.add_tool(TaurusCurveChooserTool) win.add_tool(TimeAxisTool) plot = win.get_plot() for a in args: mx_my = a.split('|') n = len(mx_my) if n == 1: mx, my = None, mx_my[0] elif n == 2: mx, my = mx_my else: print "Invalid model: %s\n" % mx_my parser.print_help(sys.stderr) sys.exit(1) # cycle colors style = make.style.next() color = style[0] linestyle = style[1:] plot.add_item( make.curve(mx, my, color=color, linestyle=linestyle, linewidth=2)) win.get_itemlist_panel().show() plot.set_items_readonly(False) win.show() win.exec_()
def taurusCurveMain(): from taurus.qt.qtgui.extra_guiqwt.builder import make from taurus.qt.qtgui.application import TaurusApplication from guiqwt.plot import CurveDialog from guiqwt.tools import HRangeTool from taurus.qt.qtgui.extra_guiqwt.tools import TaurusCurveChooserTool, TimeAxisTool import taurus.core.util.argparse import sys parser = taurus.core.util.argparse.get_taurus_parser() parser.set_usage("%prog [options] [<model1> [<model2>] ...]") parser.set_description("a taurus application for plotting 1D data sets") app = TaurusApplication( cmd_line_parser=parser, app_name="taurusplot2", app_version=taurus.Release.version) args = app.get_command_line_args() win = CurveDialog(edit=False, toolbar=True, wintitle="TaurusPlot2", options=dict(title="", xlabel="xlabel", ylabel="ylabel")) win.add_tool(HRangeTool) win.add_tool(TaurusCurveChooserTool) win.add_tool(TimeAxisTool) plot = win.get_plot() for a in args: mx_my = a.split('|') n = len(mx_my) if n == 1: mx, my = None, mx_my[0] elif n == 2: mx, my = mx_my else: print "Invalid model: %s\n" % mx_my parser.print_help(sys.stderr) sys.exit(1) # cycle colors style = make.style.next() color = style[0] linestyle = style[1:] plot.add_item(make.curve(mx, my, color=color, linestyle=linestyle, linewidth=2)) win.get_itemlist_panel().show() plot.set_items_readonly(False) win.show() win.exec_()