You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
When I try to overplot contours using annotate_contour on my GIZMO data I get an error. The plot works using other annotate functions, only the contour seems to have a problem.
yt : [INFO ] 2024-03-29 12:10:24,007 Calculating time from 1.000e+00 to be 4.355e+17 seconds
yt : [INFO ] 2024-03-29 12:10:24,009 Assuming length units are in kpc/h (comoving)
yt : [INFO ] 2024-03-29 12:10:24,108 Parameters: current_time = 4.3545571088051405e+17 s
yt : [INFO ] 2024-03-29 12:10:24,110 Parameters: domain_dimensions = [1 1 1]
yt : [INFO ] 2024-03-29 12:10:24,122 Parameters: domain_left_edge = [0. 0. 0.]
yt : [INFO ] 2024-03-29 12:10:24,137 Parameters: domain_right_edge = [60000. 60000. 60000.]
yt : [INFO ] 2024-03-29 12:10:24,138 Parameters: cosmological_simulation = 1
yt : [INFO ] 2024-03-29 12:10:24,139 Parameters: current_redshift = 0.0
yt : [INFO ] 2024-03-29 12:10:24,140 Parameters: omega_lambda = 0.728
yt : [INFO ] 2024-03-29 12:10:24,141 Parameters: omega_matter = 0.272
yt : [INFO ] 2024-03-29 12:10:24,142 Parameters: omega_radiation = 0.0
yt : [INFO ] 2024-03-29 12:10:24,142 Parameters: hubble_constant = 0.702
yt : [INFO ] 2024-03-29 12:10:24,208 Allocating for 4.787e+06 particles
Loading particle index: 100%|██████████| 10/10 [00:00<00:00, 180.85it/s]
yt : [INFO ] 2024-03-29 12:10:25,593 xlim = 32582.574671 32596.614671
yt : [INFO ] 2024-03-29 12:10:25,594 ylim = 29279.041454 29293.081454
yt : [INFO ] 2024-03-29 12:10:25,597 xlim = 32582.574671 32596.614671
yt : [INFO ] 2024-03-29 12:10:25,599 ylim = 29279.041454 29293.081454
yt : [INFO ] 2024-03-29 12:10:25,601 Making a fixed resolution buffer of (('gas', 'temperature')) 800 by 800
center = [29286.06145364 31049.2410335 32589.59467114] code_length
---------------------------------------------------------------------------
YTNonIndexedDataContainer Traceback (most recent call last)
File C:\ProgramData\Anaconda3\lib\site-packages\yt\visualization\plot_window.py:1279, in PWViewerMPL.run_callbacks(self)
1278 try:
-> 1279 callback(cbw)
1280 except (NotImplementedError, YTDataTypeUnsupported):
File C:\ProgramData\Anaconda3\lib\site-packages\yt\visualization\plot_modifications.py:960, in ContourCallback.__call__(self, plot)
956 elif plot._type_name in ["Projection", "Slice"]:
957 # Makes a copy of the position fields "px" and "py" and adds the
958 # appropriate shift to the copied field.
--> 960 AllX = np.zeros(data["px"].size, dtype="bool")
961 AllY = np.zeros(data["py"].size, dtype="bool")
File C:\ProgramData\Anaconda3\lib\site-packages\yt\data_objects\data_containers.py:232, in YTDataContainer.__getitem__(self, key)
231 if f in self._container_fields:
--> 232 self.field_data[f] = self.ds.arr(self._generate_container_field(f))
233 return self.field_data[f]
File C:\ProgramData\Anaconda3\lib\site-packages\yt\data_objects\selection_objects\slices.py:89, in YTSlice._generate_container_field(self, field)
88 if field == "px":
---> 89 return self._current_chunk.fcoords[:, xax]
90 elif field == "py":
File C:\ProgramData\Anaconda3\lib\site-packages\yt\geometry\geometry_handler.py:272, in cacheable_property.<locals>.cacheable_func(self)
271 if self.data_size is None:
--> 272 tr = self._accumulate_values(n[1:])
273 else:
File C:\ProgramData\Anaconda3\lib\site-packages\yt\geometry\geometry_handler.py:308, in YTDataChunk._accumulate_values(self, method)
307 f = getattr(obj, mname)
--> 308 arrs.append(f(self.dobj))
309 if method == "dtcoords":
File C:\ProgramData\Anaconda3\lib\site-packages\yt\data_objects\index_subobjects\particle_container.py:17, in _non_indexed.<locals>._func_non_indexed(self, *args, **kwargs)
16 def _func_non_indexed(self, *args, **kwargs):
---> 17 raise YTNonIndexedDataContainer(self)
YTNonIndexedDataContainer: The data container type (ParticleContainer) is an unindexed type. Operations such as ires, icoords, fcoords and fwidth will not work on it.
Did you just attempt to perform an off-axis operation ? Be sure to consult the latest documentation to see whether the operation you tried is actually supported for your data type.
The above exception was the direct cause of the following exception:
YTPlotCallbackError Traceback (most recent call last)
Cell In[29], line 16
14 p=yt.SlicePlot(ds0, "y", ("gas", "temperature"), center=center0, width=(20, "kpc"))
15 p.annotate_contour(("gas", "temperature"))
---> 16 p.show()
File C:\ProgramData\Anaconda3\lib\site-packages\yt\visualization\_commons.py:172, in validate_plot.<locals>.newfunc(self, *args, **kwargs)
168 self._recreate_profile()
169 if not self._plot_valid:
170 # it is the responsibility of _setup_plots to
171 # call plot.run_callbacks()
--> 172 self._setup_plots()
173 retv = f(self, *args, **kwargs)
174 return retv
File C:\ProgramData\Anaconda3\lib\site-packages\yt\visualization\plot_window.py:1222, in PWViewerMPL._setup_plots(self)
1219 self.plots[f]._toggle_axes(draw_axes, draw_frame)
1221 self._set_font_properties()
-> 1222 self.run_callbacks()
1224 if self._flip_horizontal or self._flip_vertical:
1225 # some callbacks (e.g., streamlines) fail when applied to a
1226 # flipped axis, so flip only at the end.
1227 for f in field_list:
File C:\ProgramData\Anaconda3\lib\site-packages\yt\visualization\plot_window.py:1283, in PWViewerMPL.run_callbacks(self)
1281 raise
1282 except Exception as e:
-> 1283 raise YTPlotCallbackError(callback._type_name) from e
1284 for key in self.frb.keys():
1285 if key not in keys:
YTPlotCallbackError: annotate_contour callback failed
Expected outcome
I expected to get a slice plot with contour lines overdrawn.
Version Information
I am using a Jupyter notebook launched from an Anaconda Navigator running Anaconda3. yt was installed using conda install, but I don't remember the details. I am using yt 4.2.2 and python 3.8.18
The text was updated successfully, but these errors were encountered:
Hi, and welcome to yt! Thanks for opening your first issue. We have an issue template that helps us to gather relevant information to help diagnosing and fixing the issue.
This looks like yt is trying to use a grid data method on SPH(-like) data. (yt treats meshless finite mass FIRE data as SPH data in the backend.) I'm not sure about the details of what's going wrong though. I think I might have seen some plots where yt uses a slice of the field to draw contours of and then puts that into the grid method, but I'm really not sure about that.
@jkgo232 is this still something you're interested in? I think I could take a look at it, but it would probably take about a month and a half to get to it since I'm starting a new job soon. Also, I would want pull request #4939 to be settled first, since that affects a lot of the SPH slice and projection code.
Bug report
Bug summary
When I try to overplot contours using annotate_contour on my GIZMO data I get an error. The plot works using other annotate functions, only the contour seems to have a problem.
Code for reproduction
I used the Fire 12i example from http://yt-project.org/data in the demonstration below:
Actual outcome
Expected outcome
I expected to get a slice plot with contour lines overdrawn.
Version Information
I am using a Jupyter notebook launched from an Anaconda Navigator running Anaconda3. yt was installed using conda install, but I don't remember the details. I am using yt 4.2.2 and python 3.8.18
The text was updated successfully, but these errors were encountered: