[yt-users] p.modify["point"]

Elizabeth Tasker tasker at astro1.sci.hokudai.ac.jp
Thu Oct 4 21:13:44 PDT 2012


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




More information about the yt-users mailing list