[yt-users] yet another plot problem!

Kathy Eastwood kathy.eastwood at nau.edu
Mon Feb 3 13:01:30 PST 2014


Dear yt folks....

This is probably a straightup matplotlib question and not a yt question,
but....it was working until I got to the colorbar, and I am now confused.
Thanks for any help...
kathy

here is the code:

from yt.imods import *
import matplotlib as mpl
import matplotlib.pyplot as plt
#import matplotlib.colorbar as cb
from matplotlib.colors import LogNorm
#import numpy as np

ts = TimeSeriesData.from_filenames("Strat_Box_hdf5_plt_cnt_01*")

padding = 0.05
nx = 5 #number of time series images, plus will need space for vertical
colorbar
ny = 1 #might want to change this later!
#Assuming that all images are the same shape and size

width = nx +1 #I think this is inches, not sure
height = 4
fig = plt.figure(figsize=(width,height),frameon=False)

#Trying to save 0.91 to 0.95 horizontally for the colorbar
sizex = 0.85/nx
sizey = 0.90/ny

haxes = []

for j in range(ny):
    haxes.append([])
    for i in range(nx):
        left = padding + i*sizex
        bottom = padding + j*sizey
        ax = fig.add_axes([left, bottom, sizex, sizey],frameon=False)
        ax.xaxis.set_visible(False)
        ax.yaxis.set_visible(False)
        haxes[-1].append(ax)

cax = fig.add_axes([0.9, 0.05, 0.04, sizey],frameon=False)
cax.xaxis.set_visible(False)
cax.yaxis.set_visible(False)

for i, pf in enumerate(ts):
    sl = pf.h.slice(0, pf.domain_center[0],fields=["Density","Temperature"]
)
    frb = sl.to_frb( (1.0, 'kpc'), (4096,1024),height=(4.0, 'kpc'))
    dens_axes = [haxes[0][i]]
    plots = [dens_axes[0].imshow(frb["Density"], origin='lower',
norm=LogNorm())]

title=[r'$\mathrm{Density}\ (\mathrm{g\ cm^{-3}})$']
orient = 'vertical'

cbar = fig.colorbar(plots,cax=cax, orientation=orient)
cbar.set_label(title)
fig.savefig('ts_test')

Here are the errors:

--------------------------------------------------------------------------AttributeError
                           Traceback (most recent call
last)<ipython-input-7-e0dcab3d98fe> in <module>()      2 orient =
'vertical'      3 ----> 4 cbar = fig.colorbar(plots,cax=cax,
orientation=orient)      5 cbar.set_label(title)      6
/Users/kde/yt-x86_64/lib/python2.7/site-packages/matplotlib-1.3.0-py2.7-macosx-10.4-x86_64.egg/matplotlib/figure.pyc
in colorbar(self, mappable, cax, ax, use_gridspec, **kw)   1449
         cax, kw = cbar.make_axes(ax, **kw)   1450
cax.hold(True)-> 1451         cb = cbar.colorbar_factory(cax,
mappable, **kw)   1452    1453         self.sca(current_ax)
/Users/kde/yt-x86_64/lib/python2.7/site-packages/matplotlib-1.3.0-py2.7-macosx-10.4-x86_64.egg/matplotlib/colorbar.pyc
in colorbar_factory(cax, mappable, **kwargs)   1272         cb =
ColorbarPatch(cax, mappable, **kwargs)   1273     else:-> 1274
cb = Colorbar(cax, mappable, **kwargs)   1275    1276
mappable.callbacksSM.connect('changed', cb.on_mappable_changed)
/Users/kde/yt-x86_64/lib/python2.7/site-packages/matplotlib-1.3.0-py2.7-macosx-10.4-x86_64.egg/matplotlib/colorbar.pyc
in __init__(self, ax, mappable, **kw)    850         # Ensure the
given mappable's norm has appropriate vmin and vmax set    851
# even if mappable.draw has not yet been called.--> 852
mappable.autoscale_None()    853     854         self.mappable =
mappable
AttributeError: 'list' object has no attribute 'autoscale_None'



-- 
Kathy DeGioia Eastwood, Ph.D.
Professor of Physics and Astronomy
Northern Arizona University
Flagstaff, AZ 86011-6010
Ph: 928-523-7159   FX: 928-523-1371
Kathy.Eastwood at nau.edu
deliveries: 602 S. Humphreys St., Bldg 19 Rm 2
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.spacepope.org/pipermail/yt-users-spacepope.org/attachments/20140203/6aff54a6/attachment.htm>


More information about the yt-users mailing list