|
|
import plplot
|
|
|
import numpy
|
|
|
import sys
|
|
|
import plplot #condicional
|
|
|
|
|
|
class Driver:
|
|
|
def __init__(self,driver, idfigure, xw, yw, wintitle, overplot, colormap, *showGraphs):
|
|
|
if driver == "plplot":
|
|
|
self.driver = PlplotDriver(idfigure, xw, yw, wintitle, overplot, colormap, *showGraphs)
|
|
|
elif driver == "mpl":
|
|
|
self.driver = MplDriver(idfigure, xw, yw, wintitle, overplot, colormap, *showGraphs)
|
|
|
else:
|
|
|
raise ValueError, "The driver: %s is not defined"%driver
|
|
|
|
|
|
class PlplotDriver:
|
|
|
|
|
|
__isDriverOpen = False
|
|
|
pldriver = None
|
|
|
|
|
|
def __init__(self, idfigure=None, xw, yw, wintitle, overplot, colormap, *showGraphs):
|
|
|
|
|
|
if idfigure == None:
|
|
|
raise ValueError, 'idfigure input must be defined'
|
|
|
|
|
|
self.idfigure = idfigure
|
|
|
self.xw = xw
|
|
|
self.yw = yw
|
|
|
self.wintitle = wintitle
|
|
|
self.overplot = overplot
|
|
|
self.colormap = colormap
|
|
|
self.showGraph1 = showGraphs[0]
|
|
|
self.showGraph2 = showGraphs[1]
|
|
|
|
|
|
def configDriver(self):
|
|
|
"""
|
|
|
previous configuration to open(init) the plplot driver
|
|
|
"""
|
|
|
plplot.plsstrm(self.idfigure)
|
|
|
plplot.plparseopts([self.wintitle],plplot.PL_PARSE_FULL)
|
|
|
plplot.plsetopt("geometry", "%dx%d"%(self.xw, self.yw))
|
|
|
|
|
|
plplot.plscolbg(255,255,255)
|
|
|
plplot.plscol0(1,0,0,0)
|
|
|
|
|
|
def openDriver(self, pldriver=None):
|
|
|
if pldriver == None:
|
|
|
if sys.platform == "linux":
|
|
|
pldriver = "xcairo"
|
|
|
|
|
|
elif sys.platform == "darwin":
|
|
|
pldriver = "xwin"
|
|
|
|
|
|
else:
|
|
|
pldriver = ""
|
|
|
|
|
|
plplot.plsdev(pldriver)
|
|
|
plplot.plinit()
|
|
|
plplot.plspause(False)
|
|
|
|
|
|
self.pldriver = pldriver
|
|
|
|
|
|
def closeDriver(self):
|
|
|
pass
|
|
|
|
|
|
def openPage(self):
|
|
|
plplot.plbop()
|
|
|
plplot.pladv(0)
|
|
|
|
|
|
def closePage(self):
|
|
|
plplot.pleop()
|
|
|
|
|
|
def openFigure(self):
|
|
|
plplot.plbop()
|
|
|
plplot.pladv(0)
|
|
|
|
|
|
def closeFigure(self):
|
|
|
plplot.pleop()
|
|
|
|
|
|
def setSubPlots(self,nrows, ncolumns):
|
|
|
plplot.plssub(nrows, ncolumns)
|
|
|
|
|
|
def setColorMap(self,colormap):
|
|
|
|
|
|
if colormap == None:
|
|
|
return
|
|
|
|
|
|
ncolor = None
|
|
|
rgb_lvl = None
|
|
|
|
|
|
# Routine for defining a specific color map 1 in HLS space.
|
|
|
# if gray is true, use basic grayscale variation from half-dark to light.
|
|
|
# otherwise use false color variation from blue (240 deg) to red (360 deg).
|
|
|
|
|
|
# Independent variable of control points.
|
|
|
|
|
|
i = numpy.array((0., 1.))
|
|
|
|
|
|
if colormap=="gray":
|
|
|
ncolor = 256
|
|
|
# Hue for control points. Doesn't matter since saturation is zero.
|
|
|
h = numpy.array((0., 0.))
|
|
|
# Lightness ranging from half-dark (for interest) to light.
|
|
|
l = numpy.array((0.5, 1.))
|
|
|
# Gray scale has zero saturation
|
|
|
s = numpy.array((0., 0.))
|
|
|
|
|
|
# number of cmap1 colours is 256 in this case.
|
|
|
plplot.plscmap1n(ncolor)
|
|
|
# Interpolate between control points to set up cmap1.
|
|
|
plplot.plscmap1l(0, i, h, l, s)
|
|
|
|
|
|
return None
|
|
|
|
|
|
if colormap == 'jet':
|
|
|
ncolor = 256
|
|
|
pos = numpy.zeros((ncolor))
|
|
|
r = numpy.zeros((ncolor))
|
|
|
g = numpy.zeros((ncolor))
|
|
|
b = numpy.zeros((ncolor))
|
|
|
|
|
|
for i in range(ncolor):
|
|
|
if(i <= 35.0/100*(ncolor-1)): rf = 0.0
|
|
|
elif (i <= 66.0/100*(ncolor-1)): rf = (100.0/31)*i/(ncolor-1) - 35.0/31
|
|
|
elif (i <= 89.0/100*(ncolor-1)): rf = 1.0
|
|
|
else: rf = (-100.0/22)*i/(ncolor-1) + 111.0/22
|
|
|
|
|
|
if(i <= 12.0/100*(ncolor-1)): gf = 0.0
|
|
|
elif(i <= 38.0/100*(ncolor-1)): gf = (100.0/26)*i/(ncolor-1) - 12.0/26
|
|
|
elif(i <= 64.0/100*(ncolor-1)): gf = 1.0
|
|
|
elif(i <= 91.0/100*(ncolor-1)): gf = (-100.0/27)*i/(ncolor-1) + 91.0/27
|
|
|
else: gf = 0.0
|
|
|
|
|
|
if(i <= 11.0/100*(ncolor-1)): bf = (50.0/11)*i/(ncolor-1) + 0.5
|
|
|
elif(i <= 34.0/100*(ncolor-1)): bf = 1.0
|
|
|
elif(i <= 65.0/100*(ncolor-1)): bf = (-100.0/31)*i/(ncolor-1) + 65.0/31
|
|
|
else: bf = 0
|
|
|
|
|
|
r[i] = rf
|
|
|
g[i] = gf
|
|
|
b[i] = bf
|
|
|
|
|
|
pos[i] = float(i)/float(ncolor-1)
|
|
|
|
|
|
|
|
|
plplot.plscmap1n(ncolor)
|
|
|
plplot.plscmap1l(1, pos, r, g, b)
|
|
|
|
|
|
|
|
|
|
|
|
if colormap=="br_green":
|
|
|
ncolor = 256
|
|
|
# Hue ranges from blue (240 deg) to red (0 or 360 deg)
|
|
|
h = numpy.array((240., 0.))
|
|
|
# Lightness and saturation are constant (values taken from C example).
|
|
|
l = numpy.array((0.6, 0.6))
|
|
|
s = numpy.array((0.8, 0.8))
|
|
|
|
|
|
# number of cmap1 colours is 256 in this case.
|
|
|
plplot.plscmap1n(ncolor)
|
|
|
# Interpolate between control points to set up cmap1.
|
|
|
plplot.plscmap1l(0, i, h, l, s)
|
|
|
|
|
|
return None
|
|
|
|
|
|
if colormap=="tricolor":
|
|
|
ncolor = 3
|
|
|
# Hue ranges from blue (240 deg) to red (0 or 360 deg)
|
|
|
h = numpy.array((240., 0.))
|
|
|
# Lightness and saturation are constant (values taken from C example).
|
|
|
l = numpy.array((0.6, 0.6))
|
|
|
s = numpy.array((0.8, 0.8))
|
|
|
|
|
|
# number of cmap1 colours is 256 in this case.
|
|
|
plplot.plscmap1n(ncolor)
|
|
|
# Interpolate between control points to set up cmap1.
|
|
|
plplot.plscmap1l(0, i, h, l, s)
|
|
|
|
|
|
return None
|
|
|
|
|
|
if colormap == 'rgb' or colormap == 'rgb666':
|
|
|
|
|
|
color_sz = 6
|
|
|
ncolor = color_sz*color_sz*color_sz
|
|
|
pos = numpy.zeros((ncolor))
|
|
|
r = numpy.zeros((ncolor))
|
|
|
g = numpy.zeros((ncolor))
|
|
|
b = numpy.zeros((ncolor))
|
|
|
ind = 0
|
|
|
for ri in range(color_sz):
|
|
|
for gi in range(color_sz):
|
|
|
for bi in range(color_sz):
|
|
|
r[ind] = ri/(color_sz-1.0)
|
|
|
g[ind] = gi/(color_sz-1.0)
|
|
|
b[ind] = bi/(color_sz-1.0)
|
|
|
pos[ind] = ind/(ncolor-1.0)
|
|
|
ind += 1
|
|
|
rgb_lvl = [6,6,6] #Levels for RGB colors
|
|
|
|
|
|
if colormap == 'rgb676':
|
|
|
ncolor = 6*7*6
|
|
|
pos = numpy.zeros((ncolor))
|
|
|
r = numpy.zeros((ncolor))
|
|
|
g = numpy.zeros((ncolor))
|
|
|
b = numpy.zeros((ncolor))
|
|
|
ind = 0
|
|
|
for ri in range(8):
|
|
|
for gi in range(8):
|
|
|
for bi in range(4):
|
|
|
r[ind] = ri/(6-1.0)
|
|
|
g[ind] = gi/(7-1.0)
|
|
|
b[ind] = bi/(6-1.0)
|
|
|
pos[ind] = ind/(ncolor-1.0)
|
|
|
ind += 1
|
|
|
rgb_lvl = [6,7,6] #Levels for RGB colors
|
|
|
|
|
|
if colormap == 'rgb685':
|
|
|
ncolor = 6*8*5
|
|
|
pos = numpy.zeros((ncolor))
|
|
|
r = numpy.zeros((ncolor))
|
|
|
g = numpy.zeros((ncolor))
|
|
|
b = numpy.zeros((ncolor))
|
|
|
ind = 0
|
|
|
for ri in range(8):
|
|
|
for gi in range(8):
|
|
|
for bi in range(4):
|
|
|
r[ind] = ri/(6-1.0)
|
|
|
g[ind] = gi/(8-1.0)
|
|
|
b[ind] = bi/(5-1.0)
|
|
|
pos[ind] = ind/(ncolor-1.0)
|
|
|
ind += 1
|
|
|
rgb_lvl = [6,8,5] #Levels for RGB colors
|
|
|
|
|
|
if colormap == 'rgb884':
|
|
|
ncolor = 8*8*4
|
|
|
pos = numpy.zeros((ncolor))
|
|
|
r = numpy.zeros((ncolor))
|
|
|
g = numpy.zeros((ncolor))
|
|
|
b = numpy.zeros((ncolor))
|
|
|
ind = 0
|
|
|
for ri in range(8):
|
|
|
for gi in range(8):
|
|
|
for bi in range(4):
|
|
|
r[ind] = ri/(8-1.0)
|
|
|
g[ind] = gi/(8-1.0)
|
|
|
b[ind] = bi/(4-1.0)
|
|
|
pos[ind] = ind/(ncolor-1.0)
|
|
|
ind += 1
|
|
|
rgb_lvl = [8,8,4] #Levels for RGB colors
|
|
|
|
|
|
if ncolor == None:
|
|
|
raise ValueError, "The colormap selected is not valid"
|
|
|
|
|
|
plplot.plscmap1n(ncolor)
|
|
|
plplot.plscmap1l(1, pos, r, g, b)
|
|
|
|
|
|
return rgb_lvl
|
|
|
|
|
|
def setBox(self):
|
|
|
|
|
|
pass
|
|
|
|
|
|
def refreshBox(self):
|
|
|
|
|
|
pass
|
|
|
|
|
|
def save(self):
|
|
|
|
|
|
pass
|
|
|
|
|
|
def show(self):
|
|
|
|
|
|
pass
|
|
|
|
|
|
def colorbarPlot(self):
|
|
|
|
|
|
pass
|
|
|
|
|
|
def linePlot(self):
|
|
|
|
|
|
pass
|
|
|
|
|
|
def pcolorPlot(self):
|
|
|
|
|
|
pass
|
|
|
|
|
|
def setLabels(self):
|
|
|
|
|
|
pass
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
class MplDriver:
|
|
|
def __init__(self):
|
|
|
pass
|
|
|
|
|
|
def config_driver(idfigure, wintitle, width, height):
|
|
|
plplot.plsstrm(idfigure)
|
|
|
plplot.plparseopts([wintitle],plplot.PL_PARSE_FULL)
|
|
|
plplot.plsetopt("geometry", "%dx%d"%(width,height))
|
|
|
|
|
|
def ini_driver(driver):
|
|
|
if sys.platform == "darwin":
|
|
|
plplot.plsdev("xwin")
|
|
|
if sys.platform == "linux":
|
|
|
plplot.plsdev("xcairo")
|
|
|
plplot.plscolbg(255,255,255)
|
|
|
plplot.plscol0(1,0,0,0)
|
|
|
plplot.plinit()
|
|
|
plplot.plspause(False)
|
|
|
|
|
|
def set_subpages(ncol,nrow):
|
|
|
plplot.plssub(ncol,nrow)
|
|
|
|
|
|
def cmap1_init(colormap="gray"):
|
|
|
|
|
|
if colormap == None:
|
|
|
return
|
|
|
|
|
|
ncolor = None
|
|
|
rgb_lvl = None
|
|
|
|
|
|
# Routine for defining a specific color map 1 in HLS space.
|
|
|
# if gray is true, use basic grayscale variation from half-dark to light.
|
|
|
# otherwise use false color variation from blue (240 deg) to red (360 deg).
|
|
|
|
|
|
# Independent variable of control points.
|
|
|
i = numpy.array((0., 1.))
|
|
|
if colormap=="gray":
|
|
|
ncolor = 256
|
|
|
# Hue for control points. Doesn't matter since saturation is zero.
|
|
|
h = numpy.array((0., 0.))
|
|
|
# Lightness ranging from half-dark (for interest) to light.
|
|
|
l = numpy.array((0.5, 1.))
|
|
|
# Gray scale has zero saturation
|
|
|
s = numpy.array((0., 0.))
|
|
|
|
|
|
# number of cmap1 colours is 256 in this case.
|
|
|
plplot.plscmap1n(ncolor)
|
|
|
# Interpolate between control points to set up cmap1.
|
|
|
plplot.plscmap1l(0, i, h, l, s)
|
|
|
|
|
|
return None
|
|
|
|
|
|
if colormap == 'jet':
|
|
|
ncolor = 256
|
|
|
pos = numpy.zeros((ncolor))
|
|
|
r = numpy.zeros((ncolor))
|
|
|
g = numpy.zeros((ncolor))
|
|
|
b = numpy.zeros((ncolor))
|
|
|
|
|
|
for i in range(ncolor):
|
|
|
if(i <= 35.0/100*(ncolor-1)): rf = 0.0
|
|
|
elif (i <= 66.0/100*(ncolor-1)): rf = (100.0/31)*i/(ncolor-1) - 35.0/31
|
|
|
elif (i <= 89.0/100*(ncolor-1)): rf = 1.0
|
|
|
else: rf = (-100.0/22)*i/(ncolor-1) + 111.0/22
|
|
|
|
|
|
if(i <= 12.0/100*(ncolor-1)): gf = 0.0
|
|
|
elif(i <= 38.0/100*(ncolor-1)): gf = (100.0/26)*i/(ncolor-1) - 12.0/26
|
|
|
elif(i <= 64.0/100*(ncolor-1)): gf = 1.0
|
|
|
elif(i <= 91.0/100*(ncolor-1)): gf = (-100.0/27)*i/(ncolor-1) + 91.0/27
|
|
|
else: gf = 0.0
|
|
|
|
|
|
if(i <= 11.0/100*(ncolor-1)): bf = (50.0/11)*i/(ncolor-1) + 0.5
|
|
|
elif(i <= 34.0/100*(ncolor-1)): bf = 1.0
|
|
|
elif(i <= 65.0/100*(ncolor-1)): bf = (-100.0/31)*i/(ncolor-1) + 65.0/31
|
|
|
else: bf = 0
|
|
|
|
|
|
r[i] = rf
|
|
|
g[i] = gf
|
|
|
b[i] = bf
|
|
|
|
|
|
pos[i] = float(i)/float(ncolor-1)
|
|
|
|
|
|
|
|
|
plplot.plscmap1n(ncolor)
|
|
|
plplot.plscmap1l(1, pos, r, g, b)
|
|
|
|
|
|
|
|
|
|
|
|
if colormap=="br_green":
|
|
|
ncolor = 256
|
|
|
# Hue ranges from blue (240 deg) to red (0 or 360 deg)
|
|
|
h = numpy.array((240., 0.))
|
|
|
# Lightness and saturation are constant (values taken from C example).
|
|
|
l = numpy.array((0.6, 0.6))
|
|
|
s = numpy.array((0.8, 0.8))
|
|
|
|
|
|
# number of cmap1 colours is 256 in this case.
|
|
|
plplot.plscmap1n(ncolor)
|
|
|
# Interpolate between control points to set up cmap1.
|
|
|
plplot.plscmap1l(0, i, h, l, s)
|
|
|
|
|
|
return None
|
|
|
|
|
|
if colormap=="tricolor":
|
|
|
ncolor = 3
|
|
|
# Hue ranges from blue (240 deg) to red (0 or 360 deg)
|
|
|
h = numpy.array((240., 0.))
|
|
|
# Lightness and saturation are constant (values taken from C example).
|
|
|
l = numpy.array((0.6, 0.6))
|
|
|
s = numpy.array((0.8, 0.8))
|
|
|
|
|
|
# number of cmap1 colours is 256 in this case.
|
|
|
plplot.plscmap1n(ncolor)
|
|
|
# Interpolate between control points to set up cmap1.
|
|
|
plplot.plscmap1l(0, i, h, l, s)
|
|
|
|
|
|
return None
|
|
|
|
|
|
if colormap == 'rgb' or colormap == 'rgb666':
|
|
|
|
|
|
color_sz = 6
|
|
|
ncolor = color_sz*color_sz*color_sz
|
|
|
pos = numpy.zeros((ncolor))
|
|
|
r = numpy.zeros((ncolor))
|
|
|
g = numpy.zeros((ncolor))
|
|
|
b = numpy.zeros((ncolor))
|
|
|
ind = 0
|
|
|
for ri in range(color_sz):
|
|
|
for gi in range(color_sz):
|
|
|
for bi in range(color_sz):
|
|
|
r[ind] = ri/(color_sz-1.0)
|
|
|
g[ind] = gi/(color_sz-1.0)
|
|
|
b[ind] = bi/(color_sz-1.0)
|
|
|
pos[ind] = ind/(ncolor-1.0)
|
|
|
ind += 1
|
|
|
rgb_lvl = [6,6,6] #Levels for RGB colors
|
|
|
|
|
|
if colormap == 'rgb676':
|
|
|
ncolor = 6*7*6
|
|
|
pos = numpy.zeros((ncolor))
|
|
|
r = numpy.zeros((ncolor))
|
|
|
g = numpy.zeros((ncolor))
|
|
|
b = numpy.zeros((ncolor))
|
|
|
ind = 0
|
|
|
for ri in range(8):
|
|
|
for gi in range(8):
|
|
|
for bi in range(4):
|
|
|
r[ind] = ri/(6-1.0)
|
|
|
g[ind] = gi/(7-1.0)
|
|
|
b[ind] = bi/(6-1.0)
|
|
|
pos[ind] = ind/(ncolor-1.0)
|
|
|
ind += 1
|
|
|
rgb_lvl = [6,7,6] #Levels for RGB colors
|
|
|
|
|
|
if colormap == 'rgb685':
|
|
|
ncolor = 6*8*5
|
|
|
pos = numpy.zeros((ncolor))
|
|
|
r = numpy.zeros((ncolor))
|
|
|
g = numpy.zeros((ncolor))
|
|
|
b = numpy.zeros((ncolor))
|
|
|
ind = 0
|
|
|
for ri in range(8):
|
|
|
for gi in range(8):
|
|
|
for bi in range(4):
|
|
|
r[ind] = ri/(6-1.0)
|
|
|
g[ind] = gi/(8-1.0)
|
|
|
b[ind] = bi/(5-1.0)
|
|
|
pos[ind] = ind/(ncolor-1.0)
|
|
|
ind += 1
|
|
|
rgb_lvl = [6,8,5] #Levels for RGB colors
|
|
|
|
|
|
if colormap == 'rgb884':
|
|
|
ncolor = 8*8*4
|
|
|
pos = numpy.zeros((ncolor))
|
|
|
r = numpy.zeros((ncolor))
|
|
|
g = numpy.zeros((ncolor))
|
|
|
b = numpy.zeros((ncolor))
|
|
|
ind = 0
|
|
|
for ri in range(8):
|
|
|
for gi in range(8):
|
|
|
for bi in range(4):
|
|
|
r[ind] = ri/(8-1.0)
|
|
|
g[ind] = gi/(8-1.0)
|
|
|
b[ind] = bi/(4-1.0)
|
|
|
pos[ind] = ind/(ncolor-1.0)
|
|
|
ind += 1
|
|
|
rgb_lvl = [8,8,4] #Levels for RGB colors
|
|
|
|
|
|
if ncolor == None:
|
|
|
raise ValueError, "The colormap selected is not valid"
|
|
|
|
|
|
plplot.plscmap1n(ncolor)
|
|
|
plplot.plscmap1l(1, pos, r, g, b)
|
|
|
|
|
|
return rgb_lvl
|
|
|
|
|
|
def set_colormap(colormap="jet"):
|
|
|
cmap1_init(colormap)
|
|
|
|
|
|
def save_figure(filename,width,height):
|
|
|
curr_strm = plplot.plgstrm()
|
|
|
save_strm = plplot.plmkstrm()
|
|
|
plplot.plsetopt("geometry", "%dx%d"%(width,height))
|
|
|
if sys.platform == "darwin":
|
|
|
plplot.plsdev("png")
|
|
|
if sys.platform == "linux":
|
|
|
plplot.plsdev("pngcairo")
|
|
|
plplot.plsfnam(filename)
|
|
|
plplot.plcpstrm(curr_strm,0)
|
|
|
plplot.plreplot()
|
|
|
plplot.plend1()
|
|
|
plplot.plsstrm(curr_strm)
|
|
|
|
|
|
def set_new_figure():
|
|
|
plplot.plbop()
|
|
|
plplot.pladv(0)
|
|
|
|
|
|
def close_figure():
|
|
|
plplot.pleop()
|
|
|
|
|
|
def set_strm(indexPlot):
|
|
|
plplot.plsstrm(indexPlot)
|
|
|
|
|
|
def refresh():
|
|
|
plplot.plflush()
|
|
|
|
|
|
def show():
|
|
|
plplot.plspause(True)
|
|
|
plplot.plend()
|
|
|
|
|
|
def set_title(pltitle,color, szchar=0.7):
|
|
|
setSubpages(1, 0)
|
|
|
plplot.pladv(0)
|
|
|
plplot.plvpor(0., 1., 0., 1.)
|
|
|
|
|
|
if color == "black":
|
|
|
plplot.plcol0(1)
|
|
|
if color == "white":
|
|
|
plplot.plcol0(15)
|
|
|
|
|
|
plplot.plschr(0.0,szchar)
|
|
|
plplot.plmtex("t",-1., 0.5, 0.5, pltitle)
|
|
|
|
|
|
def set_line_style(style):
|
|
|
plplot.pllsty(style)
|
|
|
|
|
|
def set_color(color):
|
|
|
plplot.plcol0(color)
|
|
|
|
|
|
def set_labels(xlabel, ylabel, title):
|
|
|
plplot.pllab(xlabel, ylabel, title)
|
|
|
|
|
|
def box(subplot, xpos, ypos, xmin, xmax, ymin, ymax, xopt, yopt, szchar, xaxisastime, timefmt="%H:%M"):
|
|
|
plplot.pladv(subplot)
|
|
|
plplot.plschr(0.0,szchar-0.05)
|
|
|
plplot.plvpor(xpos[0], xpos[1], ypos[0], ypos[1])
|
|
|
plplot.plwind(float(xmin),
|
|
|
float(xmax),
|
|
|
float(ymin),
|
|
|
float(ymax)
|
|
|
)
|
|
|
if xaxisastime:
|
|
|
plplot.pltimefmt(timefmt)
|
|
|
timedelta = (xmax - xmin + 1)/8.
|
|
|
plplot.plbox(xopt, timedelta, 3, yopt, 0.0, 0)
|
|
|
else:
|
|
|
plplot.plbox(xopt, 0.0, 0, yopt, 0.0, 0)
|
|
|
|
|
|
def colorbar(xmin=0., xmax=1., ymin=0., ymax=1.):
|
|
|
data = numpy.arange(256)
|
|
|
data = numpy.reshape(data, (1,-1))
|
|
|
|
|
|
plplot.plimage(data,
|
|
|
float(xmin),
|
|
|
float(xmax),
|
|
|
float(ymin),
|
|
|
float(ymax),
|
|
|
0.,
|
|
|
255.,
|
|
|
float(xmin),
|
|
|
float(xmax),
|
|
|
float(ymin),
|
|
|
float(ymax))
|
|
|
|
|
|
def basicline_timeplot(x, y,colline=1):
|
|
|
plplot.plcol0(colline)
|
|
|
plplot.plline(x, y)
|
|
|
plplot.plcol0(1)
|
|
|
|
|
|
def basic_xy_plot(x, y):
|
|
|
plplot.plline(x, y)
|
|
|
|
|
|
def basic_pcolor_plot(data, x, y, xmin=None, xmax=None, ymin=None, ymax=None, zmin=None, zmax=None):
|
|
|
"""
|
|
|
"""
|
|
|
if xmin == None: xmin = x[0]
|
|
|
if xmax == None: xmax = x[-1]
|
|
|
if ymin == None: ymin = y[0]
|
|
|
if ymax == None: ymax = y[-1]
|
|
|
if zmin == None: zmin = numpy.nanmin(data)
|
|
|
if zmax == None: zmax = numpy.nanmax(data)
|
|
|
|
|
|
plplot.plimage(data,
|
|
|
float(x[0]),
|
|
|
float(x[-1]),
|
|
|
float(y[0]),
|
|
|
float(y[-1]),
|
|
|
float(zmin),
|
|
|
float(zmax),
|
|
|
float(xmin),
|
|
|
float(xmax),
|
|
|
float(ymin),
|
|
|
float(ymax)
|
|
|
)
|
|
|
|
|
|
def image_plot(self,x,y,z,xrange,yrange,zrange):
|
|
|
xi = x[0]
|
|
|
xf = x[-1]
|
|
|
yi = y[0]
|
|
|
yf = y[-1]
|
|
|
|
|
|
plplot.plimage(z,
|
|
|
float(xi),
|
|
|
float(xf),
|
|
|
float(yi),
|
|
|
float(yf),
|
|
|
float(zrange[0]),
|
|
|
float(zrange[1]),
|
|
|
float(xi),
|
|
|
float(xf),
|
|
|
float(yrange[0]),
|
|
|
yrange[1])
|
|
|
|
|
|
def adv_pcolor_plot(data, x, y, xg, yg, xmin=None, xmax=None, ymin=None, ymax=None, zmin=0., zmax=0.):
|
|
|
plplot.plimagefr(data,
|
|
|
float(xmin),
|
|
|
float(xmax),
|
|
|
float(ymin),
|
|
|
float(ymax),
|
|
|
0.,
|
|
|
0.,
|
|
|
float(zmin),
|
|
|
float(zmax),
|
|
|
plplot.pltr2,
|
|
|
xg,
|
|
|
yg)
|
|
|
|
|
|
#------------------------------------
|
|
|
|
|
|
#def get_grid(x, y, deltax=None, deltay=None):
|
|
|
#
|
|
|
# if not(len(x)>0 and len(y)>0):
|
|
|
# raise ValueError, "x axis and y axis are empty"
|
|
|
#
|
|
|
# if deltax == None: deltax = x[-1] - x[-2]
|
|
|
# if deltay == None: deltay = y[-1] - y[-2]
|
|
|
#
|
|
|
# x1 = numpy.append(x, x[-1] + deltax)
|
|
|
# y1 = numpy.append(y, y[-1] + deltay)
|
|
|
#
|
|
|
# xg = (numpy.multiply.outer(x1, numpy.ones(len(y1))))
|
|
|
# yg = (numpy.multiply.outer(numpy.ones(len(x1)), y1))
|
|
|
#
|
|
|
# self.__xg = xg
|
|
|
# self.__yg = yg
|
|
|
#
|
|
|
# return xg, yg
|
|
|
#
|
|
|
#def advPcolorPlot(data, x, y, xmin=None, xmax=None, ymin=None, ymax=None, zmin=0., zmax=0., deltax=1.0, deltay=None, getGrid = True):
|
|
|
# if getGrid:
|
|
|
# xg, yg = self.__getBoxpltr(x, y, deltax, deltay)
|
|
|
# else:
|
|
|
# xg = self.__xg
|
|
|
# yg = self.__yg
|
|
|
#
|
|
|
# plplot.plimagefr(data,
|
|
|
# float(xmin),
|
|
|
# float(xmax),
|
|
|
# float(ymin),
|
|
|
# float(ymax),
|
|
|
# 0.,
|
|
|
# 0.,
|
|
|
# float(zmin),
|
|
|
# float(zmax),
|
|
|
# plplot.pltr2,
|
|
|
# xg,
|
|
|
# yg)
|
|
|
|