[Yt-svn] yt-commit r418 - trunk/yt/raven
mturk at wrangler.dreamhost.com
mturk at wrangler.dreamhost.com
Wed Apr 30 06:32:45 PDT 2008
Author: mturk
Date: Wed Apr 30 06:32:44 2008
New Revision: 418
URL: http://yt.spacepope.org/changeset/418
Log:
Fixes for some contouring callbacks, and also for the colormappings.
Modified:
trunk/yt/raven/PlotTypes.py
Modified: trunk/yt/raven/PlotTypes.py
==============================================================================
--- trunk/yt/raven/PlotTypes.py (original)
+++ trunk/yt/raven/PlotTypes.py Wed Apr 30 06:32:44 2008
@@ -172,7 +172,9 @@
def set_cmap(self, cmap):
if isinstance(cmap, types.StringTypes):
- if hasattr(matplotlib.cm, cmap):
+ if str(cmap) in raven_colormaps:
+ cmap = raven_colormaps[str(cmap)]
+ elif hasattr(matplotlib.cm, cmap):
cmap = getattr(matplotlib.cm, cmap)
self.cmap = cmap
@@ -761,12 +763,15 @@
plot._axes.hold(False)
return runCallback
-def contourCallback(field, axis, ncont=5, factor=4):
+def contourCallback(field, axis, ncont=5, factor=4, take_log=False,
+ clim=None):
try:
import scipy.sandbox.delaunay as de
except ImportError:
mylog.warning("Callback failed; no delaunay module")
return lambda a: None
+ if take_log and clim is not None: clim = (na.log10(clim[0]), na.log10(clim[1]))
+ if clim is not None: ncont = na.linspace(clim[0], clim[1], ncont)
def runCallback(plot):
x0, x1 = plot.xlim
y0, y1 = plot.ylim
@@ -777,18 +782,20 @@
numPoints_y = plot.image._A.shape[1]
dx = plot.image._A.shape[0] / (x1-x0)
dy = plot.image._A.shape[1] / (y1-y0)
- xlim = na.logical_and(plot.data["x"] >= x0*0.9,
- plot.data["x"] <= x1*1.1)
- ylim = na.logical_and(plot.data["y"] >= y0*0.9,
- plot.data["y"] <= y1*1.1)
+ xlim = na.logical_and(plot.data["px"] >= x0*0.9,
+ plot.data["px"] <= x1*1.1)
+ ylim = na.logical_and(plot.data["py"] >= y0*0.9,
+ plot.data["py"] <= y1*1.1)
wI = na.where(na.logical_and(xlim,ylim))
xi, yi = na.mgrid[0:numPoints_x:numPoints_x/(factor*1j),\
0:numPoints_y:numPoints_y/(factor*1j)]
- x = (plot.data["x"][wI]-x0)*dx
- y = (plot.data["y"][wI]-y0)*dy
+ x = (plot.data["px"][wI]-x0)*dx
+ y = (plot.data["py"][wI]-y0)*dy
z = plot.data[field][wI]
+ if take_log: z=na.log10(z)
zi = de.Triangulation(x,y).nn_interpolator(z)(xi,yi)
- plot._axes.contour(xi,yi,zi,ncont, colors='k')
+ print ncont, zi.min(), zi.max()
+ plot._axes.contour(xi,yi,zi,ncont,colors='k')
plot._axes.set_xlim(xx0,xx1)
plot._axes.set_ylim(yy0,yy1)
plot._axes.hold(False)
More information about the yt-svn
mailing list