[Paraview] vtkTable and LineChart

pat marion pat.marion at kitware.com
Mon Nov 29 18:31:41 EST 2010


Take a look at pqChartRepresentation::setDefaultPropertyValues().  See where
the x_array variable is assigned, and then the magic happens here:

  if (!x_array.isEmpty())
    {
    vtkSMPropertyHelper(proxy, "XArrayName").Set(x_array.toAscii().data());
    vtkSMPropertyHelper(proxy, "UseIndexForXAxis").Set(0);
    }

and then a little more magic a few lines later:

      else if (!x_array.isNull() && (array == x_array))
        {
        // No point in plotting the series used as the x-array.
        helper.SetStatus(array.toAscii().data(), 0);
        }


I totally agree with you that it would be nice if there was a way to make
this choice happen by default under the right conditions.

Pat

On Mon, Nov 29, 2010 at 5:24 PM, Michael Jackson <
mike.jackson at bluequartz.net> wrote:

> Yes, I can see the data in ParaView after I mess around digging in the
> "Display" tab, clicking some checkbox, taking guess about what needs to be
> enabled/disabled..
>  I was hoping my use-case would fall into the "Default" use case where the
> first column represented the x-axis and subsequent columns were y-axis
> values but I guess not this time. Yes, I agree that it does only take a few
> clicks here and there but you first have to know _what_ to click which is
> where the user experience is falling apart for me. I have to teach a bunch
> of users to click here and there in order to show their data.
>   Along those lines maybe I am not really understanding how a "Line Chart"
> works. Maybe what I am really after is an "XY Scatter Plot" of my data?
>   What would help me out would be what source file is the default value of
> using the cell indices as the x-axis set? for my builds which I distribute
> to my users maybe I can just set this to the other value "Use Data Array"
> instead?
>
>
> Thanks
> ___________________________________________________________
> Mike Jackson                      www.bluequartz.net
> Principal Software Engineer       mike.jackson at bluequartz.net
> BlueQuartz Software               Dayton, Ohio
>
>
>
> On Nov 29, 2010, at 5:15 PM, pat marion wrote:
>
>  That's correct, the data objects at the vtk level cannot influence how the
>> chart will be displayed.  It all happens in the gui & servermanager level,
>> at the proxy level.  Are you at least able to see your data in the XY Line
>> Chart?  It only takes two clicks in the Display tab to assign the X axis.
>>
>> It would be convenient if there was some way for the data object to
>> provide a hint to gui.  Maybe we could make a rule that if an array name
>> ends with "xaxis_hint" or something, that could clue the gui to use it
>> automatically.
>>
>> Pat
>>
>> On Mon, Nov 29, 2010 at 4:47 PM, Michael Jackson <
>> mike.jackson at bluequartz.net> wrote:
>> Thanks for more info.
>>
>>  I do in fact have "Time" for one of my plots so that is easy to achieve.
>> I just had to correctly set the name of the column from "Time Values" to
>> "Time" and that should work. The other plots probably are more difficult at
>> this point. I have Stress/Strain data where I need the Stress on the x-axis
>> and strain on the y-axis. I do not think I am understanding how to set some
>> value on the vtkTable class that when finally passed over to the GUI layer
>> will set the some arbitrary column as the x-axis. I thought the proxy stuff
>> was all done on the GUI side of things? I guess I need just a bit more hand
>> holding.
>>
>> ___________________________________________________________
>> Mike Jackson                      www.bluequartz.net
>> Principal Software Engineer       mike.jackson at bluequartz.net
>> BlueQuartz Software               Dayton, Ohio
>>
>>
>>
>> On Nov 29, 2010, at 4:31 PM, Marcus D. Hanwell wrote:
>>
>> Sorry, yes, I was in VTK world. There are a few column names with
>> special meanings to ParaView that are hard coded in the proxy. You can
>> get at the chart object if you wish to manipulate it directly, but you
>> should be able to achieve everything you need to through the proxies.
>>
>> Marcus
>>
>> On Mon, Nov 29, 2010 at 4:28 PM, pat marion <pat.marion at kitware.com>
>> wrote:
>> I think by default it will plot a line for each column in the table.  It
>> will use the cell value as the Y value, and the row index as the X value.
>> To change the behavior, you have to change two representation properties:
>>
>>
>> rep.UseIndexForXAxis = 0
>>
>> rep.XArrayName = 'foo'
>>
>> This will plot all all the columns, except use the "foo" column as the X
>> values.  That means the line for the "foo" column is still displayed, and
>> it
>> will be a diagonal line.
>>
>> I just looked, and Paraview has one cheat hard coded- if there is a column
>> named "Time" or "arc_length" then it will be used automatically for the X
>> axis.
>>
>> Pat
>>
>> On Mon, Nov 29, 2010 at 4:11 PM, Michael Jackson
>> <mike.jackson at bluequartz.net> wrote:
>>
>> Thanks for the idea. I was trying to figure out the flow from reading the
>> data into displaying the data hoping to reveal some sort of default or
>> something. I was going to generate some fake CSV data and see how that
>> reader does things hoping the CSV reader takes the first column as the
>> x-axis.
>> ___________________________________________________________
>> Mike Jackson                      www.bluequartz.net
>> Principal Software Engineer       mike.jackson at bluequartz.net
>> BlueQuartz Software               Dayton, Ohio
>>
>>
>>
>> On Nov 29, 2010, at 4:08 PM, pat marion wrote:
>>
>> Hi Mike,
>>
>> I'm not up to speed with the current chart api so I can't answer your
>> question... but maybe you could try doing it in the gui with python trace
>> enabled, then translate the generated python code into c++ for your
>> plugin?
>>  Customizing the chart should be a matter of setting properties on the
>> representation and view, the data object itself doesn't have much say.
>>
>> Pat
>>
>> On Mon, Nov 29, 2010 at 1:41 PM, Michael Jackson
>> <mike.jackson at bluequartz.net> wrote:
>> I have some XY data that I would like to plot in ParaView. I currently
>> have a plugin that reads the data from our HDF5 file and into vtkTable
>> objects. Along the lines of a "Line Chart 101" question how do I
>> programmatically set the x-axis and y-axis columns?
>>
>> Thanks
>> ___________________________________________________________
>> Mike Jackson                      www.bluequartz.net
>> Principal Software Engineer       mike.jackson at bluequartz.net
>> BlueQuartz Software               Dayton, Ohio
>>
>>
>>
>> _______________________________________________
>> Powered by www.kitware.com
>>
>> Visit other Kitware open-source projects at
>> http://www.kitware.com/opensource/opensource.html
>>
>> Please keep messages on-topic and check the ParaView Wiki at:
>> http://paraview.org/Wiki/ParaView
>>
>> Follow this link to subscribe/unsubscribe:
>> http://www.paraview.org/mailman/listinfo/paraview
>>
>>
>> _______________________________________________
>> Powered by www.kitware.com
>>
>> Visit other Kitware open-source projects at
>> http://www.kitware.com/opensource/opensource.html
>>
>> Please keep messages on-topic and check the ParaView Wiki at:
>> http://paraview.org/Wiki/ParaView
>>
>> Follow this link to subscribe/unsubscribe:
>> http://www.paraview.org/mailman/listinfo/paraview
>>
>>
>> _______________________________________________
>> Powered by www.kitware.com
>>
>> Visit other Kitware open-source projects at
>> http://www.kitware.com/opensource/opensource.html
>>
>> Please keep messages on-topic and check the ParaView Wiki at:
>> http://paraview.org/Wiki/ParaView
>>
>> Follow this link to subscribe/unsubscribe:
>> http://www.paraview.org/mailman/listinfo/paraview
>>
>>
>>
>> _______________________________________________
>> Powered by www.kitware.com
>>
>> Visit other Kitware open-source projects at
>> http://www.kitware.com/opensource/opensource.html
>>
>> Please keep messages on-topic and check the ParaView Wiki at:
>> http://paraview.org/Wiki/ParaView
>>
>> Follow this link to subscribe/unsubscribe:
>> http://www.paraview.org/mailman/listinfo/paraview
>>
>>
> _______________________________________________
> Powered by www.kitware.com
>
> Visit other Kitware open-source projects at
> http://www.kitware.com/opensource/opensource.html
>
> Please keep messages on-topic and check the ParaView Wiki at:
> http://paraview.org/Wiki/ParaView
>
> Follow this link to subscribe/unsubscribe:
> http://www.paraview.org/mailman/listinfo/paraview
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.paraview.org/pipermail/paraview/attachments/20101129/6a3e0fa6/attachment-0001.htm>


More information about the ParaView mailing list