[yt-users] fractional keyword in profile plot

Chang-Goo Kim cgkim at astro.princeton.edu
Tue May 6 10:43:39 PDT 2014


Hi all,

I tried to draw PDFs using ProfilePlot with "fractional" keyword. But, it
returned unit incompatibility. I have looked at the code, and realized that
the fractional keyword makes field_data dimensionless, while it tried to
return data with units of original data. I think it must be easy to fix.
Error message is attached below.

Thanks,

Chang-Goo

---------------------------------------------------------------------------YTUnitConversionError
                    Traceback (most recent call
last)<ipython-input-137-18016774c3d0> in <module>()----> 1
pdf=ProfilePlot(dd,"temp",['cell_mass','cell_volume'],weight_field=None,fractional=True)
     2 pdf.show()
/u/cgkim/Sources/yt-x86_64/src/yt-hg/yt/visualization/profile_plotter.pyc
in __init__(self, data_source, x_field, y_fields, weight_field,
n_bins, accumulation, fractional, label, plot_spec, profiles)    216
          self.plot_spec = [self.plot_spec.copy() for p in
self.profiles]    217 --> 218         self._setup_plots()    219
220     def save(self, name=None):
/u/cgkim/Sources/yt-x86_64/src/yt-hg/yt/visualization/profile_plotter.pyc
in _setup_plots(self)    309         self.axes =
AxesContainer(self.figures)    310         for i, profile in
enumerate(self.profiles):--> 311             for field, field_data in
profile.items():    312
self.axes[field].plot(np.array(profile.x),    313
                 np.array(field_data),
/u/cgkim/Sources/yt-x86_64/src/yt-hg/yt/data_objects/profiles.pyc in
items(self)    854     855     def items(self):--> 856         return
[(k,self[k]) for k in self.field_data.keys()]    857     858     def
__iter__(self):
/u/cgkim/Sources/yt-x86_64/src/yt-hg/yt/data_objects/profiles.pyc in
__getitem__(self, field)    851             raise KeyError(field)
852         else:--> 853             return
self.field_data[fname].in_units(self.field_units[fname])    854
855     def items(self):
/u/cgkim/Sources/yt-x86_64/src/yt-hg/yt/units/yt_array.pyc in
in_units(self, units)    358     359         """--> 360
new_units = self._unit_repr_check_same(units)    361
conversion_factor = self.units.get_conversion_factor(new_units)    362
/u/cgkim/Sources/yt-x86_64/src/yt-hg/yt/units/yt_array.pyc in
_unit_repr_check_same(self, units)    315         if not
self.units.same_dimensions_as(units):    316             raise
YTUnitConversionError(--> 317                 self.units,
self.units.dimensions, units, units.dimensions)    318     319
return units
YTUnitConversionError: Unit dimensionalities do not match. Tried to
convert between dimensionless (dim 1) and code_length**3 (dim
(length)**3).
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.spacepope.org/pipermail/yt-users-spacepope.org/attachments/20140506/86d67b0b/attachment.htm>


More information about the yt-users mailing list