Hi Eric,<br><br>I&#39;ve set both X and Y axis to &#39;0&#39;:<br><br>...<br>line-&gt;SetUseIndexForXSeries(true);<br>line-&gt;SetInput(mPath-&gt;toTable-&gt;GetOutput(), 0, 0);<br>...<br><br>But now it just crashes... <br>
<br>Here&#39;s the relevant part of the stack:<br><br>#6  0x00007ffff24c70ce in std::__throw_logic_error(char const*) () from /usr/lib/libstdc++.so.6<br>#7  0x00007ffff2eeedab in std::basic_string&lt;char, std::char_traits&lt;char&gt;, std::allocator&lt;char&gt; &gt;::_S_construct&lt;char const*&gt; (__beg=0x0, <br>
    __end=0xffffffffffffffff &lt;Address 0xffffffffffffffff out of bounds&gt;, __a=...) at /usr/include/c++/4.4/bits/basic_string.tcc:134<br>#8  0x00007ffff2501e32 in std::basic_string&lt;char, std::char_traits&lt;char&gt;, std::allocator&lt;char&gt; &gt;::basic_string(char const*, std::allocator&lt;char&gt; const&amp;) () from /usr/lib/libstdc++.so.6<br>
#9  0x00007ffff6ce24d2 in vtkStdString::vtkStdString (this=0x7fffffffdd00, s=0x0) at /home/marc/tmp/vtk/VTK/Common/vtkStdString.h:54<br>#10 0x00007ffff6d17488 in vtkPlot::SetInput (this=0xd07b00, table=0xcf7370, xColumn=0, yColumn=0)<br>
    at /home/marc/tmp/vtk/VTK/Charts/vtkPlot.cxx:372<br>#11 0x0000000000411883 in AmplitudeView::buildRenderingPath (this=0x7fffffffdf00)<br>    at /home/marc/g3/vtk/ut/dojo/vtk/demoview/amplitudeview.cpp:89<br>#12 0x000000000041266f in main (argc=3, argv=0x7fffffffe0f8) at /home/marc/g3/vtk/ut/dojo/vtk/demoview/demo.cpp:74<br>
<br>The string allocator throws a logic error...?!<br><br>What I&#39;m trying to achieve is something similar to this test: <a href="http://vtk.org/gitweb?p=VTK.git;a=blob;f=Widgets/Testing/Cxx/TestSplineWidget.cxx">http://vtk.org/gitweb?p=VTK.git;a=blob;f=Widgets/Testing/Cxx/TestSplineWidget.cxx</a><br>
<br>but by using the chart API which seems to be the new &quot;preferred&quot; way of plotting data.<br><br>Regards,<br><br>Marc<br><br><br><div class="gmail_quote">On Mon, Jun 20, 2011 at 2:36 PM, Eric E. Monson <span dir="ltr">&lt;<a href="mailto:emonson@cs.duke.edu">emonson@cs.duke.edu</a>&gt;</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;">Hey Marc,<br>
<br>
I think you need to set the indices of the X and Y columns in your plot&#39;s SetInput() call: e.g. line-&gt;SetInput(mPath-&gt;toTable-&gt;GetOutput(), 0, 1);<br>
<br>
It does look like vtkPlot has a plain SetInput(table) method which gets inherited by vtkPlotPoints and Line, but I get the same errors as you do when I try to set the input to the plot as just a table without specifying the indices.<br>

<br>
If you&#39;re using the index as X, then it just won&#39;t use the column you pass in as X (you can just give it the Y column index twice, if you want).<br>
<br>
Hope this helps,<br>
-Eric<br>
<br>
· · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · ·<br>
Eric E Monson<br>
Duke Visualization Technology Group<br>
<div><div></div><div class="h5"><br>
<br>
On Jun 20, 2011, at 11:09 AM, Marc Ferland wrote:<br>
<br>
&gt; Hi,<br>
&gt;<br>
&gt; I&#39;m currently trying to plot the output of a vtkProbeFilter with the new chart API using a vtkDataObjectToTable filter and I&#39;m having difficulties getting a vtkTable that will be accepted by the plotter. I get errors like:<br>

&gt;<br>
&gt; ERROR: In /home/marc/tmp/vtk/VTK/Filtering/vtkAlgorithm.cxx, line 460<br>
&gt; vtkContextMapper2D (0xd0d630): Attempt to get an input array for an index that has not been specified<br>
&gt;<br>
&gt; ERROR: In /home/marc/tmp/vtk/VTK/Charts/vtkPlotPoints.cxx, line 600<br>
&gt; vtkPlotLine (0xcf9ca0): No Y column is set (index 1).<br>
&gt;<br>
&gt; ERROR: In /home/marc/tmp/vtk/VTK/Filtering/vtkAlgorithm.cxx, line 460<br>
&gt; vtkContextMapper2D (0xd0d630): Attempt to get an input array for an index that has not been specified<br>
&gt; ....<br>
&gt;<br>
&gt; The code looks like this:<br>
&gt; // Convert the polydata to a vtkTable using points data<br>
&gt; mPath-&gt;toTable = vtkDataObjectToTable::New();<br>
&gt; mPath-&gt;toTable-&gt;SetInputConnection(mProbeFilter-&gt;GetOutputPort());<br>
&gt; mPath-&gt;toTable-&gt;SetFieldType(vtkDataObjectToTable::POINT_DATA);<br>
&gt; mPath-&gt;toTable-&gt;Update();<br>
&gt;<br>
&gt; // Test<br>
&gt; vtkTable *table = mPath-&gt;toTable-&gt;GetOutput();<br>
&gt; qDebug() &lt;&lt; table-&gt;GetNumberOfColumns(); // returns 2<br>
&gt; qDebug() &lt;&lt; table-&gt;GetNumberOfRows();    // returns 6<br>
&gt; qDebug() &lt;&lt; table-&gt;GetValue(0, 0).GetTypeAsString(); // returns: &quot;short&quot;<br>
&gt; qDebug() &lt;&lt; table-&gt;GetValue(0, 1).GetTypeAsString(); // returns: &quot;char&quot; &lt;-- weird?!<br>
&gt;<br>
&gt; mPath-&gt;view = vtkContextView::New();<br>
&gt; mPath-&gt;view-&gt;GetRenderer()-&gt;SetBackground(0.5, 0.5, 0.5);<br>
&gt;<br>
&gt; mPath-&gt;chartxy = vtkChartXY::New();<br>
&gt; mPath-&gt;view-&gt;GetScene()-&gt;AddItem(mPath-&gt;chartxy);<br>
&gt; vtkPlot* line = mPath-&gt;chartxy-&gt;AddPlot(vtkChart::LINE);<br>
&gt; line-&gt;SetUseIndexForXSeries(true);<br>
&gt; line-&gt;SetInput(mPath-&gt;toTable-&gt;GetOutput());<br>
&gt; line-&gt;SetColor(0.0, 255, 0.0, 255);<br>
&gt; line-&gt;SetWidth(1.0);<br>
&gt;<br>
&gt; FYI: The old XYPlot actor was working correctly with the same probe filter input.<br>
&gt;<br>
&gt; So my question is: What am I doing wrong here? Also, is there an example somewhere showing how to correctly use a vtkProbeFilter and the new charting API?<br>
&gt;<br>
&gt; Regards,<br>
&gt;<br>
&gt; Marc<br>
</div></div>&gt; _______________________________________________<br>
&gt; Powered by <a href="http://www.kitware.com" target="_blank">www.kitware.com</a><br>
&gt;<br>
&gt; Visit other Kitware open-source projects at <a href="http://www.kitware.com/opensource/opensource.html" target="_blank">http://www.kitware.com/opensource/opensource.html</a><br>
&gt;<br>
&gt; Please keep messages on-topic and check the VTK FAQ at: <a href="http://www.vtk.org/Wiki/VTK_FAQ" target="_blank">http://www.vtk.org/Wiki/VTK_FAQ</a><br>
&gt;<br>
&gt; Follow this link to subscribe/unsubscribe:<br>
&gt; <a href="http://www.vtk.org/mailman/listinfo/vtkusers" target="_blank">http://www.vtk.org/mailman/listinfo/vtkusers</a><br>
<br>
</blockquote></div><br>