Exemple #1
0
def dat_plot(datlist,xpos,ypos,normalize=True,epos=None):
    cols = 2
    rows = int(np.ceil(len(datlist)/cols))
    fig,ax = pl.subplots(rows,cols,sharex=True,sharey=True)

    for i,(x,y,name,_,errs) in enumerate(datlist):
        if normalize:
            norm = y.mean()
            fig.axes[i].text(xpos,ypos,"{} {:5.1f}".format(name,norm))
        else:
            norm = 1
            fig.axes[i].text(xpos,ypos,"{}".format(name))

        s2err = np.array([errs[3],errs[0]]).reshape(2,1)
        s1err = np.array([errs[2],errs[1]]).reshape(2,1)

        regx,regy = st.kern_reg(x,y,bins=73)
        fig.axes[i].plot(x,y/norm,'b.',alpha=0.3)
        fig.axes[i].plot(regx,regy/norm,'w',linewidth=3.1)
        fig.axes[i].plot(regx,regy/norm,'r',linewidth=1.2)
        if epos is not None:
            ex,ey = epos
            fig.axes[i].errorbar( ex,ey,yerr=s1err/norm,fmt='b',linewidth=1.5 )
            fig.axes[i].errorbar( ex,ey,yerr=s2err/norm,fmt='r',alpha=0.3 )


    fig.axes[i].set_xlim(0.8,1.27)
    xtic,ytic = fig.axes[i].get_xticks(),fig.axes[i].get_yticks()
    fig.axes[i].xaxis.set_major_formatter(ticker.StrMethodFormatter("{x:3.1f}"))
#    fig.axes[i].set_xticks(xtic[1:-1])
#    fig.axes[i].set_yticks(ytic[1:-1])

    return fig
Exemple #2
0
def prop_plot(ax,x,y,conf,bins=73):
    regx,regy = st.kern_reg(x,y,bins=bins)
    ax.plot(x,y,'b.',alpha=0.1,label=conf.get("label",""))
    ax.plot(regx,regy,'w',linewidth=2.1)
    ax.plot(regx,regy,'r',linewidth=1.2)
    ax.set_title(conf["title"])
    ax.set_ylabel(conf["ylabel"])
    ax.set_xlabel(conf["xlabel"])
    if "label" in conf:
        ax.legend()
    if "ylim" in conf:
        ax.set_ylim(conf["ylim"])
Exemple #3
0
def addreg(fig,measure,line,bins=73,colour="r",label=""):
    bot  = 0; vel  = 1; fwhm = 2; as12 = 3; fw13 = 4; as13 = 5; fw23 = 6; as23 = 7; err  = 8; ew   = 9; con  = 10;

    x = measure[:,con]

    ys =[
            measure[:,ew]/measure[:,ew].mean(),
            measure[:,vel],
            measure[:,bot],
            measure[:,fw13]/line.width,
            measure[:,fwhm]/line.width,
            measure[:,fw23]/line.width,
            (measure[:,as13]-measure[:,as13].mean())/line.width,
            (measure[:,as12]-measure[:,as13].mean())/line.width,
            (measure[:,as23]-measure[:,as13].mean())/line.width,
        ]

    for i,y in enumerate(ys):
        regx,regy = st.kern_reg(x,y,bins=bins)
        fig.axes[i].plot(regx,regy,color=colour)

    return fig