[yt-dev] Issue #1142: ProfilePlot.from_profiles fails when passed two profile objects (yt_analysis/yt)

Nathan Goldbaum issues-reply at bitbucket.org
Wed Nov 4 15:54:06 PST 2015


New issue 1142: ProfilePlot.from_profiles fails when passed two profile objects
https://bitbucket.org/yt_analysis/yt/issues/1142/profileplotfrom_profiles-fails-when-passed

Nathan Goldbaum:

The following test script (from mintaka on IRC):


```
#!python

import yt
import numpy as np
from yt.units import kpc
from matplotlib import pyplot as plt

ds = yt.load('sizmbhloz-clref04SNth-rs9_a0.9011/sizmbhloz-clref04SNth-rs9_a0.9011.art')
ad = ds.all_data()

profiles = []
labels = []
profiles.append(yt.create_profile(ad, ["radius"], fields=['density']))
labels.append("density")
profiles.append(yt.create_profile(ad, ["radius"], fields=[('deposit', 'N-BODY_density')]))
labels.append('N-BODY')
prf = yt.ProfilePlot.from_profiles(profiles, labels=labels)
prf.save()

```

Raises the following error:

```
Traceback (most recent call last):
  File "test.py", line 15, in <module>
    prf = yt.ProfilePlot.from_profiles(profiles, labels=labels)
  File "/Users/goldbaum/Documents/yt-hg/yt/visualization/profile_plotter.py", line 416, in from_profiles
    return cls._initialize_instance(obj, profiles, labels, plot_specs, y_log)
  File "/Users/goldbaum/Documents/yt-hg/yt/visualization/profile_plotter.py", line 366, in _initialize_instance
    obj._setup_plots()
  File "/Users/goldbaum/Documents/yt-hg/yt/visualization/profile_plotter.py", line 340, in _setup_plots
    xtitle, ytitle = self._get_field_title(fname, profile)
  File "/Users/goldbaum/Documents/yt-hg/yt/visualization/profile_plotter.py", line 634, in _get_field_title
    y_unit = profile.field_units[field_y]
KeyError: ('gas', 'density')
```

Probably we need to make sure that field name tuples are normalized somewhere.

Responsible: ngoldbaum



More information about the yt-dev mailing list