コード例 #1
0
class FieldView:
    def __init__(self, data, title, color_range=None):
        self.G = Gnuplot(persist=True)
        self.G('set border 4095 lt 1.000')
        self.G('set view map')
        self.G('set samples 50,50')
        self.G('set isosamples 50,50')
        self.G('unset surface')
        self.G('set style data pm3d')
        self.G('set style function pm3d')
        self.G('set ticslevel 0')
        self.G('set terminal x11')
        self.G('set pm3d at b')
        if color_range:
            self.G('set cbrange [%d:%d]' % color_range)
        self.data = data
        self.gdata = GridData(self.data)
        self.change_title(title)
        self.change_data(data)
        return

    def change_title(self, title):
        temp = 'set title "' + title + '"'
        self.G(temp)
        self.G.splot(self.gdata)
        return

    def change_data(self, data):
        self.data = data
        self.gdata = GridData(self.data)
        self.G.splot(self.gdata)
        return
コード例 #2
0
        for i, val in enumerate(k):
            dcr[step, i] = float(val)
        print dcr[step]
        for i in range(127):
            s = datain.readline()

    step, tof = nonzero(dcr)
    dcrcounts = dcr[step, tof]
    save = zeros([3, len(step)])
    save[0] = step
    save[1] = tof
    save[2] = dcrcounts
    savetxt(dataout, save, fmt='%.1f')
    """
    for i in range(len):
        for val in dcr[step]:
            dataout.write("%f "%(val))
        dataout.write("\n")
    """
    dataout.close()
    datain.close()
    return dcr


dcr = extractdcr("axlv2_et_slices_2003_018_23.52.56_2003_019_00.04.56.dat")
gp = Gnuplot()
gp("set pm3d map corners2color c1")
gp("set cbrange[0.1:%f]" % (amax(dcr)))
gp("set log cb")
gp.splot(GridData(dcr))
コード例 #3
0
class multiplot:
    """
    docstring should be added ...
    """
    def __init__(self, panels, setformat=0):
        self.panel = []
        for i in range(panels):
            self.panel.append(plotdata())
        self.xrange = [0., 100.]
        self.xlabel = "DoY"
        self.xaxis_flag = 0
        self.title = ""
        self.gv = 1
        self.format = setformat  #0 Querformat, 1 Hochformat
        self.outname = "multiplot"
        self.plotmarks = []

    def addplotmark(self, style, lt=5):
        self.plotmarks.append(plotmark(style, lt))

    def addpanel(self, data):
        self.panel.append(plotdata())

    def setxrange(self, a, b):
        self.xrange[0] = a
        self.xrange[1] = b

    def settitle(self, a):
        self.title = a

    def setgv(self, a):
        self.gv = a

    def setxaxis2(self, a):
        """
	This routine plots a seconds xaxis on top of the screen.
	Input must be a list of lists containing the x2label and xposition of that label:
	e.g: [["Jan",30],["Feb",58]...]
	"""
        self.xaxis_flag = 1
        try:
            b = a[0][0]
            b = a[0][1]
        except:
            print "Wrong input for SELF.SETXAXIS2()"
            print "Input must be of the form of [['label',xpos],['label',xpos],[],[],...,[]]"
            print "Second x axis is omitted. Hit ENTER to proceed"
            blub = raw_input()
        self.xaxis2 = a

    def setxlabel(self, a):
        self.xlabel = str(a)

    def setname(self, a):
        self.outname = str(a)

    def build_xaxis2(self):
        """
 	This routine builds the seconds xaxis from self.xaxis2
	"""
        for label in self.xaxis2:
            if label[1] > self.xrange[0] and label[1] < self.xrange[1]:
                self.gp(
                    "set label center'{/Helvetica=5  %s}' at first %f, screen 1.00"
                    % (label[0], label[1]))
        self.xaxis_flag = 0

    def plot(self):
        self.gp = Gnuplot()
        self.generatebox()
        for panel in range(len(self.panel)):
            self.plotpanel(panel)
        #self.gp("unset tmargin")
        #self.gp("unset title")
        #self.gp("unset multiplot")
        #self.gp("set size 1,1")
        #self.gp("set xtics")
        self.gp("set autoscale")
        self.gp.sync()
        os.system("ps2eps -f -B -l %s.ps" % (self.outname))
        os.system("rm %s.ps" % (self.outname))
        if (self.gv):
            os.system("okular %s.eps" % (self.outname))
        del self.gp

    def generatebox(self):
        self.gp("set term postscript solid enhanced color")
        self.gp("set output '%s.ps'" % (self.outname))
        self.gp("set border front")
        self.gp("unset key")
        self.gp("unset colorbox")
        self.gp(
            "set palette model RGB functions gray<1.e-20 ? 1 : gray<0.5 ? gray*2 : 1 , gray<1.e-20 ? 1 : gray<0.5 ? gray*2 : 2-gray*2, gray <1.e-20 ? 1 : gray<0.5 ? 1-sqrt(gray*2) : 0"
        )
        if (self.format):
            self.gp("set xtics nomirror font 'Helvetica,9'")
        else:
            self.gp("set xtics nomirror")
        self.gp("set multiplot")
        self.gp("set xlabel 0,0.1")
        if (self.format):
            self.gp("set xlabel '%s' font 'Helvetica,9'" % (self.xlabel))
        else:
            self.gp("set xlabel '%s' font 'Helvetica,12'" % (self.xlabel))
        self.gp("set xrange[%e:%e]" %
                (float(self.xrange[0]), float(self.xrange[1])))
        if (self.format):
            self.gp("set ytics font 'Helvetica,9'")
        else:
            self.gp("set ytics")
        #self.gp("set autoscale")
        self.gp("set key right samplen 0.5")
        self.gp("set key spacing 0.8")
        self.gp("unset xtics")
        self.gp("unset xlabel")
        self.gp("set border front")
        if self.xaxis_flag == 1:
            self.build_xaxis2()

    def plotpanel(self, panel):
        self.buildplotmarks(panel)
        first = 1
        self.gp("unset key")
        self.gp(
            "set label center'{/Helvetica=9  %s}' at screen 0.3, screen 1.02" %
            (self.title))
        self.gp("set border front")
        #self.gp("unset label")
        if (self.panel[panel].grid):
            self.gp("set grid xtics front")
        else:
            self.gp("set grid xtics front")
            self.gp("unset grid")
        size = (.86 / (float(len(self.panel)))) + 0.06
        size2 = .86
        self.gp("unset xlabel")
        self.gp("set format x ''")
        self.buildytics(panel)
        if (panel == 0):
            size = (.86 / float((len(self.panel)))) + 0.1
            self.gp("set xlabel 0,0.2")
            if (self.format):
                self.gp("set xlabel '%s' font 'Helvetica,9'" % (self.xlabel))
            else:
                self.gp("set xlabel '%s' font 'Helvetica,12'" % (self.xlabel))
            self.gp("set format x")
            if (self.format):
                self.gp("set xtics font 'Helvetica,9'")
            else:
                self.gp("set xtics")
            self.gp("set mxtics 10")
        if (self.panel[panel].type == "plot"):
            self.gp("set size 1.,%f" % (size))
            if (self.format):
                self.gp("set size 0.6,%f" % (size))
        elif (self.panel[panel].type == "splot"):
            self.gp("set size 1.2935,%f" % (size * 1.65))
        if (panel == 0):
            self.gp("set origin 0,%f" % (0.05))
        else:
            if (self.panel[panel].type == "plot"):
                self.gp("set origin 0,%f" % (0.09 + float(panel) *
                                             (size - 0.06)))
            elif (self.panel[panel].type == "splot"):
                self.gp("set origin -.147,%f" % ((0.09 + float(panel) *
                                                  (size - 0.06)) - .1315))

        self.gp("set lmargin 8")
        if (self.format):
            self.gp(
                "set label '%s' at screen 0.05,%f center rotate by 90 font 'Helvetica,9'"
                % ((self.panel[panel].ylabel),
                   (0.09 + float(panel) * (size - 0.06) + size / 2.)))
        else:
            self.gp(
                "set label '%s' at screen 0.03,%f center rotate by 90 font 'Helvetica,12'"
                % ((self.panel[panel].ylabel),
                   (0.09 + float(panel) * (size - 0.06) + size / 2.)))
        self.gp("set yrange[%e:%e]" %
                (self.panel[panel].yrange[0], self.panel[panel].yrange[1]))
        if self.panel[panel].xrange[0] != "NAN":
            self.gp("set xrange[%e:%e]" %
                    (self.panel[panel].xrange[0], self.panel[panel].xrange[1]))
        # plot marks
        for mark in self.plotmarks:
            doplotmark = 0
            for i in mark.panels:
                if (i == -1
                        or i == panel and self.panel[panel].type == "plot"):
                    doplotmark = 1
            if (doplotmark):
                doplotlabel = 0
                if (mark.label != ""):
                    for i in mark.labelpanels:
                        if (i == -1 or i == panel):
                            doplotlabel = 1
                if (mark.style == "vline"):
                    head = ""
                    if (mark.arrowhead == 0):
                        head = "nohead"
                    elif (mark.arrowhead == 1):
                        head = "head filled"
                    mark.plot[panel].set_option_colonsep(
                        "with", "vectors %s lt %i lw %i" %
                        (head, mark.linetype, mark.linewidth))
                    #self.gp("plot 'testvector.dat' with vectors")
                    if (doplotlabel):
                        if (self.format):
                            self.gp(
                                "set label '%s' at graph %f,%f tc lt %i font 'Helvetica,9' front"
                                % ((mark.label, mark.pos[0][0] /
                                    (self.xrange[1] - self.xrange[0]) + 0.01,
                                    0.8, mark.linetype)))
                        else:
                            self.gp(
                                "set label '%s' at graph %f,%f tc lt %i font 'Helvetica,12' front"
                                % ((mark.label, mark.pos[0][0] /
                                    (self.xrange[1] - self.xrange[0]) + 0.01,
                                    0.8, mark.linetype)))
                    if (first):
                        self.gp.plot(mark.plot[panel])
                        first = 0
                    else:
                        self.gp.replot(mark.plot[panel])
                if (mark.style == "box"):
                    mark.plot[panel].set_option_colonsep("using", "1:2:3")
                    mark.plot[panel].set_option_colonsep(
                        "with", "filledcurves lt %i" % (mark.linetype))
                    if (doplotlabel):
                        if (self.format):
                            self.gp(
                                "set label '%s' at graph %f,%f tc lt %i font 'Helvetica,9' center front"
                                % (mark.label,
                                   (mark.pos[0][0] +
                                    (mark.pos[0][2] - mark.pos[0][0]) / 2.) /
                                   (self.xrange[1] - self.xrange[0]), 0.8, 0))
                        else:
                            self.gp(
                                "set label '%s' at graph %f,%f tc lt %i font 'Helvetica,12' center front"
                                % (mark.label,
                                   (mark.pos[0][0] +
                                    (mark.pos[0][2] - mark.pos[0][0]) / 2.) /
                                   (self.xrange[1] - self.xrange[0]), 0.8, 0))
                    if (first):
                        self.gp.plot(mark.plot[panel])
                        first = 0
                    else:
                        self.gp.replot(mark.plot[panel])
                if (mark.style == "hline"):
                    head = ""
                    if (mark.arrowhead == 0):
                        head = "nohead"
                    elif (mark.arrowhead == 1):
                        head = "head filled"
                    mark.plot[panel].set_option_colonsep(
                        "with", "vectors %s lt %i lw %i" %
                        (head, mark.linetype, mark.linewidth))
                    #self.gp("plot 'testvector.dat' with vectors")
                    if (doplotlabel):
                        if (self.format):
                            self.gp(
                                "set label '%s' at graph %f,%f tc lt %i font 'Helvetica,9' front"
                                % ((mark.label, mark.pos[0][0] /
                                    (self.xrange[1] - self.xrange[0]) + 0.01,
                                    0.8, mark.linetype)))
                        else:
                            self.gp(
                                "set label '%s' at graph %f,%f tc lt %i font 'Helvetica,12' front"
                                % ((mark.label, mark.pos[0][0] /
                                    (self.xrange[1] - self.xrange[0]) + 0.01,
                                    0.8, mark.linetype)))
                    if (first):
                        self.gp.plot(mark.plot[panel])
                        first = 0
                    else:
                        self.gp.replot(mark.plot[panel])
                if (mark.style == "function"):
                    if (first):
                        self.gp.plot(mark.plot[panel])
                    else:
                        self.gp.replot(mark.plot[panel])

        if (first and self.panel[panel].type == "plot"):
            if len(self.panel[panel].data) == 1:
                self.gp("%s" % (self.panel[panel].key))
            self.gp.plot(self.panel[panel].data[0])
            first = 0
        elif (first and self.panel[panel].type == "splot"):
            self.gp("set pm3d map")
            self.gp.splot(self.panel[panel].data[0])
            first = 0
        else:
            self.gp.replot(self.panel[panel].data[0])
        for i in range(len(self.panel[panel].data) - 1):
            if i == len(self.panel[panel].data) - 2:
                self.gp("%s" % (self.panel[panel].key))
            self.gp.replot(self.panel[panel].data[i + 1])
        self.gp("unset pm3d")

    def buildplotmarks(self, panel):
        for mark in self.plotmarks:
            tmpmark = []
            if (mark.style == "vline"):
                tmppos = mark.pos
                tmppos[0][1] = self.panel[panel].yrange[0] * 1.01
                tmppos[0][3] = (self.panel[panel].yrange[1] -
                                self.panel[panel].yrange[0]) * 0.99
                tmpmark = Data(tmppos)
            if (mark.style == "hline"):
                tmppos = mark.pos
                tmppos[0][0] = self.xrange[0] * 1.01
                tmppos[0][2] = (self.xrange[1] - self.xrange[0]) * 0.99
                tmpmark = Data(tmppos)
            if (mark.style == "box"):
                if mark.pos[0][2] == 1e-20:
                    ymin = self.panel[panel].yrange[0]
                else:
                    ymin = mark.pos[0][2]
                if mark.pos[0][3] == 1e20:
                    ymax = self.panel[panel].yrange[1]
                else:
                    ymax = mark.pos[0][3]
                tmppos = [[mark.pos[0][0], ymin, ymax],
                          [mark.pos[0][1], ymin, ymax]]
                #tmppos=[[mark.pos[0][0],self.panel[panel].yrange[1],self.panel[panel].yrange[0]],[mark.pos[0][2],self.panel[panel].yrange[1],self.panel[panel].yrange[0]]]
                tmpmark = Data(tmppos)
            if (mark.style == "function"):
                tmpmark = mark.function
            if (tmpmark != []):
                mark.addplot(tmpmark)

    def buildytics(self, panel):
        # the tics for panel=panel are set. The cases logscale and linear scale are handled. In the first panel (panel==0) all tics are labeled set
        # in all other panels the first tic is unlabeled to avoid overlapp with the tics from the panel below.
        # logscale tics are set   --->  if yrange is smaller than 7 orders of magnitude the tics are set each order of magnitude and 8 minor tics
        #                               corresponding to 2*,3*,...,9* are set (will fail if yrange is smaller than one order of magnitude
        #                               if yrange is greater than
        # linearscale tics are set --->

        if (self.panel[panel].ytics != ""):
            if (self.format):
                self.gp("set ytics %s font 'Helvetica,9'" %
                        (self.panel[panel].ytics))
            else:
                self.gp("set ytics %s" % (self.panel[panel].ytics))
            if (self.panel[panel].logscale):
                self.gp("set logscale y")
            return

        # begin if logscale
        if (self.panel[panel].logscale):
            self.gp("unset ytics")
            self.gp("set logscale y")
            self.gp("set format y '10^{%2T}'")
            adjust = 0
            i = 1.e0
            while (not adjust):
                i = i * 10.
                tmp = self.panel[panel].yrange[0]
                tmp = tmp * i**6
                if (tmp >= self.panel[panel].yrange[1]):
                    adjust = 1

            if (self.panel[panel].minor < 0):
                if (i <= 10.):
                    minor = 8
                else:
                    minor = int(log(i, 10.) + .01)
                    minor2 = 2
            if (self.panel[panel].minor == 0):
                if (i <= 10.):
                    minor = 0
                else:
                    minor = int(log(i, 10.) + .01)
                    minor2 = 1
            if (self.panel[panel].minor > 0):
                if (i <= 10.):
                    minor = self.panel[panel].minor
                else:
                    minor = int(log(i, 10.) + .01)
                    minor2 = 2
            tic = self.panel[panel].yrange[0]
            utic = tic
            if (i <= 10.):
                j = -1
                while (utic <= self.panel[panel].yrange[1]):
                    j += 1
                    utic = tic * i**j
                    if (j == 0):
                        if (panel == 0):
                            if (self.format):
                                self.gp("set ytics (%e) font 'Helvetica,9'" %
                                        (utic))
                            else:
                                self.gp("set ytics (%e)" % (utic))
                        else:
                            if (self.format):
                                self.gp(
                                    "set ytics (' ' %e) font 'Helvetica,9'" %
                                    (float(utic)))
                            else:
                                self.gp("set ytics (' ' %e)" % (float(utic)))
                    else:
                        self.gp("set ytics add (%e)" % (utic))
                    for l in range(minor):
                        self.gp(
                            "set ytics add ('' %e 1)" %
                            (utic +
                             (utic * 9. / float(minor + 1) * float(l + 1))))
            else:
                j = -1
                while (utic <= self.panel[panel].yrange[1]):
                    j += 1
                    utic = tic * i**j
                    if (j == 0):
                        if (panel == 0):
                            if (self.format):
                                self.gp("set ytics (%e) font 'Helvetica,9'" %
                                        (utic))
                            else:
                                self.gp("set ytics (%e)" % (utic))
                        else:
                            if (self.format):
                                self.gp(
                                    "set ytics (' ' %e) font 'Helvetica,9'" %
                                    (float(utic)))
                            else:
                                self.gp("set ytics (' ' %e)" % (float(utic)))
                    else:
                        self.gp("set ytics add (%e)" % (utic))
                    for k in range(minor):
                        for l in range(minor2):
                            if (not (k == minor - 1 and l == minor2 - 1)):
                                if (l == minor2 - 1):
                                    self.gp(
                                        "set ytics add ('' %e)" %
                                        (float(utic) * float(10**k) * float(
                                            (l + 1) * 10. / float(minor2))))
                                else:
                                    self.gp(
                                        "set ytics add ('' %e 1)" %
                                        (float(utic) * float(10**k) * float(
                                            (l + 1) * 10. / float(minor2))))
        # begin if linear scale
        else:
            self.gp("unset ytics")
            self.gp("unset logscale y")
            self.gp("set format y '%6g'")
            i = .1
            while (self.panel[panel].yrange[1] - self.panel[panel].yrange[0] >
                   i):
                i = i * 10.
            minor = 9
            if (i / 4. >=
                    self.panel[panel].yrange[1] - self.panel[panel].yrange[0]):
                i = i / 4.
                minor = 4
            elif (i / 2. >=
                  self.panel[panel].yrange[1] - self.panel[panel].yrange[0]):
                i = i / 2.
                minor = 9
            if (self.panel[panel].minor == 0):
                minor = 0
            elif (self.panel[panel].minor > 0):
                minor = self.panel[panel].minor

            if (i > 10.):
                for j in range(6):
                    if (j == 0):
                        if (panel == 0):
                            if (self.format):
                                self.gp("set ytics (%i) font 'Helvetica,9'" %
                                        (int(self.panel[panel].yrange[0])))
                            else:
                                self.gp("set ytics (%i)" %
                                        (int(self.panel[panel].yrange[0])))
                        else:
                            if (self.format):
                                self.gp(
                                    "set ytics (' ' %i) font 'Helvetica,9'" %
                                    (int(self.panel[panel].yrange[0])))
                            else:
                                self.gp("set ytics (' ' %i)" %
                                        (int(self.panel[panel].yrange[0])))
                    else:
                        self.gp(
                            "set ytics add (%i)" %
                            (int(self.panel[panel].yrange[0] + i / 5. * j)))
                    print "minor = ", minor
                    for k in range(minor):
                        if ((minor + 1) % 5 == 0 and (k + 1) % 5 == 0):
                            self.gp(
                                "set ytics add (' ' %i)" %
                                (int(self.panel[panel].yrange[0] + j * i / 5. +
                                     (i / 5. / float(minor + 1) *
                                      float(k + 1)))))
                        else:
                            self.gp(
                                "set ytics add (' ' %i 1)" %
                                (int(self.panel[panel].yrange[0] + j * i / 5. +
                                     (i / 5. / float(minor + 1) *
                                      float(k + 1)))))
            else:
                for j in range(6):
                    if (j == 0):
                        if (panel == 0):
                            if (self.format):
                                self.gp("set ytics (%f) font 'Helvetica,9'" %
                                        (self.panel[panel].yrange[0]))
                            else:
                                self.gp("set ytics (%f)" %
                                        (self.panel[panel].yrange[0]))
                        else:
                            if (self.format):
                                self.gp(
                                    "set ytics (' ' %f) font 'Helvetica,9'" %
                                    (self.panel[panel].yrange[0]))
                            else:
                                self.gp("set ytics (' ' %f)" %
                                        (self.panel[panel].yrange[0]))
                    else:
                        self.gp("set ytics add (%f)" %
                                (self.panel[panel].yrange[0] + i / 5. * j))
                    for k in range(minor):
                        if ((minor + 1) % 5 == 0 and (k + 1) % 5 == 0):
                            self.gp(
                                "set ytics add (' ' %f)" %
                                (self.panel[panel].yrange[0] + j * i / 5. +
                                 (i / 5. / float(minor + 1) * float(k + 1))))
                        else:
                            self.gp(
                                "set ytics add (' ' %f 1)" %
                                (self.panel[panel].yrange[0] + j * i / 5. +
                                 (i / 5. / float(minor + 1) * float(k + 1))))
コード例 #4
0
ファイル: tof_distribution.py プロジェクト: annefi/PUI-fun
        gp3("plot  s(x), '/home/kleopatra/mu/daten/giessen/swxli" + str(n) +
            ".hste' u 1:2:3 with errorbars")

        res[n, 7] = float(str(gp3.eval("x1")))
        res[n, 8] = float(str(gp3.eval("sk1")))
        res[n, 9] = float(str(gp3.eval("sk2")))
        res[n, 10] = float(str(gp3.eval("kappa1")))
        res[n, 11] = float(str(gp3.eval("G1")))
        res[n, 12] = float(str(gp3.eval("bg")))
        res[n, 13] = float(str(gp3.eval("kappa2")))

        gp2("set xrange[1:200]")
        gp2("set yrange[" + str(hp - 20) + ":" + str(hp + 50) + "]")
        gp2("set pm3d map")
        gp2("set logscale z")
        gp2.splot(datagrid)

#       1. Fitvorgang abgeschlossen

    if (do == 1):
        file1 = open("neue_fitergebnisse/ungebinnt/fit_res_all_lk_rk_obg", "a")
        file2 = open(
            "neue_fitergebnisse/ungebinnt/fit_res_" + ion + "_lk_rk_obg", "w")
        for i in swxli:
            if (int(ehpl1[i]) >= 25):
                if (int(res[i, 4]) >= 500):
                    file1.write(str(i))
                    file1.write("   ")
                    file2.write(str(i))
                    file2.write("   ")
                    for j in range(14):
コード例 #5
0
	del o7data

x_max = max(x_max)
y_max = max(y_max)

y_max_len = []
for i in range(len(hist)):
	y_max_len.append(len(hist[i]))
y_max_len = max(y_max_len)
for i in range(len(hist)):
	while (len(hist[i]) < y_max_len):
			hist[i].append(0)

x_label = []
akt = 0.
while (akt < x_max):
	x_label.append(akt)
	akt += x_binsize
y_label = []
akt = 0.
while (akt < y_max):
	y_label.append(akt)
	akt += y_binsize

gp = Gnuplot()
gpdata=GridData(hist,x_label,y_label,binary=0)
gp("set pm3d at bs map explicit corners2color c1")

gp("set palette model RGB functions gray<1.e-20 ? 1 : gray<0.5 ? gray*2 : 1 , gray<1.e-20 ? 1 : gray<0.5 ? gray*2 : 2-gray*2, gray <1.e-20 ? 1 : gray<0.5 ? 1-sqrt(gray*2) : 0")
gp.splot(gpdata)
コード例 #6
0
ファイル: plot_puipos.py プロジェクト: annefi/PUI-fun
gp("set log cb")
gp("set xlabel 'Time-of-Flight Channel'")
gp("set ylabel 'Energy Channel'")
#gp("show cblabel")
gp("set xrange[%i:%i]" % (xrange[0], xrange[1]))
gp("set yrange[%i:%i]" % (yrange[0], yrange[1]))
#gp("set log z")
gp("set cbrange[1e0:1e6]")
gp("set format cb '10^%T'")
gp("set contour both")
gp("set cntrparam levels discrete 1e2,3.3e2,6.6e2,1e3,3.3e3,6.6e3,1e4,3.3e4,6.6e4,1e5,3.3e5,6.6e5,1e6"
   )
gp("set pm3d map")
#gp("unset clabel")
gp("unset key")
gp.splot(gpdata)
gp("unset ztics")
gp("unset surface")
#gp("set clabel offset -100,0")
gp("set grid front noxtics noytics")
gp("set isosamples 1000")
gp("set pm3d at b corners2color median")
gp.replot(gpdata)

gp("set surface")
gp("set clabel '%0.0f'")
gp("unset contour")
gp("unset pm3d")
gp("unset log z")
gp("set zrange[0.5:1.5]")
gp.splot(gppoints)
コード例 #7
0
ファイル: compareetsl.py プロジェクト: annefi/PUI-fun
    ergin = open(path3 + k[0])
    for i in range(5):
        ergin.readline()
    for step in range(58):
        s2 = ergin.readline()
        for col in range(128):
            s2 = ergin.readline()
            k2 = s2.split()
            for lin in range(512):
                etsl1d[step][col][lin] += float(k2[lin])
    ergin.close()
listin.close()

for step in range(58):
    for col in range(128):
        for lin in range(512):
            etsl1dm12m[step][col][
                lin] = etsl1d[step][col][lin] - etsl12m[step][col][lin]
            etsl1dm1h[step][col][
                lin] = etsl1d[step][col][lin] - etsl1h[step][col][lin]

diffpl12m = []
GridData(etsl1dm12m)
diffpl1h = []
for step in range(58):
    diffpl12m.append(GridData(etsl1dm12m))
    diffpl1h.append(GridData(etsl1dm1h))
gp("set pm3d map explicit")
gp = Gnuplot()
gp.splot(diffpl12m[45])
コード例 #8
0
ファイル: plot_dcr.py プロジェクト: annefi/PUI-fun
gp3 = Gnuplot()
gp3.plot(Data(wbins, whist, with_="histeps"),
         Data(wbins2, whist2, with_="histeps lt 3"))
gp2 = Gnuplot()
gp2("set style data lines")
gp2.plot(he1sum)

gp = Gnuplot()
#gp("set term postscript enhanced color 18 lw 2 eps")
#gp("set output 'fouryears.ps'")
#gp("set multiplot")
#gp.splot(pionpos[0],pionpos[1],pionpos[2],pionpos[3])
gp("set pm3d map at b corners2color c1")
gp("set log cb")
gp("set cbrange[.1:]")
#gp("set cbrange[1e2:]")
#gp("set palette model RGB functions gray<1.e-20 ? 1 : gray<0.5 ? gray*2 : 1 , gray<1.e-20 ? 1 : gray<0.5 ? gray*2 : 2-gray*2, gray <1.e-20 ? 1 : gray<0.5 ? 1-sqrt(gray*2) : 0")
gp("set xrange[0:57]")
gp("set yrange[0:500]")
#gp.splot(GridData(dcr),pionpos[0],pionpos[1],pionpos[2],pionpos[3],pionpos[4])
gp.splot(GridData(dcr), *pionpos)
gp.hardcopy("10years.ps", color="True")
#gp("set surface")
#gp("set clabel '%0.0f'")
#gp("unset contour")
#gp("unset pm3d")
#gp("unset log z")
#gp("set zrange[0.5:1.5]")
#gp.splot(pionpos[0],pionpos[1],pionpos[2],pionpos[3])
コード例 #9
0
ファイル: vi_vs_vp.py プロジェクト: annefi/PUI-fun
#xrange=[300.,800.]
yrange = [0., 2.]
a = [[xrange[0], yrange[0], 1.], [xrange[1], yrange[1], 1.]]
pa = Data(a)
pa.set_option_colonsep("with", "l lt -1")
gp = Gnuplot()
gp("set pm3d at bs map explicit corners2color c1")
#gp("set pm3d map")
gp("set size square")
gp("set xrange[%f:%f]" % (xrange[0], xrange[1]))
gp("set yrange[%f:%f]" % (yrange[0], yrange[1]))
#gp("set logscale x")
gp("set palette model RGB functions gray<1.e-20 ? 1 : gray<0.5 ? gray*2 : 1 , gray<1.e-20 ? 1 : gray<0.5 ? gray*2 : 2-gray*2, gray <1.e-20 ? 1 : gray<0.5 ? 1-sqrt(gray*2) : 0"
   )
gp("set logscale cb")
gp.splot(pvivsvparr, pdvzeros)  #,pa)
gp.hardcopy("v%s_vs_vp.ps" % (ionlist[0]), color="true", fontsize=20)

pmeandv = []
for ion in meandvvsvparr:
    pmeandv.append(Data(ion))
    pmeandv[-1].set_option_colonsep("using", "1:2:3")
    pmeandv[-1].set_option_colonsep("with", "yerrorbars")

gp2 = Gnuplot()
gp2.plot(pmeandv[0])
for i in range(1, len(pmeandv)):
    gp2.replot(pmeandv[i])

pmeanhevse = Data(meanhevse)
pmeanhevse.set_option_colonsep("using", "1:2:3")
コード例 #10
0
def twobimaxmagring(grid, p):
    """
    p[0:2] -> x,y,z of centre
    p[3:5] -> sigx,sigy,sigz 
    p[6]   -> total density
    p[7]   -> peak ratio
    p[8]   -> valf
    p[9]   -> phi-winkel
    p[10]   -> theta-winkel
    """
    from libacepy.ancil import rot2d
    from numpy import pi, exp, sqrt, arctan, cos, arccos, sin, zeros
    from Gnuplot import Gnuplot, Data

    x1 = grid[:, 0] - p[0]
    y1 = grid[:, 1] - p[1]
    z1 = grid[:, 2] - p[2]

    x2, y2 = rot2d(x1, y1, -p[9])
    x3, z2 = rot2d(x2, z1, -p[10])

    r = sqrt(x3**2 + y2**2 + z2**2)
    rr = 20.
    r[r < p[8] - rr] = 0.
    r[r > p[8] + rr] = 0.
    #r[z2>rr]=0.
    #r[x3<-rr]=0.
    r[x3 < -rr] = 0.
    #print "len(r[r>0.])=",len(r[r>0.])
    #print "len(x3[r>0.])=",len(x3[r>0.])
    if len(r[r > 0.]):
        r2 = zeros(len(r))
        r[r > 0.] = 5. * 1e15 * exp(
            -(r[r > 0.] - p[8])**2 /
            (2. * 20.**2)) / (2. * pi * 10**2) / (2. * pi * p[8])
        ang = arctan(sqrt(y2[r > 0.]**2 + z2[r > 0.]**2) / x3[r > 0.])
        #r[r>0.]/=(abs(x3[r>0.])+3.)
        gp = Gnuplot()
        #gp.plot(ang*180./pi)
        #print "ang = ",ang*180./pi
        pr = zeros([len(r[r > 0.]), 3])
        pr[:, 0] = x3[r > 0.]
        pr[:, 1] = y2[r > 0.]
        pr[:, 2] = z2[r > 0.]
        gp.splot(pr)
        raw_input()
        r[r > 0.] *= sin(ang)**2
        #r[r>0.]=1.*p[6]*1e15/(2.*pi*p[8])/20.**2
        #if len(r[(r>=p[8]-10.)*(r<=p[8]+10.)]):
        #r[(r>=p[8]-10.)*(r<=p[8]+10.)]=p[6]*1e15/(100.*float(len(r[(r>=p[8]-10.)*(r<=p[8]+10.)])))
    else:
        r[:] = 0.
    x = -(x3)**2 / (2. * p[3]**2)
    y = -y2**2 / (2. * p[4]**2)
    z = -z2**2 / (2. * p[5]**2)
    x2 = -(x3 - p[8])**2 / (2. * p[3]**2)
    y2 = -y2**2 / (2. * p[4]**2)
    z2 = -z2**2 / (2. * p[5]**2)
    #tmparr=p[6]/((2*pi)**1.5*p[3]*p[4]*p[5])*exp(x+y+z)+0.7*p[6]/((2*pi)**1.5*p[3]*p[4]*p[5])*exp(x2+y2+z2)
    return (1. / (1 + p[7])) * p[6] * 1e15 / (
        (2 * pi)**1.5 * p[3] * p[4] *
        p[5]) * exp(x + y + z) + (p[7] / (1 + p[7])) * p[6] * 1e15 / (
            (2 * pi)**1.5 * p[3] * p[4] * p[5]) * exp(x2 + y2 + z2) + r
コード例 #11
0
                tmpmagphi3 * 180. / pi
            ])
            phiser.append([i, tmpmagphi3 * 180. / pi])

gp = Gnuplot()
gp("set title 'magb'")
gp("set xlabel 'magb1'")
gp("set ylabel 'magb2'")
gp.plot(magbarr)

gp2 = Gnuplot()
gp2("set title 'THETA'")
gp2("set xlabel 'THETA1'")
gp2("set ylabel 'THETA2'")
gp2("set zlabel 'THETA3'")
gp2.splot(THETAarr)

gp3 = Gnuplot()
gp3("set title 'theta'")
gp3("set xlabel 'theta1'")
gp3("set ylabel 'theta2'")
gp3("set zlabel 'theta3'")
gp3.splot(thetaarr)

gp4 = Gnuplot()
gp4("set title 'phi'")
gp4("set xlabel 'phi1'")
gp4("set ylabel 'phi2'")
gp4("set zlabel 'phi3'")
gp4.splot(phiarr)
コード例 #12
0
#    s=i.split()
#    data[int(s[1]),int(s[0])]+=1

datagrid = GridData(data)
data2grid = GridData(data)

gp = Gnuplot()
gp("set logscale z")
gp("set zrange[1:80]")
#gp("set palette rgbformula -3,-3,-3")
#gp("test palette")
gp("set xrange[350:650]")
gp("set yrange[0:50]")

gp("set pm3d map")
gp.splot(datagrid, data2grid)
#gp("set term postscript")
#gp("set outp X11")
#gp("set data style line")
#gp("set xrange[580:800]")
#gp.plot(summe,corrsumme)
#gp.plot(summe,corrsumme, corrsumme_left)

#example how to write a file

#cfile=open("ramp.corr", "w")
#for i in range(1024):
#    for j in range(1024):
#        cfile.write("%f\t" % corrmtx_norm[i,j])
#    cfile.write("\n")
コード例 #13
0
ファイル: vi_vs_para.py プロジェクト: annefi/PUI-fun
yrange=[0.,2.]
a=[[xrange[0],yrange[0],1.],[xrange[1],yrange[1],1.]]
pa=Data(a)
pa.set_option_colonsep("with","l lt -1")
gp=Gnuplot()
gp("set pm3d at bs map explicit corners2color c1")
#gp("set pm3d map")
gp("set size square")
gp("set xrange[%f:%f]"%(xrange[0],xrange[1])) 
gp("set yrange[%f:%f]"%(yrange[0],yrange[1]))
gp("set xlabel 'vsw")
gp("set title '%i'"%(year))
#gp("set logscale x")
gp("set palette model RGB functions gray<1.e-20 ? 1 : gray<0.5 ? gray*2 : 1 , gray<1.e-20 ? 1 : gray<0.5 ? gray*2 : 2-gray*2, gray <1.e-20 ? 1 : gray<0.5 ? 1-sqrt(gray*2) : 0")
#gp("set logscale cb")
gp.splot(pvivsvparr)#,pa)
gp.hardcopy("dv%s64s_vs_vp%s.ps"%(ionlist[0][0],year),color="true",fontsize=20)

gp4=Gnuplot()
gp4("set pm3d at bs map explicit corners2color c1")
#gp("set pm3d map")
gp4("set size square")
gp4("set xrange[%f:%f]"%(xrange2[0],xrange2[1])) 
gp4("set yrange[%f:%f]"%(yrange[0],yrange[1]))
gp4("set xlabel 'pbeta")
#gp("set logscale x")
gp4("set palette model RGB functions gray<1.e-20 ? 1 : gray<0.5 ? gray*2 : 1 , gray<1.e-20 ? 1 : gray<0.5 ? gray*2 : 2-gray*2, gray <1.e-20 ? 1 : gray<0.5 ? 1-sqrt(gray*2) : 0")
#gp4("set logscale cb")
gp4("set logscale x")
gp4.splot(pvivsvparr2)#,pa)
gp4.hardcopy("dv%s64s_vs_pbeta%i.ps"%(ionlist[0][0],year),color="true",fontsize=20)
コード例 #14
0
ファイル: readphadata.py プロジェクト: annefi/PUI-fun
corrsumme3 = zeros([1024], Float)

for i in range(0, 1022):
    corrsumme3[i] = corrsumme[i + 2]

cmgd = GridData(data)
data2grid = GridData(data)

gp = Gnuplot()
#gp("set logscale z")
#gp("set zrange[1:80]")
#gp("set palette rgbformula -3,-3,-3")
#gp("test palette")
#gp("set xrange[400:800]")
#gp("set yrange[0:50]")

gp("set pm3d map")
gp.splot(cmgd, data2grid)
gp("set term postscript color")
gp("set outp 'correct.ps'")
gp("set data style line")
gp("set xrange[500:600]")
gp.plot(summe, corrsumme)
#gp.plot(summe,corrsumme, corrsumme_left)

#cfile=open("ramp.corr", "w")
#for i in range(1024):
#    for j in range(1024):
#        cfile.write("%f\t" % corrmtx_norm[i,j])
#    cfile.write("\n")
コード例 #15
0
for i in range(1, 100):
    freqs[i] = freqs[i - 1] / 1.03

res = cwt_f(signal, freqs)
resarr = zeros([tdim, 100])
for i in range(tdim):
    resarr[i, :] = abs(res[:, i])

gp = Gnuplot()
gp("set log y")
gp("set pm3d map corners2color c1")
#gp("set log cb")
gp("set yrange[0.01:1.]")
gp("set xrange[%f:%f]" % (0, tdim))

gp.splot(GridData(resarr, time, freqs))

gp2 = Gnuplot()
gp2("set style data lines")
gp2.plot(signal)

gp3 = Gnuplot()
gp3("set style data lines")
gp3.plot(Data(freqs, resarr[50]))

gpfft = Gnuplot()
gpfft("set log xy")
gpfft("set style data lines")
psd = fftPlot(signal)
gpfft.plot(psd)