def _histogram(xlo, xhi, y, yerr=None, title=None, xlabel=None, ylabel=None, overplot=False, clearwindow=True, yerrorbars=False, errstyle=None, errcolor=None, errthickness=None, fillcolor=None, fillopacity=None, fillstyle=None, xlog=False, ylog=False, linestyle=chips.chips_solid, linecolor=None, linethickness=None, symbolangle=None, symbolcolor=None, symbolfill=None, symbolsize=None, symbolstyle=chips.chips_none): if (not overplot) and clearwindow: _clear_window() if yerrorbars and yerr is not None: chips.add_histogram(xlo, xhi, y, yerr) else: chips.add_histogram(xlo, xhi, y) for var in ('errstyle', 'errcolor', 'errthickness', 'fillcolor', 'fillopacity', 'fillstyle', 'linestyle', 'linecolor', 'linethickness', 'symbolangle', 'symbolcolor', 'symbolfill', 'symbolsize', 'symbolstyle'): val = locals()[var] if val is not None: if 'color' in var: val = _check_hex_color(val) getattr(chips.advanced, 'set_histogram_' + var)(val) if not overplot: for log_axis, axis_id in izip((xlog, ylog), (chips.X_AXIS, chips.Y_AXIS)): if log_axis: chips.log_scale(axis_id) else: chips.linear_scale(axis_id) if title: ttl = title.replace('_', '\\_') chips.set_plot_title(ttl) if xlabel: xlbl = xlabel.replace('_', '\\_') chips.set_plot_xlabel(xlbl) if ylabel: ylbl = ylabel.replace('_', '\\_') chips.set_plot_ylabel(ylbl)
def _histogram(xlo, xhi, y, yerr=None, title=None, xlabel=None, ylabel=None, overplot=False, clearwindow=True, yerrorbars=False, errstyle=None, errcolor=None, errthickness=None, fillcolor=None, fillopacity=None, fillstyle=None, xlog=False, ylog=False, linestyle=chips.chips_solid, linecolor=None, linethickness=None, symbolangle=None, symbolcolor=None, symbolfill=None, symbolsize=None, symbolstyle=chips.chips_none): if (not overplot) and clearwindow: _clear_window() if yerrorbars and yerr is not None: chips.add_histogram(xlo, xhi, y, yerr) else: chips.add_histogram(xlo, xhi, y) for var in ('errstyle', 'errcolor', 'errthickness', 'fillcolor', 'fillopacity', 'fillstyle', 'linestyle', 'linecolor', 'linethickness', 'symbolangle', 'symbolcolor', 'symbolfill', 'symbolsize', 'symbolstyle'): val = locals()[var] if val is not None: if 'color' in var: val = _check_hex_color(val) getattr(chips.advanced, 'set_histogram_' + var)(val) if not overplot: for log_axis, axis_id in zip((xlog, ylog), (chips.X_AXIS, chips.Y_AXIS)): if log_axis: chips.log_scale(axis_id) else: chips.linear_scale(axis_id) if title: ttl = title.replace('_', '\\_') chips.set_plot_title(ttl) if xlabel: xlbl = xlabel.replace('_', '\\_') chips.set_plot_xlabel(xlbl) if ylabel: ylbl = ylabel.replace('_', '\\_') chips.set_plot_ylabel(ylbl)
def _contour(x0, x1, y, levels=None, title=None, xlabel=None, ylabel=None, overcontour=False, clearwindow=True, xlog=False, ylog=False, style=None, color=None, thickness=None, axis_pad=0.05): if (not overcontour) and clearwindow: _clear_window() # Catch NANs before sending to ChIPS bad = list(numpy.where(numpy.isnan(y)==True)).pop(0) bad_vals = numpy.array(y[bad]) y[bad] = 0.0 if levels is None: chips.add_contour(x0, x1, y) else: levels = numpy.asarray(levels, numpy.float_) chips.add_contour(x0, x1, y, levels) y[bad] = bad_vals for var in ('style', 'color', 'thickness'): val = locals()[var] if val is not None: if 'color' in var: val = _check_hex_color(val) getattr(chips.advanced, 'set_contour_' + var)(val) chips.advanced.set_axis_pad(axis_pad) chips.set_data_aspect_ratio() chips.limits(chips.X_AXIS, x0.min(), x0.max()) chips.limits(chips.Y_AXIS, x1.min(), x1.max()) if not overcontour: for log_axis, axis_id in izip((xlog, ylog), (chips.X_AXIS, chips.Y_AXIS)): if log_axis: chips.log_scale(axis_id) else: chips.linear_scale(axis_id) if title: ttl = title.replace('_', '\\_') chips.set_plot_title(ttl) if xlabel: xlbl = xlabel.replace('_', '\\_') chips.set_plot_xlabel(xlbl) if ylabel: ylbl = ylabel.replace('_', '\\_') chips.set_plot_ylabel(ylbl)
def _contour(x0, x1, y, levels=None, title=None, xlabel=None, ylabel=None, overcontour=False, clearwindow=True, xlog=False, ylog=False, style=None, color=None, thickness=None, axis_pad=0.05): if (not overcontour) and clearwindow: _clear_window() # Catch NANs before sending to ChIPS bad = list(numpy.where(numpy.isnan(y)==True)).pop(0) bad_vals = numpy.array(y[bad]) y[bad] = 0.0 if levels is None: chips.add_contour(x0, x1, y) else: levels = numpy.asarray(levels, numpy.float_) chips.add_contour(x0, x1, y, levels) y[bad] = bad_vals for var in ('style', 'color', 'thickness'): val = locals()[var] if val is not None: if 'color' in var: val = _check_hex_color(val) getattr(chips.advanced, 'set_contour_' + var)(val) chips.advanced.set_axis_pad(axis_pad) chips.set_data_aspect_ratio() chips.limits(chips.X_AXIS, x0.min(), x0.max()) chips.limits(chips.Y_AXIS, x1.min(), x1.max()) if not overcontour: for log_axis, axis_id in zip((xlog, ylog), (chips.X_AXIS, chips.Y_AXIS)): if log_axis: chips.log_scale(axis_id) else: chips.linear_scale(axis_id) if title: ttl = title.replace('_', '\\_') chips.set_plot_title(ttl) if xlabel: xlbl = xlabel.replace('_', '\\_') chips.set_plot_xlabel(xlbl) if ylabel: ylbl = ylabel.replace('_', '\\_') chips.set_plot_ylabel(ylbl)
def plot_set_yscale(scale): """Change the scaling of the Y axis. Parameters ---------- scale : 'log', 'lin', 'logarithmic', 'linear' """ lscale = scale.lower() if lscale in ['log', 'logarithmic']: pychips.log_scale(pychips.Y_AXIS) elif lscale in ['lin', 'linear']: pychips.lin_scale(pychips.Y_AXIS) else: raise ValueError("Unsupported axis scale: {0}".format(scale))
def _plot(x, y, yerr=None, xerr=None, title=None, xlabel=None, ylabel=None, overplot=False, clearwindow=True, xerrorbars=False, yerrorbars=False, errstyle=None, errcolor=None, errthickness=None, xlog=False, ylog=False, linestyle=chips.chips_solid, linecolor=None, symbolstyle=chips.chips_none, symbolcolor=None, symbolsize=None, symbolfill=True, linethickness=None, xaxis=False, ratioline=False): if (not overplot) and clearwindow: _clear_window() if yerrorbars and (yerr is not None) and xerrorbars and (xerr is not None): xerr = xerr / 2. chips.add_curve(x, y, (yerr, yerr, xerr, xerr) ) elif yerrorbars and (yerr is not None): chips.add_curve(x, y, yerr) else: chips.add_curve(x, y) for var in ('errstyle', 'errcolor', 'errthickness', 'linestyle', 'linecolor', 'symbolstyle', 'symbolcolor', 'symbolsize', 'symbolfill', 'linethickness'): val = locals()[var] if val is not None: if 'color' in var: val = _check_hex_color(val) getattr(chips.advanced, 'set_curve_' + var)(val) if not overplot: for log_axis, axis_id in izip((xlog, ylog), (chips.X_AXIS, chips.Y_AXIS)): if log_axis: chips.log_scale(axis_id) else: chips.linear_scale(axis_id) if title: ttl = title.replace('_', '\\_') chips.set_plot_title(ttl) if xlabel: xlbl = xlabel.replace('_', '\\_') chips.set_plot_xlabel(xlbl) if ylabel: ylbl = ylabel.replace('_', '\\_') chips.set_plot_ylabel(ylbl) if xaxis: chips.add_hline(0); if ratioline: chips.add_hline(1);
def _plot(x, y, yerr=None, xerr=None, title=None, xlabel=None, ylabel=None, overplot=False, clearwindow=True, xerrorbars=False, yerrorbars=False, errstyle=None, errcolor=None, errthickness=None, xlog=False, ylog=False, linestyle=chips.chips_solid, linecolor=None, symbolstyle=chips.chips_none, symbolcolor=None, symbolsize=None, symbolfill=True, linethickness=None, xaxis=False, ratioline=False): if (not overplot) and clearwindow: _clear_window() if yerrorbars and (yerr is not None) and xerrorbars and (xerr is not None): xerr = xerr / 2. chips.add_curve(x, y, (yerr, yerr, xerr, xerr)) elif yerrorbars and (yerr is not None): chips.add_curve(x, y, yerr) else: chips.add_curve(x, y) for var in ('errstyle', 'errcolor', 'errthickness', 'linestyle', 'linecolor', 'symbolstyle', 'symbolcolor', 'symbolsize', 'symbolfill', 'linethickness'): val = locals()[var] if val is not None: if 'color' in var: val = _check_hex_color(val) getattr(chips.advanced, 'set_curve_' + var)(val) if not overplot: for log_axis, axis_id in izip((xlog, ylog), (chips.X_AXIS, chips.Y_AXIS)): if log_axis: chips.log_scale(axis_id) else: chips.linear_scale(axis_id) if title: ttl = title.replace('_', '\\_') chips.set_plot_title(ttl) if xlabel: xlbl = xlabel.replace('_', '\\_') chips.set_plot_xlabel(xlbl) if ylabel: ylbl = ylabel.replace('_', '\\_') chips.set_plot_ylabel(ylbl) if xaxis: chips.add_hline(0) if ratioline: chips.add_hline(1)