[Paraview] Changing Chart Series Visibilities from Python

Greg Schussman schussman at slac.stanford.edu
Thu Oct 6 15:46:13 EDT 2011


Hi, Pat.

On further checking, there's still some sort of problem.

When I use your example below, it works in ParaView's Python Shell, if 
the PlotData filter was created via the ParaView gui.   However, if it 
was created in the macro (using the text from a python trace of how it 
was created via the gui), then your example produces an empty list.   
The PlotData filter created in the macro does show up on the screen and 
look correct; but the series names aren't accessible.

Does this provide any useful clues?

Thanks.

Greg

On 10/06/2011 11:49 AM, pat marion wrote:
> Hi Greg,
>
> I think I found a bug, or else I don't quite understand what is 
> happening.  It seems that under certain circumstances the python layer 
> fails to wrap all the properties of a proxy.  I look into this, but 
> for now you can work around the issue by accessing the c++ api:
>
> >>> p = rep.SMProxy.GetProperty("SeriesNamesInfo")
>
> >>> series_names = [p.GetElement(i) for i in 
> xrange(p.GetNumberOfElements())]
>
>
>
> Pat
>
> On Thu, Oct 6, 2011 at 2:34 PM, Greg Schussman 
> <schussman at slac.stanford.edu <mailto:schussman at slac.stanford.edu>> wrote:
>
>     Hi, Pat.
>
>     I tried plotting directly from the CSVReader, and then it all
>     works.   But when my programmable filter is in between, there's a
>     problem.  When I apply the plot filter  (via ParaView's GUI) to my
>     programmable filter, the plot works fine in the gui, but the
>     GetProperty("SeriesNameInfo") returns None.   However, if I skip
>     the programmable filter, and plot the CSV reader directly, then
>     GetProperty("SeriesNameInfo") does what you say it should.
>
>     Anyway, I think I can skip my programmable filter for now, and get
>     this working dircetly.
>
>     Thanks so much for what you've provided.
>
>
>     Greg
>
>
>     On 10/06/2011 11:10 AM, pat marion wrote:
>>     Are you sure that the chart view is the active view when you call
>>     GetDisplayProperties(p)?   If the render view is active, you'll
>>     get the wrong representation.  I verified that this works for
>>     Wavelet --> Plot Data filter using PV 3.10.1.
>>
>>     Pat
>>
>>     On Thu, Oct 6, 2011 at 2:03 PM, Greg Schussman
>>     <schussman at slac.stanford.edu
>>     <mailto:schussman at slac.stanford.edu>> wrote:
>>
>>         On 10/06/2011 07:33 AM, pat marion wrote:
>>>         series_names = [name for name in
>>>         d.GetProperty("SeriesNamesInfo")]
>>
>>         Hi, Pat.
>>
>>         Thanks for the helpful pointers.
>>
>>         After setting everything up in ParaView (3.10.1, 64-bit), I'm
>>         not getting results.  Here is what I did from the ParaView
>>         Python Shell:
>>
>>         >>> p =
>>         FindSource("PlotData1")
>>
>>         >>> rep =
>>         GetDisplayProperties(p)
>>
>>         >>>
>>         rep.GetProperty("SeriesNamesInfo")
>>
>>         None
>>
>>         >>>
>>
>>
>>         While, at the same time, the Object Inspector shows 27
>>         series, each with the correct name.
>>
>>         Does something need to be updated or refreshed first?  I
>>         notice in the pvblot script, there is a
>>
>>           rep.Update()
>>
>>         but when I try that in ParaView's python shell (after getting
>>         the representation the way I showed above), it tells me:
>>
>>         >>> rep.Update()
>>
>>         Traceback (most recent call last):
>>
>>         File "<console>", line 1, in
>>         <module>
>>
>>         File
>>         "/usr/lib64/paraview/site-packages/paraview/servermanager.py",
>>         line 370, in __getattr__
>>
>>         return getattr(self.SMProxy, name)
>>
>>         AttributeError: Update
>>
>>         >>>
>>
>>
>>         Thanks!
>>
>>         Greg
>>
>>
>>
>
>

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.paraview.org/pipermail/paraview/attachments/20111006/83b30b67/attachment.htm>


More information about the ParaView mailing list