コード例 #1
0
def add_curves(ax,
               x,
               y,
               lp,
               i,
               set_points=True,
               lock_levels=True,
               intervals=True,
               slopes=True,
               insets=True):
    if set_points and lp.haskey('lock_x'):
        ax.add(biggles.LineX(lp['lock_x'][i] * scale))
    if lock_levels and lp.haskey('lock_y'):
        ax.add(biggles.LineY(lp['lock_y'][i] * scale))
    if intervals and lp.haskey('left_x'):
        ax.add(biggles.LineX(lp['left_x'][i] * scale, type='dashed'))
    if intervals and lp.haskey('right_x'):
        ax.add(biggles.LineX(lp['right_x'][i] * scale, type='dashed'))
    if slopes:
        for d in ['up', 'dn']:
            if not lp.haskey('lock_%s_sl' % d): continue
            m, x0, y0 = [
                lp['lock_%s' % (e)][i]
                for e in ['%s_sl' % d, '%s_x' % d, 'y']
            ]
            ax.add(biggles.Slope(m, (x0 * scale, y0 * scale), type='dashed'))
コード例 #2
0
    def plot_all(self, plot_file=None, format=None, data_attr=None):
        if plot_file is None:
            plot_file = os.path.join(self.tuning.plot_dir, '%s_summary' % \
                                         (self.data_origin['basename']))
        if format is None:
            format = self.tuning.get_exp_param('tuning_plot_format',
                                               default='png')

        if data_attr is None:
            data_attr = 'y_span'
        data = self.data[data_attr]

        _, nrow, ncol, nbias = self.data_shape
        # This code block seems totally wrong.  I have tried to
        # maintain compatibility but I cared about the rowcol
        # implementation (SWH).
        transpose_row_col = (self.bias_assoc not in ['row', 'rowcol'])
        if self.bias_assoc in ['row', 'rowcol']:
            plot_shape = (nrow, ncol)
            data = data.reshape(nrow, ncol, nbias)
            ok = self.data['ok'].reshape(nrow, ncol, nbias)
        else:  # this particularly seems wrong
            plot_shape = (nrow, ncol)  # why not (ncol,nrow)?
            data = data.reshape(nrow, ncol, nbias).transpose(1, 0, 2)
            ok = self.data['ok']  # why not transpose this too?

        pl = util.plotGridder(plot_shape,
                              plot_file,
                              title=self.data_origin['basename'],
                              xlabel=self.xlabel,
                              ylabel=self.ylabels[data_attr],
                              target_shape=(4, 2),
                              rowcol_labels=True,
                              format=format)

        an = self.analysis
        for r, c, ax in pl:
            if r >= plot_shape[(1 if transpose_row_col else 0)]:
                continue
            x = self.fb / 1000.
            #for i in xrange(ncurves):
            ax.add(biggles.Curve(x, data[r, c] / 1000.))
            if 'lock_x' in an:
                if self.bias_assoc == 'rowcol':
                    ax.add(
                        biggles.LineX(
                            (an['lock_x'].reshape(nrow, ncol))[r, c] / 1000.,
                            type='dashed'))
                else:
                    ax.add(
                        biggles.LineX(an['lock_x'][r] / 1000., type='dashed'))

        return {
            'plot_files': pl.plot_files,
        }
コード例 #3
0
def use_cross_section(csfunc, filename):
    hads = []
    hads_err = []
    for r in testsample:
        c, e = csfunc(r)
        hads.append(c)
        hads_err.append(e)
    hads_center = jt.wmean(zip(hads, hads_err))[0]

    p = biggles.FramedPlot()
    p.add(
        biggles.Points(range(len(testsample)),
                       Numeric.array(hads) / hads_center,
                       type="filled circle"))
    p.add(
        biggles.SymmetricErrorBarsY(range(len(testsample)),
                                    Numeric.array(hads) / hads_center,
                                    Numeric.array(hads_err) / hads_center))
    p.x1.draw_ticklabels = 0
    p.x1.label = "Runs by index"
    p.y1.label = "Normalized hadronic cross-section"
    p.add(biggles.LineY(1.))
    p.add(biggles.LineX(41.5, type="dashed"))
    l, r = 0.8, 1.2
    p.yrange = l, r + 0.001
    p.add(biggles.DataLabel(41.5 - 10, l + 0.15 * (r - l), "db16"))
    p.add(biggles.DataLabel(41.5 + 10, l + 0.15 * (r - l), "db17"))
    p.aspect_ratio = 8.5 / 11.
    p.show()
    p.write_eps(filename)
コード例 #4
0
ファイル: a_multiDock.py プロジェクト: ostrokach/biskit
def plotLines(nr, style='dot', col='black', ref=None):
    """
    Greate a plot grid
    -> list of biggles objects
    """
    l = []

    for i in range(1, nr + 1):
        l += [biggles.LineY(i, type=style, color=col)]
        l += [biggles.LineX(i, type=style, color=col)]

    if ref:
        l += [biggles.LineY(ref[0], color='grey')]
        l += [biggles.LineX(ref[1], color='grey')]

    return l
コード例 #5
0
def plot_voltages(fs, vecs):
    import biggles

    all_values = np.concatenate( vecs )
    hi = all_values.max()
    lo = all_values.min()

    plot = biggles.Table(len(vecs), 1)
    plot.cellpadding = 0
    plot.cellspacing = 0
    for i,vec in enumerate(vecs):
        p = biggles.Plot()
        p.add( biggles.Curve(wv.t(fs, vec), vec) )
        p.yrange = (lo, hi)
        plot[i,0] = p


    p.add( biggles.LineX(0) )
    p.add( biggles.Label(0, (hi+lo)/2, "%.2f mV" % (hi-lo), halign='left') )

    p.add( biggles.LineY(lo) )
    p.add( biggles.Label((len(vec)/fs/2), lo, "%.1f ms" % (1000*len(vec)/fs), valign='bottom') )


    return plot
コード例 #6
0
ファイル: test_examples.py プロジェクト: MrAureliusR/biggles
    def test_example11(self):
        p = biggles.FramedPlot()
        p.title = "title"
        p.xlabel = r"$x$"
        p.ylabel = r"$\Theta$"
        p.ylog = 1
        p.xlog = 1

        p.add(biggles.LineX(0.5))
        p.add(biggles.LineY(0.5))

        _write_example(11, p)
コード例 #7
0
    def plot(self, plot_file=None, format=None, data_attr=None):
        if plot_file is None:
            plot_file = os.path.join(self.tuning.plot_dir, '%s_summary' % \
                                         (self.data_origin['basename']))
        if format is None:
            format = self.tuning.get_exp_param('tuning_plot_format',
                                               default='png')

        if data_attr is None:
            data_attr = 'y_span'
        data = self.data[data_attr]

        _, nrow, ncol, nbias = self.data_shape
        if self.bias_assoc == 'row':
            plot_shape = (1, nrow)
            ncurves = ncol
            data = data.reshape(nrow, ncol, nbias)
            ok = self.data['ok'].reshape(nrow, ncol, nbias)
        else:
            plot_shape = (1, ncol)
            data = data.reshape(nrow, ncol, nbias).transpose(1, 0, 2)
            ncurves = nrow
            ok = self.data['ok']

        pl = util.plotGridder(plot_shape,
                              plot_file,
                              title=self.data_origin['basename'],
                              xlabel=self.xlabel,
                              ylabel=self.ylabels[data_attr],
                              target_shape=(4, 2),
                              row_labels=True,
                              format=format)

        an = self.analysis
        for _, r, ax in pl:
            if r >= plot_shape[1]:
                continue
            x = self.fb / 1000.
            for i in xrange(ncurves):
                ax.add(biggles.Curve(x, data[r, i] / 1000.))
            if 'lock_x' in an:
                ax.add(biggles.LineX(an['lock_x'][r] / 1000., type='dashed'))

        return {
            'plot_files': pl.plot_files,
        }
コード例 #8
0
    print putitin(cont3[i]) - 1
    rehad3[putitin(cont3[i]) - 1] += had3[i]
    rehad3err[putitin(cont3[i]) - 1] += had3err[i]**2
    reenn3[putitin(cont3[i]) - 1] += 1
for i in range(len(rehad3err)):
    rehad3[i] = float(rehad3[i]) / float(reenn3[i])
    rehad3err[i] = float(math.sqrt(rehad3err[i])) / float(reenn3[i])

print zip(recont3, rehad3, rehad3err)

p4 = biggles.Table(2, 1)
p4[0, 0] = biggles.FramedPlot()
p4[0, 0].add(
    biggles.Points(cont3, had3, symboltype="filled circle", symbolsize=0.2))
p4[0, 0].add(biggles.SymmetricErrorBarsY(cont3, had3, had3err))
p4[0, 0].add(biggles.LineX(122000, linetype="longdashed"))
p4[0, 0].add(biggles.LineX(122200, linetype="longdashed"))
p4[0, 0].add(biggles.LineX(122350, linetype="longdashed"))
p4[0, 0].add(biggles.LineX(122500, linetype="longdashed"))
p4[0, 0].add(biggles.LineX(122700, linetype="longdashed"))
p4[0, 0].add(biggles.LineX(122900, linetype="longdashed"))
p4[0, 0].yrange = 5.5, 7
p4[0, 0].y1.label = r"below $\Upsilon(3S)$ hadronic $\sigma$, arb. units"
p4[0, 0].xlabel = "Run number"
p4[1, 0] = biggles.FramedPlot()
p4[1, 0].add(
    biggles.Points(recont3, rehad3, symboltype="filled circle", symbolsize=1))
p4[1, 0].add(biggles.SymmetricErrorBarsY(recont3, rehad3, rehad3err))
rec3mean, rec3stdev = jt.wmean(zip(had3, had3err))
p4[1, 0].add(biggles.LineY(rec3mean + rec3stdev, linetype="dotted"))
p4[1, 0].add(biggles.LineY(rec3mean, linetype="longdashed"))
コード例 #9
0
                      angle=90,
                      halign="left"))
sigsplot.show()
sigsplot.write_eps("plottrig_3.eps")

newplot = biggles.FramedArray(5, 1)
num = hist.h1(100, 0, 1)
den = hist.h1(100, 0, 1)
num.vals = 0. + Numeric.array(run[121928].numer)
den.vals = 0. + Numeric.array(run[121928].denom)
newplot[0, 0].add((num / den).points(True,
                                     symboltype="filled circle",
                                     symbolsize=1))
newplot[0, 0].add((num / den).errorbars(True))
newplot[0, 0].add(biggles.LineY(1, linetype="dotted"))
newplot[0, 0].add(biggles.LineX(0.45, linetype="longdashed"))
newplot[0, 0].add(biggles.LineX(0.70, linetype="longdashed"))
newplot[0, 0].add(biggles.PlotLabel(0.1, 0.85, "121928"))
newplot[0, 0].add(biggles.PlotLabel(0.675, 0.2, "accepted region"))
num = hist.h1(100, 0, 1)
den = hist.h1(100, 0, 1)
num.vals = 0. + Numeric.array(run[121929].numer)
den.vals = 0. + Numeric.array(run[121929].denom)
newplot[1, 0].add((num / den).points(True,
                                     symboltype="filled circle",
                                     symbolsize=1))
newplot[1, 0].add((num / den).errorbars(True))
newplot[1, 0].add(biggles.LineY(1, linetype="dotted"))
newplot[1, 0].add(biggles.LineX(0.45, linetype="longdashed"))
newplot[1, 0].add(biggles.LineX(0.70, linetype="longdashed"))
newplot[1, 0].add(biggles.PlotLabel(0.1, 0.85, "121929"))
コード例 #10
0
def use_cross_section(csfunc, filename):
    hads = []
    hads_err = []
    for r in testsample:
        c, e = csfunc(r)
        hads.append(c)
        hads_err.append(e)
    hads_center = jt.wmean(zip(hads, hads_err))[0]
    hads_sigs = []
    for r, c, e in zip(testsample, hads, hads_err):
        hads_sigs.append((c - hads_center) / e)
    hads_hist = hist.h1(50, -5, 5).fill(hads_sigs).rootn()

    def gauss(x, a, m, s):
        return a * math.exp(-(x - m)**2 / 2. / s**2) / math.sqrt(
            2. * math.pi) / s

    chipoints = hads_hist.frame + (hads_hist.frame[1] -
                                   hads_hist.frame[0]) / 2.

    def chi2(a, m, s):
        c = 0.
        for i, x in zip(range(len(hads_hist.frame)), chipoints):
            if hads_hist.errs[i] > 0:
                c += (hads_hist.vals[i] -
                      gauss(x, a, m, s))**2 / hads_hist.errs[i]**2
        return c

    # def hist_look(a, m, s):
    #   p = hads_hist.plot()
    #   values = []
    #   for x in chipoints:
    #     values.append(gauss(x, a, m, s))
    #   p.add(biggles.Curve(chipoints, values))
    #   p.show()
    # hist_look(len(testsample)/5., 0, 1)

    m = Minuit(chi2, start=[len(testsample) / 5., 0, 1])
    m.migrad()
    hist_chi2, hist_params, hist_errors = m.fval, m.values, m.errors
    ndf = len(filter(lambda x: x > 0, hads_hist.errs))
    values = []
    for x in chipoints:
        values.append(gauss(x, *hist_params))
    hist_info = [["$\chi^2/ndf$", hist_chi2, "/", ndf], \
                 ["RMS", hist_params[2], "$\pm$", hist_errors[2]]]

    p = biggles.Table(2, 1)
    p[0, 0] = biggles.FramedPlot()
    p[0, 0].add(
        biggles.Points(Numeric.array(hads) / hads_center,
                       range(len(testsample)),
                       type="filled circle"))
    p[0, 0].add(
        biggles.SymmetricErrorBarsX(
            Numeric.array(hads) / hads_center, range(len(testsample)),
            Numeric.array(hads_err) / hads_center))
    p[0, 0].y1.draw_ticklabels = 0
    p[0, 0].x1.label = "$\propto$ hadronic cross-section"
    p[0, 0].add(biggles.LineX(1.))
    p[0, 0].add(biggles.LineY(41.5, type="dashed"))
    l, r = 0.8, 1.2
    p[0, 0].xrange = l, r
    p[0, 0].add(biggles.DataLabel(l + 0.15 * (r - l), 41.5 - 7, "db16"))
    p[0, 0].add(biggles.DataLabel(l + 0.15 * (r - l), 41.5 + 7, "db17"))
    p[0, 1] = hads_hist.plot()
    p[0, 1].add(biggles.Curve(chipoints, values))
    hist.addinfobox(p[0, 1],
                    hist_info,
                    width=0.8,
                    colwidth=[0.2, 0.09, 0.23],
                    corner=1,
                    numformat="%.2g")
    p[0, 1].x1.label = "sigmas away from weighted mean"
    p[0, 1].yrange = 0, 17
    p.aspect_ratio = 8.5 / 11. * 4
    p.show()
    p.write_eps(filename)
コード例 #11
0
ファイル: example11.py プロジェクト: degerli/biggles
#!/usr/bin/env python
import biggles

p = biggles.FramedPlot()
p.title = "title"
p.xlabel = r"$x$"
p.ylabel = r"$\Theta$"
p.ylog = 1
p.xlog = 1

p.add(biggles.LineX(0.5))
p.add(biggles.LineY(0.5))

p.write("example11.png", dpi=55)
p.write("example11.eps")
p.write("example11.pdf")
p.show()
コード例 #12
0
ファイル: MatrixPlot.py プロジェクト: tybiot/biskit
    def __init__(self,
                 matrix,
                 mesh=0,
                 palette="plasma",
                 legend=0,
                 step=1,
                 vmin=None,
                 vmax=None):
        """
        @param matrix: the 2-D array to plot
        @type  matrix: array
        @param mesh: create a plot with a dotted mesh
        @type  mesh: 1|0
        @param palette: color palette name see L{Biskit.ColorSpectrum}
        @type  palette: str
        @param legend: create a legend (scale) showing the walues of the
                       different colors in the plot.  
        @type  legend: 1|0
        @param step: reduce matrix -- take only each step position in x and y
        @type  step: int

        @param vmin: override minimal value, all values below will revert
                     to default color

        @return: biggles plot object, view with biggles.FramedPlot.show() or
                 save with biggles.FramedPlot.write_eps(file_name).
        @rtype: biggles.FramedPlot
        """
        if not biggles:
            raise ImportError, 'biggles module could not be imported.'

        FramedPlot.__init__(self)

        if step != 1:
            matrix = self.__thinarray(matrix, step)

        if vmin is None:
            vmin = N0.amin(matrix)

        if vmax is None:
            vmax = N0.amax(matrix)
        self.palette = ColorSpectrum(palette, vmin=vmin, vmax=vmax)

        self.matrix = self.palette.color_array(matrix, resetLimits=0)
        s = N0.shape(self.matrix)

        for i in range(s[0]):
            for j in range(s[1]):

                col = self.matrix[i, j]

                x1 = (j, j + 1)
                y1 = (i, i)
                y2 = (i + 1, i + 1)

                cell = biggles.FillBetween(x1, y1, x1, y2, color=col)

                self.add(cell)

        if mesh:

            for i in range(s[0] + 1):
                self.add(biggles.LineY(i, linetype='dotted'))

            for i in range(s[1] + 1):
                self.add(biggles.LineX(i, linetype='dotted'))

        if legend:

            legend = self.__make_legend()

            self.add(legend)

            self.add(biggles.PlotBox((-0.17, -0.1), (1.25, 1.1)))

        self.aspect_ratio = 1.0
コード例 #13
0
def plot(
    x,
    y,
    y_rc,
    lock_points,
    plot_file,
    shape=(4, 2),
    img_size=None,
    scale=1. / 1000,
    title=None,
    xlabel=None,
    ylabel=None,
    titles=None,
    rows=None,
    cols=None,
    insets=None,
    lock_levels=True,
    set_points=False,
    intervals=False,
    slopes=False,
    scale_style='tight',
    label_style='row_col',
    format=None,
):

    nr, nc = y_rc
    cl, rl, rcl = False, False, False
    if label_style == 'col_only':
        cl = True
    elif label_style == 'row_col':
        rcl = True

    if slopes == True:

        def get(key, param):
            return lock_points.get('lock_%s%s' % (key, param), None)

        slopes = []
        for d in ['', 'up_', 'dn_']:
            m, x0, y0 = [get(d, p) for p in ['slope', 'x', 'y']]
            if m is not None:
                if y0 is None:
                    # Use default y-target if separate up/dn aren't there.
                    y0 = get('', 'y')
                slopes.append(zip(m, x0, y0))

    pl = util.plotGridder(y_rc,
                          plot_file,
                          title=title,
                          xlabel=xlabel,
                          ylabel=ylabel,
                          target_shape=shape,
                          img_size=img_size,
                          col_labels=cl,
                          rowcol_labels=rcl,
                          format=format)

    for r, c, ax in pl:
        if r >= nr or c >= nc: continue
        i = c + r * nc
        if set_points:
            ax.add(biggles.LineX(lock_points['lock_x'][i] * scale))
        if lock_levels:
            ax.add(biggles.LineY(lock_points['lock_y'][i] * scale))
        if intervals:
            ax.add(
                biggles.LineX(lock_points['left_x'][i] * scale, type='dashed'))
            ax.add(
                biggles.LineX(lock_points['right_x'][i] * scale,
                              type='dashed'))
        if slopes != False:
            for s in slopes:
                m, x0, y0 = s[i]
                ax.add(
                    biggles.Slope(m, (x0 * scale, y0 * scale), type='dashed'))
        if insets is not None:
            ax.add(
                biggles.PlotLabel(0.,
                                  0.,
                                  insets[i],
                                  halign='left',
                                  valign='bottom'))
        if x.shape == y.shape:
            ax.add(biggles.Curve(x[i] / 1000., y[i] / 1000.))
        else:
            ax.add(biggles.Curve(x / 1000., y[i] / 1000.))

        if scale_style == 'roll-off':
            # Prevent small signals from causing large tick labels
            hi, lo = amax(y[i]) / 1000, amin(y[i]) / 1000
            if hi - lo < 4:
                mid = (hi + lo) / 2
                ax.yrange = (mid - 2, mid + 2)
        elif scale_style == 'tight':
            hi, lo = amax(y[i]) / 1000., amin(y[i]) / 1000.
            dx = (hi - lo) * .1
            if dx <= 0:  # Never set a 0-size yrange.
                dx = 0.5
            ax.yrange = lo - dx, hi + dx
            if x.shape == y.shape:
                ax.xrange = x[i][0] / 1000., x[i][-1] / 1000.
            else:
                ax.xrange = x[0] / 1000., x[-1] / 1000.

    pl.cleanup()
    return {
        'plot_files': pl.plot_files,
    }
コード例 #14
0
if __name__ == '__main__':
    from random import random
    # Get some fake data
    N = 100
    x = arange(N)
    y = []
    F = [2.2, 1.3, 0., 10.]
    for f in F:
        a, b, p = random() * 1000, (random() - .5) * 10000, random() * N
        y.append(a * sin(2 * pi * x * f / N + p) + b)
    y = array(y)
    print 'Periods:  ', period(y)
    print 'Expected: ', N / array(F)
    lp = get_lock_points(y, slope=array([1, 1, 1, -1]))
    print 'Lock-x: ', lp['lock_idx']
    reg = []
    for yy in y:
        reg.append(get_curve_regions(yy, slopes=True))
        print 'Crossings: ', reg[-1]
    print 'Plotting...'
    fp = biggles.Table(2, 2)
    for i in range(4):
        p = biggles.FramedPlot()
        p.add(biggles.Curve(x, y[i]))
        p.add(biggles.LineX(x[lp['lock_idx'][i]], type='dashed'))
        p.add(biggles.LineY(lp['lock_y'][i], type='dashed'))
        p.yrange = y[i].min() - 10, y[i].max() + 10
        fp[i % 2, i / 2] = p
    fp.write_img(500, 500, 'check_servo.png')
コード例 #15
0
def dividify(p):
    p.add(biggles.LineX(121400, type="longdashed"))
    p.add(biggles.LineX(121700, type="longdashed"))
    p.add(biggles.LineX(121850, type="longdashed"))
    p.add(biggles.LineX(122000, type="longdashed"))
    p.add(biggles.LineX(122200, type="longdashed"))
    p.add(biggles.LineX(122350, type="longdashed"))
    p.add(biggles.LineX(122500, type="longdashed"))
    p.add(biggles.LineX(122700, type="longdashed"))
    p.add(biggles.LineX(123200, type="longdashed"))
    p.add(biggles.LineX(128000, type="longdashed"))
    p.add(biggles.LineX(128300, type="longdashed"))
コード例 #16
0
    x = []
    y = []
    yerr1 = []
    yerr2 = []
    for i, n in enumerate(names):
        if n == "CLEO-III '05":
            x.append(i)
            y.append(gwhich[n][0])
            yerr1.append(gwhich[n][1])
            yerr2.append(sqrt(gwhich[n][1]**2 + gwhich[n][2]**2))
    return x, y, yerr1, yerr2


p = biggles.Table(1, 3)
p[0, 0] = biggles.FramedPlot()
p[0, 0].add(biggles.LineX(1.216, linetype="longdashed", linecolor="black"))
p[0, 0].add(biggles.LineX(1.216 + 0.027, linetype="dotted", linecolor="black"))
p[0, 0].add(biggles.LineX(1.216 - 0.027, linetype="dotted", linecolor="black"))
p[0, 0].add(biggles.LineY(0.5))
p[0, 0].add(
    biggles.PlotLabel(0.1,
                      0.95,
                      r"$\Upsilon(1S)$",
                      texthalign="left",
                      textvalign="top",
                      fontsize=5.))
x, y, yerr1, yerr2 = fillemup(g1)
p[0, 0].add(biggles.Points(y, x, symboltype="filled circle", symbolsize=1.5))
p[0, 0].add(biggles.SymmetricErrorBarsX(y, x, yerr1))
p[0, 0].add(biggles.SymmetricErrorBarsX(y, x, yerr2))
x, y, yerr1, yerr2 = fillemup_mine(g1)
コード例 #17
0
  c.append(tmp)
  cerr.append(math.sqrt(tmp*(1.-tmp)/float(den)))

p = biggles.FramedArray(3,1)
p[0,0].add(biggles.Points(runnumbers, a, symboltype="filled circle", symbolsize=0.5))
p[0,0].add(biggles.SymmetricErrorBarsY(runnumbers, a, aerr))
p[0,0].yrange = (0., 1.1)
p[1,0].add(biggles.Points(runnumbers, b, symboltype="filled circle", symbolsize=0.5))
p[1,0].add(biggles.SymmetricErrorBarsY(runnumbers, b, berr))
p[1,0].yrange = (0., 1.1)
p[2,0].add(biggles.Points(runnumbers, c, symboltype="filled circle", symbolsize=0.5))
p[2,0].add(biggles.SymmetricErrorBarsY(runnumbers, c, cerr))
p[2,0].yrange = (0., 1.1)
p.xlabel = r"$\epsilon$ of blocks A, B, C versus run"

p[0,0].add(biggles.LineX(122354, linetype="longdashed"))
p[1,0].add(biggles.LineX(122354, linetype="longdashed"))
p[2,0].add(biggles.LineX(122354, linetype="longdashed"))
p[2,0].add(biggles.DataLabel(122354+70, 0.2, "122354 (in 3S db17)", texthalign="left"))

p[0,0].add(biggles.LineX(123490, linetype="longdashed"))
p[1,0].add(biggles.LineX(123490, linetype="longdashed"))
p[2,0].add(biggles.LineX(123490, linetype="longdashed"))
p[2,0].add(biggles.DataLabel(123490+70, 0.4, "123490 (in 1S db18)", texthalign="left"))

p[0,0].add(biggles.LineX(128821, linetype="longdashed"))
p[1,0].add(biggles.LineX(128821, linetype="longdashed"))
p[2,0].add(biggles.LineX(128821, linetype="longdashed"))
p[2,0].add(biggles.DataLabel(128821+70, 0.2, "128821 (in 2S db23)", texthalign="left"))
p.show()
p.write_eps("plottrig2_3.eps")
コード例 #18
0
p.yrange = Numeric.array([24.482067285271594, 26.736764571284123])*8.735/25.
p.show()

#################################################

execfile("/home/mccann/antithesis/utilities.py")
import biggles, Numeric

x = Numeric.arange(-1, 1, 0.05)
y = map(lambda xi: 200*(1+xi**2), x)

p = getdb(123369).bhabha_cosp.plot()
p.aspect_ratio = 0.5
p.x1.label = r"cos$\theta_+$"
p.add(getdb(123369).bhabha_cosp.stepsfill(0., 0.6))
p.add(biggles.LineX(0., linetype="dashed"))
p.add(biggles.LineX(0.6, linetype="dashed"))
p.add(getdb(123369).bhabha_cosp.steps())
p.add(biggles.Curve(x, y, linetype="dotted"))
p.y1.draw_ticklabels = 0
p.x1.ticklabels_style["fontsize"] = 5.
p.x1.label_style["fontsize"] = 5.
p.show()
p.write_eps("plots/draw_innerbb.eps")

p = getdb(123369).bhabha_cosp.plot()
p.aspect_ratio = 0.5
p.x1.label = r"cos$\theta_+$"
p.add(getdb(123369).bhabha_cosp.stepsfill(0.6, 0.8))
p.add(biggles.LineX(0.6, linetype="dashed"))
p.add(biggles.LineX(0.8, linetype="dashed"))
コード例 #19
0
y = Numeric.arange(0., 0.07, 0.0001)
for i in range(len(x)):
    y[i] = fitme(m.values[0], m.values[1], m.values[2], x[i])

inrange = []
themin = None
for xi, yi in zip(x, y):
    if yi < min(y) + 1.:
        inrange.append(xi)
    if yi == min(y):
        themin = xi

x = Numeric.arange(0., 0.07, 0.001)
y = Numeric.arange(0., 0.07, 0.001)
for i in range(len(x)):
    y[i] = fitme(m.values[0], m.values[1], m.values[2], x[i])

p = biggles.FramedPlot()
p.add(biggles.Points(yint, chi2, symboltype="filled circle"))
p.add(biggles.Points([0.0174], [240.2], symboltype="circle", symbolsize=5.))
p.add(biggles.Curve(x, y))
p.add(biggles.LineX(themin, linetype="dashed"))
p.add(biggles.LineX(min(inrange), linetype="dotted"))
p.add(biggles.LineX(max(inrange), linetype="dotted"))
p.x1.range = 0., 0.065
p.y1.range = 200., 400.
p.x1.label = r"Interference parameter $y_{int}$"
p.y1.label = r"$\chi^2$ for $\Upsilon(1S)$ fit"
p.show()
p.write_eps("interferencescan.eps")
コード例 #20
0
ファイル: test_examples.py プロジェクト: MrAureliusR/biggles
    def test_labels(self):
        import numpy
        from numpy import linspace

        key = biggles.PlotKey(0.1, 0.9, halign='left')

        plt = biggles.FramedPlot(key=key, aspect_ratio=1)

        err = 0.1
        x = numpy.arange(10)
        y = numpy.arange(10)**2

        err = numpy.zeros(x.size) + 2
        ydata = y + numpy.random.normal(size=x.size) * err

        color = 'red'
        pts = biggles.Points(x,
                             ydata,
                             color=color,
                             type='filled diamond',
                             label='data')
        errpts = biggles.SymmetricErrorBarsY(x,
                                             ydata,
                                             err,
                                             color=color,
                                             label='data')

        model = biggles.Curve(x, y, label='model')

        plt += biggles.Polygon([0, 8, 4], [0, 0, 30],
                               color='grey20',
                               label='triangle')

        plt += [model, pts, errpts]

        plt += biggles.Point(4,
                             4,
                             type='filled circle',
                             color='cyan',
                             label='other')

        # Go from light blue to intense red.
        np = 30
        xp = linspace(0.5, 4, np)
        yp = 20 + 5 * xp.copy()
        minColor = [0.6, 0.9, 1.0]
        maxColor = [1.0, 0.2, 0.2]

        colors = numpy.zeros((np, 3))
        colors[:, 0] = numpy.interp(xp, xp,
                                    linspace(minColor[0], maxColor[0], np))
        colors[:, 1] = numpy.interp(xp, xp,
                                    linspace(minColor[1], maxColor[1], np))
        colors[:, 2] = numpy.interp(xp, xp,
                                    linspace(minColor[2], maxColor[2], np))

        plt += biggles.ColoredPoints(
            xp,
            yp,
            colors,
            type='cross',
            size=1,
            label='grad',
        )

        plt += biggles.LineX(5, color='green', label='lineY')
        plt += biggles.LineY(5, color='magenta', type='dashed', label='lineX')

        plt += biggles.Slope(-3, (0, 40), color='Hot Pink', label='slope')

        plt += biggles.DataBox([5.5, 70], [6.5, 80],
                               color='Dodger Blue',
                               label='box')

        # label doesn't work, nor does ellipses.  fundamental perhaps
        #plt += Circle(6.0, 75.0, 1,  color='yellow', label='circle')

        # not even sure how DataArc works
        #plt += DataArc(6.0, 75.0, 1,  color='yellow', label='circle')

        _write_example('labels', plt)
コード例 #21
0
               runrec[r].bhabha_cotTnumer.divide_by_superset(
                   runrec[r].bhabha_cotTdenom))
    den = corhist.sum(0.1, 1.23)
    num = runrec[r].gamgam_cotT.sum(0.1, 1.23)
    frac = float(num) / float(den)
    correction_factor.append(frac)

p = biggles.FramedArray(1, 2)
p[0, 0].add(biggles.Points(testsample, correction_factor,
                           type="filled circle"))
p[0, 0].add(
    biggles.SymmetricErrorBarsY(testsample, correction_factor,
                                correction_factor_err))
p[0, 0].yrange = 0.98, 1.
p[0, 0].xrange = 121400, 123200
p[0, 0].add(biggles.LineX(122226, type="longdashed"))
p[0, 1].add(biggles.Points(testsample, correction_factor,
                           type="filled circle"))
p[0, 1].add(
    biggles.SymmetricErrorBarsY(testsample, correction_factor,
                                correction_factor_err))
p[0, 1].yrange = 0.98, 1.
p[0, 1].xrange = 128102, 128164
p.aspect_ratio = 8.5 / 11. / 2.
p.xlabel = "Run Number"
p.ylabel = "BhabhaBarrel trigger efficiency"
p[0, 0].add(biggles.PlotLabel(0.25, 0.1, "db16"))
p[0, 0].add(biggles.PlotLabel(0.75, 0.1, "db17"))
p[0, 1].add(biggles.PlotLabel(0.5, 0.1, "Extra 3S in db22"))
# p.show()
p.write_eps("ptatalk/prepforpta2.eps")