Thanks Greg. I can reproduce this. I'm observing the same thing- if the chart is created by hand, things are ok, but when created via python commands, not working correctly. I'll investigate the problem. Hopefully I'll find an easy work around too so that you don't have to wait for the next release to get the bugfix.<br>
<br>Pat<br><br><div class="gmail_quote">On Thu, Oct 6, 2011 at 4:07 PM, Greg Schussman <span dir="ltr"><<a href="mailto:schussman@slac.stanford.edu">schussman@slac.stanford.edu</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">
<u></u>
<div bgcolor="#ffffff" text="#000000">
Hi, Pat.<br>
<br>
Here is an example that recreates the problem. Using this as a CSV
file:<br>
<br>
AAA,BBB,CCC,DDD<br>
0.0,1.0,2.0,3.0<br>
0.0,2.0,4.0,8.0<br>
0.0,3.5,2.5,1.5<br>
<br>
and this (modified python trace) as a script run from the python
shell in paraview:<br>
----------------------------------------------------------------<div class="im"><br>
try: paraview.simple<br>
except: from paraview.simple import *<br>
paraview.simple._DisableFirstRenderCameraReset()<br>
<br></div>
test_csv = CSVReader( FileName=['test.csv'] )<br>
<br>
AnimationScene1 = GetAnimationScene()<br>
RenderView1 = GetRenderView()<br>
Delete(RenderView1)<br>
SpreadSheetView1 = CreateRenderView()<br>
SpreadSheetView1.ViewTime = 0.0<br>
<br>
AnimationScene1.ViewModules = SpreadSheetView1<br>
<br>
PlotData1 = PlotData()<br>
<br>
XYChartView1 = CreateXYPlotView()<br>
XYChartView1.ViewTime = 0.0<br>
<br>
DataRepresentation2 = Show()<br>
DataRepresentation2.XArrayName = 'AAA'<br>
DataRepresentation2.AttributeType = 'Row Data'<br>
DataRepresentation2.SeriesVisibility = ['vtkOriginalIndices', '0']<br>
<br>
AnimationScene1.ViewModules = [ SpreadSheetView1, XYChartView1 ]<br>
<br>
Render()<br>
<br>
p = DataRepresentation2.SMProxy.GetProperty("SeriesNamesInfo")<div class="im"><br>
series_names = [p.GetElement(i) for i in
xrange(p.GetNumberOfElements())]<br></div>
print "series_names:", series_names<br>
----------------------------------------------------------------<br>
<br>
I get back <br>
<br>
series_names: []<br>
<br>
Thanks for any suggestions.<br><font color="#888888">
<br>
Greg</font><div><div></div><div class="h5"><br>
<br>
<br>
On 10/06/2011 12:46 PM, Greg Schussman wrote:
<blockquote type="cite">
Hi, Pat.<br>
<br>
On further checking, there's still some sort of problem.<br>
<br>
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.<br>
<br>
Does this provide any useful clues?<br>
<br>
Thanks.<br>
<br>
Greg<br>
<br>
On 10/06/2011 11:49 AM, pat marion wrote:
<blockquote type="cite">Hi Greg,<br>
<br>
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:<br>
<br>
<p style="margin:0px;text-indent:0px"><span style="font-family:'Courier';font-size:13pt;color:rgb(0, 0, 0)">>>> p =<br>
rep.SMProxy.GetProperty("SeriesNamesInfo")</span></p>
<p style="margin:0px;text-indent:0px"><span style="font-family:'Courier';font-size:13pt;color:rgb(0, 0, 0)">>>> series_names = [p.GetElement(i)
for i in<br>
xrange(p.GetNumberOfElements())]</span></p>
<br>
<br>
Pat<br>
<br>
<div class="gmail_quote">On Thu, Oct 6, 2011 at 2:34 PM, Greg
Schussman <span dir="ltr"><<a href="mailto:schussman@slac.stanford.edu" target="_blank">schussman@slac.stanford.edu</a>></span>
wrote:<br>
<blockquote class="gmail_quote" style="margin:0pt 0pt 0pt 0.8ex;border-left:1px solid rgb(204, 204, 204);padding-left:1ex">
<div bgcolor="#ffffff" text="#000000"> Hi, Pat.<br>
<br>
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.<br>
<br>
Anyway, I think I can skip my programmable filter for now,
and get this working dircetly.<br>
<br>
Thanks so much for what you've provided.
<div><br>
<br>
Greg<br>
<br>
<br>
On 10/06/2011 11:10 AM, pat marion wrote: </div>
<div>
<div>
<blockquote type="cite">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.<br>
<br>
Pat<br>
<br>
<div class="gmail_quote">On Thu, Oct 6, 2011 at 2:03
PM, Greg Schussman <span dir="ltr"><<a href="mailto:schussman@slac.stanford.edu" target="_blank">schussman@slac.stanford.edu</a>></span>
wrote:<br>
<blockquote class="gmail_quote" style="margin:0pt 0pt 0pt 0.8ex;border-left:1px solid rgb(204, 204, 204);padding-left:1ex">
<div bgcolor="#ffffff" text="#000000">
<div> On 10/06/2011 07:33 AM, pat marion
wrote:
<blockquote type="cite">series_names = [name
for name in
d.GetProperty("SeriesNamesInfo")]</blockquote>
</div>
<font size="+1"><font face="Droid Serif"><br>
Hi, Pat.<br>
<br>
Thanks for the helpful pointers. <br>
<br>
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:<br>
<br>
</font></font>
<div>
<p style="margin:0px;text-indent:0px"><span style="font-family:'Courier';font-size:10pt;color:rgb(0, 0, 0)">>>>
p<br>
=<br>
<br>
FindSource("PlotData1")</span></p>
</div>
<p style="margin:0px;text-indent:0px"><span style="font-family:'Courier';font-size:10pt;color:rgb(0, 0, 0)">>>>
rep<br>
=<br>
<br>
GetDisplayProperties(p)</span></p>
<p style="margin:0px;text-indent:0px"><span style="font-family:'Courier';font-size:10pt;color:rgb(0, 0, 0)">>>><br>
<br>
rep.GetProperty("SeriesNamesInfo")</span></p>
<p style="margin:0px;text-indent:0px"><span style="font-family:'Courier';font-size:10pt;color:rgb(0, 150, 0)">None</span></p>
<p style="margin:0px;text-indent:0px"><span style="font-family:'Courier';font-size:10pt;color:rgb(0, 0, 0)">>>> </span></p>
<font size="+1"><font face="Droid Serif"><br>
While, at the same time, the Object
Inspector shows 27 series, each with the
correct name.<br>
<br>
Does something need to be updated or
refreshed first? I notice in the pvblot
script, there is a <br>
<br>
rep.Update()<br>
<br>
but when I try that in ParaView's python
shell (after getting the representation
the way I showed above), it tells me:<br>
</font></font>
<p style="margin:0px;text-indent:0px"><span style="font-family:'Courier';font-size:10pt;color:rgb(0, 0, 0)">>>><br>
rep.Update()</span></p>
<p style="margin:0px;text-indent:0px"><span style="font-family:'Courier';font-size:10pt;color:rgb(255, 0, 0)">Traceback<br>
(most recent call last):</span></p>
<p style="margin:0px;text-indent:0px"><span style="font-family:'Courier';font-size:10pt;color:rgb(255, 0, 0)"> File<br>
"<console>", line 1, in<br>
<br>
<module></span></p>
<p style="margin:0px;text-indent:0px"><span style="font-family:'Courier';font-size:10pt;color:rgb(255, 0, 0)"> File<br>
<br>
"/usr/lib64/paraview/site-packages/paraview/servermanager.py",<br>
<br>
line 370, in __getattr__</span></p>
<p style="margin:0px;text-indent:0px"><span style="font-family:'Courier';font-size:10pt;color:rgb(255, 0, 0)"> return<br>
getattr(self.SMProxy, name)</span></p>
<p style="margin:0px;text-indent:0px"><span style="font-family:'Courier';font-size:10pt;color:rgb(255, 0, 0)">AttributeError:<br>
Update</span></p>
<p style="margin:0px;text-indent:0px"><span style="font-family:'Courier';font-size:10pt;color:rgb(0, 0, 0)">>>> </span></p>
<br>
<font size="+1"><font face="Droid Serif">Thanks!<br>
<font color="#888888"> <br>
Greg<br>
<br>
<br>
</font></font></font> </div>
</blockquote>
</div>
<br>
</blockquote>
<br>
</div>
</div>
</div>
</blockquote>
</div>
<br>
</blockquote>
<br>
</blockquote>
<br>
</div></div></div>
</blockquote></div><br>