[yt-users] p.modify["point"]
Elizabeth Tasker
tasker at astro1.sci.hokudai.ac.jp
Thu Oct 4 21:50:09 PDT 2012
Hi Nathan,
Any image creation that uses point should do it. e.g.
from yt.mods import *
pf = load("DD0200/GT_BTAccel_256AMR4_PeHeat_sf5_SNe_0200")
pc = PlotCollection(pf, center=na.array([16.0, 16.0, 16.0]))
p = pc.add_projection("Density", 2)
p.modify["point"](na.array([18.0, 16.0, 18.0]), "hello!")
pc.save()
which gives error:
In [6]: execfile("test_marker.py")
yt : [INFO ] 2012-10-05 13:48:52,569 Parameters: current_time = 0.2000001
yt : [INFO ] 2012-10-05 13:48:52,569 Parameters: domain_dimensions = [256 256 256]
yt : [INFO ] 2012-10-05 13:48:52,569 Parameters: domain_left_edge = [ 0. 0. 0.]
yt : [INFO ] 2012-10-05 13:48:52,569 Parameters: domain_right_edge = [ 32. 32. 32.]
yt : [INFO ] 2012-10-05 13:48:52,570 Parameters: cosmological_simulation = 0.0
yt : [INFO ] 2012-10-05 13:48:52,570 Created plot collection with default plot-center = [16.0, 16.0, 16.0]
---------------------------------------------------------------------------
TypeError Traceback (most recent call last)
/home/tasker/yt/src/yt-hg/scripts/iyt in <module>()
----> 1 execfile("test_marker.py")
/home/tasker/yt/src/yt-hg/scripts/iyt in <module>()
10 p.modify["point"](na.array([18.0, 16.0, 18.0]), "hello!")
11
---> 12 pc.save()
/home/tasker/yt/src/yt-hg/yt/visualization/plot_collection.pyc in save(self, basename, format, override, force_save)
186 for plot in self.plots:
187 fn.append(plot.save_image(basename, format=format,
--> 188 override=override, force_save=force_save))
189 mylog.info("Saved %s", fn[-1])
190 if ytcfg.getboolean("yt", "__withinreason"):
/home/tasker/yt/src/yt-hg/yt/visualization/plot_types.pyc in save_image(self, prefix, format, override, force_save, figure_canvas)
107 prefix.
108 """
--> 109 self._redraw_image()
110 if not override:
111 self._generate_prefix(prefix)
/home/tasker/yt/src/yt-hg/yt/visualization/plot_types.pyc in _redraw_image(self, *args)
421 self.norm.autoscale(na.array((newmin,newmax), dtype='float64'))
422 self._reset_image_parameters()
--> 423 self._run_callbacks()
424
425 def _reset_image_parameters(self):
/home/tasker/yt/src/yt-hg/yt/visualization/plot_types.pyc in _run_callbacks(self)
261 self._axes.texts = []
262 for cb in self._callbacks:
--> 263 cb(self)
264
265 def set_label(self, label):
/home/tasker/yt/src/yt-hg/yt/visualization/plot_modifications.pyc in __call__(self, plot)
640 def __call__(self, plot):
641 x,y = self.convert_to_pixels(plot, self.pos)
--> 642 plot._axes.text(x, y, self.text, **self.text_args)
643
644 class MarkerAnnotateCallback(PlotCallback):
TypeError: text() argument after ** must be a mapping, not NoneType
Elizabeth
On Oct 5, 2012, at 1:40 PM, Nathan Goldbaum <nathan12343 at gmail.com> wrote:
> Hi Elizabeth,
>
> Sorry to hear you're having trouble. This is likely due to changes I had to make the plot modifications so that they work correctly with the new plot window plots. I'm trying to reproduce the error.
>
> It would help to see the a shortened version of the script you're running that reproduces the incorrect behavior? Also, was the TypeError at the end of the traceback the full error or did it get cut off when you pasted it into the e-mail?
>
> Thanks,
>
> Nathan
>
> On 10/4/12 9:13 PM, Elizabeth Tasker wrote:
>> Hi,
>>
>> The error with p.modify["point"] seems to have reappeared with the latest version of yt.
>>
>> It complains when you set the width, or save, but the problem only occurs when marker["point"] is being used.
>>
>>
>> Elizabeth
>>
>>
>>
>>
>> home/tasker/yt_new/src/yt-hg/scripts/iyt in <module>()
>> 261 p.modify["particles"](5e4, p_size=5, col='k', ptype=12)
>> 262
>> --> 263 p.set_width(width, 'pc')
>> 264
>> 265 #pc.save(fn)
>>
>>
>> /home/tasker/yt_new/src/yt-hg/yt/visualization/plot_types.pyc in set_width(self, width, unit)
>> 456 unit = self.data.pf[str(unit)]
>> 457 self.width = width / unit
>> --> 458 self._refresh_display_width()
>> 459
>> 460 def _refresh_display_width(self, width=None):
>>
>> /home/tasker/yt_new/src/yt-hg/yt/visualization/plot_types.pyc in _refresh_display_width(self, width)
>> 474 self.set_xlim(max(l_edge_x,self.xmin), min(r_edge_x,self.xmax))
>> 475 self.set_ylim(max(l_edge_y,self.ymin), min(r_edge_y,self.ymax))
>> --> 476 self._redraw_image()
>> 477
>> 478 def autoscale(self):
>>
>> /home/tasker/yt_new/src/yt-hg/yt/visualization/plot_types.pyc in _redraw_image(self, *args)
>> 421 self.norm.autoscale(np.array((newmin,newmax), dtype='float64'))
>> 422 self._reset_image_parameters()
>> --> 423 self._run_callbacks()
>> 424
>> 425 def _reset_image_parameters(self):
>>
>> /home/tasker/yt_new/src/yt-hg/yt/visualization/plot_types.pyc in _run_callbacks(self)
>> 261 self._axes.texts = []
>> 262 for cb in self._callbacks:
>> --> 263 cb(self)
>> 264
>> 265 def set_label(self, label):
>>
>> /home/tasker/yt_new/src/yt-hg/yt/visualization/plot_modifications.pyc in __call__(self, plot)
>> 754
>> 755 width,height = plot.image._A.shape
>> --> 756 x,y = self.convert_to_plot(plot, self.pos)
>> 757 x,y = x/width,y/height
>> 758
>>
>> /home/tasker/yt_new/src/yt-hg/yt/visualization/plot_modifications.pyc in convert_to_plot(self, plot, coord, offset)
>> 75 (coord[1]-y0)/(y1-y0)*(yy1-yy0) + yy0)
>> 76 else:
>> ---> 77 return ((coord[0][:]-x0)/(x1-x0)*(xx1-xx0) + xx0,
>> 78 (coord[1][:]-y0)/(y1-y0)*(yy1-yy0) + yy0)
>> 79
>>
>> TypeError: 'float' object is
>>
>>
>>
>> On Jul 9, 2012, at 7:53 PM, Elizabeth Tasker <tasker at astro1.sci.hokudai.ac.jp> wrote:
>>
>>> Hi Matt,
>>>
>>> Thanks! That fixed it.
>>>
>>> Elizabeth
>>>
>>>
>>> On Jul 9, 2012, at 8:48 AM, Matthew Turk wrote:
>>>
>>>> Hi Elizabeth,
>>>>
>>>> Okay, that helps -- I've pushed a fix. Hash dab58ec7b5e2.
>>>>
>>>> -Matt
>>>>
>>>> On Sun, Jul 8, 2012 at 7:36 PM, Elizabeth Tasker
>>>> <tasker at astro1.sci.hokudai.ac.jp> wrote:
>>>>> This is the full error spiel. If I comment out the point line, then it's fine.
>>>>>
>>>>> Elizabeth
>>>>>
>>>>>
>>>>>
>>>>> TypeError Traceback (most recent call last)
>>>>> /home/tasker/yt/src/yt-hg/scripts/iyt in <module>()
>>>>> ----> 1 execfile("cloud_tracking.py")
>>>>>
>>>>> /home/tasker/yt/src/yt-hg/scripts/iyt in <module>()
>>>>> 224
>>>>> 225
>>>>> --> 226 pc.save("%s_tracking" % (fn))
>>>>> 227
>>>>> 228
>>>>>
>>>>> /home/tasker/yt/src/yt-hg/yt/visualization/plot_collection.pyc in save(self, basename, format, override, force_save)
>>>>> 186 for plot in self.plots:
>>>>> 187 fn.append(plot.save_image(basename, format=format,
>>>>> --> 188 override=override, force_save=force_save))
>>>>> 189 mylog.info("Saved %s", fn[-1])
>>>>> 190 if ytcfg.getboolean("yt", "__withinreason"):
>>>>>
>>>>> /home/tasker/yt/src/yt-hg/yt/visualization/plot_types.pyc in save_image(self, prefix, format, override, force_save, figure_canvas)
>>>>> 107 prefix.
>>>>> 108 """
>>>>> --> 109 self._redraw_image()
>>>>> 110 if not override:
>>>>> 111 self._generate_prefix(prefix)
>>>>>
>>>>> /home/tasker/yt/src/yt-hg/yt/visualization/plot_types.pyc in _redraw_image(self, *args)
>>>>> 421 self.norm.autoscale(na.array((newmin,newmax), dtype='float64'))
>>>>> 422 self._reset_image_parameters()
>>>>> --> 423 self._run_callbacks()
>>>>> 424
>>>>> 425 def _reset_image_parameters(self):
>>>>>
>>>>> /home/tasker/yt/src/yt-hg/yt/visualization/plot_types.pyc in _run_callbacks(self)
>>>>> 261 self._axes.texts = []
>>>>> 262 for cb in self._callbacks:
>>>>> --> 263 cb(self)
>>>>> 264
>>>>> 265 def set_label(self, label):
>>>>>
>>>>> /home/tasker/yt/src/yt-hg/yt/visualization/plot_modifications.pyc in __call__(self, plot)
>>>>> 640 def __call__(self, plot):
>>>>> 641 x,y = self.convert_to_pixels(plot, self.pos)
>>>>> --> 642 plot._axes.text(x, y, self.text, **self.text_args)
>>>>> 643
>>>>> 644 class MarkerAnnotateCallback(PlotCallback):
>>>>>
>>>>> TypeError: text() argument after ** must be a mapping, not NoneType
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>
>>>>> On Jul 9, 2012, at 8:04 AM, Elizabeth Tasker wrote:
>>>>>
>>>>>> Hi Matt,
>>>>>>
>>>>>> No, the marker works fine. By itself, it is no problem.
>>>>>>
>>>>>> Elizabeth
>>>>>>
>>>>>>
>>>>>> On 2012-07-09, at 2:25 AM, Matthew Turk wrote:
>>>>>>
>>>>>>> Hi Elizabeth,
>>>>>>>
>>>>>>> It looks like the error might be in marker (But it's tough to tell
>>>>>>> from the one error) so maybe try:
>>>>>>>
>>>>>>> p.modify["marker"](t1clouds[c]['position'], plot_args = dict(marker = 'o')
>>>>>>>
>>>>>>> -Matt
>>>>>>>
>>>>>>> On Sun, Jul 8, 2012 at 12:04 PM, Elizabeth Tasker
>>>>>>> <tasker at astro1.sci.hokudai.ac.jp> wrote:
>>>>>>>> Hi,
>>>>>>>>
>>>>>>>> I'm trying to add text to a particular point in my slice. I've got:
>>>>>>>>
>>>>>>>> position = na.array([20.2, 13.8, 16.0])
>>>>>>>> pc = PlotCollection(pf, center=position)
>>>>>>>> p = pc.add_projection("Density", 2)
>>>>>>>> p.set_width(2, 'kpc')
>>>>>>>> for c in range(len(t1clouds)):
>>>>>>>> r = abs(t1clouds[c]['position']-position)
>>>>>>>> if r[0] < 1.0 and r[1] < 1.0:
>>>>>>>> p.modify["point"](t1clouds[c]['position'], str(t1clouds[c]['track']))
>>>>>>>> p.modify["marker"](t1clouds[c]['position'], marker='o')
>>>>>>>>
>>>>>>>>
>>>>>>>> pc.save("%s_tracking" % (fn))
>>>>>>>>
>>>>>>>>
>>>>>>>> But python complains with:
>>>>>>>>
>>>>>>>>
>>>>>>>> TypeError: text() argument after ** must be a mapping, not NoneType
>>>>>>>>
>>>>>>>>
>>>>>>>> Did I call the modifier incorrectly?
>>>>>>>>
>>>>>>>> Elizabeth
>>>>>>>> _______________________________________________
>>>>>>>> yt-users mailing list
>>>>>>>> yt-users at lists.spacepope.org
>>>>>>>> http://lists.spacepope.org/listinfo.cgi/yt-users-spacepope.org
>>>>>>> _______________________________________________
>>>>>>> yt-users mailing list
>>>>>>> yt-users at lists.spacepope.org
>>>>>>> http://lists.spacepope.org/listinfo.cgi/yt-users-spacepope.org
>>>>>> _______________________________________________
>>>>>> yt-users mailing list
>>>>>> yt-users at lists.spacepope.org
>>>>>> http://lists.spacepope.org/listinfo.cgi/yt-users-spacepope.org
>>>>> _______________________________________________
>>>>> yt-users mailing list
>>>>> yt-users at lists.spacepope.org
>>>>> http://lists.spacepope.org/listinfo.cgi/yt-users-spacepope.org
>>>> _______________________________________________
>>>> yt-users mailing list
>>>> yt-users at lists.spacepope.org
>>>> http://lists.spacepope.org/listinfo.cgi/yt-users-spacepope.org
>>> _______________________________________________
>>> yt-users mailing list
>>> yt-users at lists.spacepope.org
>>> http://lists.spacepope.org/listinfo.cgi/yt-users-spacepope.org
>> _______________________________________________
>> yt-users mailing list
>> yt-users at lists.spacepope.org
>> http://lists.spacepope.org/listinfo.cgi/yt-users-spacepope.org
>
> _______________________________________________
> 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