[yt-users] Profile plot of a 2d projection FRB object

Ben Thompson bthompson2090 at gmail.com
Tue Jan 13 09:49:44 PST 2015


Hello everyone.

I was wondering if anyone has had experience with producing a profile plot
from a 2d projection object (FRB object).

Essentially, what I am trying to do is plot the stellar surface density of
a galaxy as a function of radius.

This is achieved by doing the following from a disk YT object called
cylinder (in which the origional simulation object is called shot)

center = cylinder.get_field_parameter("center")
normal = cylinder.get_field_parameter("normal")
image_width = (100,"kpc")
three_image_width = YTArray((image_width[0], image_width[0],
image_width[0]),image_width[1])
left = center - image_width
right = center + image_width
region = shot.region(center, left, right)

proj =
yt.ProjectionPlot(cylinder.ds,"z",[("deposit","stars_density")],center=center,width=image_width,data_source=region,axes_unit="kpc")

the error arrises here

prof =
yt.create_profile(proj,bin_fields="cylindrical_r",fields=[("deposit","stars_density")],n_bins=128,weight_field=None
)

where I get the error


/gpfs/home/........./profiles.pyc in create_profile(data_source,
bin_fields, fields, n_bins, extrema, logs, units, weight_field,
accumulation, fractional)
   1304     else:
   1305         raise NotImplementedError
-> 1306     bin_fields = data_source._determine_fields(bin_fields)
   1307     fields = data_source._determine_fields(fields)
   1308     if units is not None:

AttributeError: 'FixedResolutionBuffer' object has no attribute
'_determine_fields'

Any ideas how to get around this error?


Also some other things to add as a postscript. Since how the projection
works, if I provide weights=None as a keyword argument within the
ProjectionPlot object, I get a surface density (g/cm^2). But also a
"cylindrical_r" in cm^2 as well. I *think* the way to get around this is to
do another projection where weights="ones", get the radius values out of
that profile.. and then in matplotlib, useing the surface density array
from the former profile, and the radius bin array from the latter...
Produce a plot of the surface density as a function of radius from those
two arrays (I might check by hand afterwards to see if this does the
trick). This seems kinda convoluted so I am wondering if there is an easier
way than this.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.spacepope.org/pipermail/yt-users-spacepope.org/attachments/20150113/a8617822/attachment.htm>
-------------- next part --------------
_______________________________________________
yt-users mailing list
yt-users at lists.spacepope.org
http://lists.spacepope.org/listinfo.cgi/yt-users-spacepope.org


More information about the yt-users mailing list