We have been happily using JFreeChart to make
various displays for a GUI tool. Our users have high-dimensional
data and like the parallel coordinate view. Can JFreeChart
components be used to make such an interactive chart?
Lacking that, does anyone know of other open-source Java-based plotters
that can do this? (UMN Genomics does not count, we tried
it already).
Thanks in advance for the help.
Help: Parallel Coordinate Plots
-
- Posts: 5
- Joined: Mon Aug 09, 2004 3:20 am
- Location: Maui
-
- JFreeChart Project Leader
- Posts: 11734
- Joined: Fri Mar 14, 2003 10:29 am
- antibot: No, of course not.
- Contact:
Is this the type of chart you mean?
http://home.subnet.at/flo/mv/parvis/background.html
By writing a custom XYDataset (one that allows you to store multi-dimensional points, but then returns the coordinates of each point as a JFreeChart "series") you could create a line chart similar to those shown in the link above.
But you also mentioned an "interactive chart". I'm not so sure this could be done, but it depends on what you mean by that.
http://home.subnet.at/flo/mv/parvis/background.html
By writing a custom XYDataset (one that allows you to store multi-dimensional points, but then returns the coordinates of each point as a JFreeChart "series") you could create a line chart similar to those shown in the link above.
But you also mentioned an "interactive chart". I'm not so sure this could be done, but it depends on what you mean by that.
David Gilbert
JFreeChart Project Leader
Read my blog
Support JFree via the Github sponsorship program
JFreeChart Project Leader


Thanks for the quick reply.david.gilbert wrote:Is this the type of chart you mean?
http://home.subnet.at/flo/mv/parvis/background.html
By writing a custom XYDataset (one that allows you to store multi-dimensional points, but then returns the coordinates of each point as a JFreeChart "series") you could create a line chart similar to those shown in the link above.
But you also mentioned an "interactive chart". I'm not so sure this could be done, but it depends on what you mean by that.
I am currently thinking about the XYPlot with custom line drawing
between the intersections (points).
By "interactive" I mean brushing. Some users consider
parallel coordinates useless without the ability to use
rubber-banding to select a range of one or more
coordinate values. These are highlighted in a different
color and "selected" throughout the plotting system (for
display using other data plotters). Multiple selection
capabilities are a must.
Examples:
http://www219.pair.com/swansonr/parallel_example1.jpg
The example above has been brushed near the top values
for "Aggregated_Escalation". The points there are colored
blue, as are all connected lines.
http://www219.pair.com/swansonr/parallel_example2.jpg
The above example has been further selected by holding down
the CRTL key and brushing at the "2" value of "Soldiers::Ruleset".
This additional action puts more limits on which lines are brushed.
http://www219.pair.com/swansonr/parallel_example3.jpg
Note the "11.37" near the right column. This is the hover response
when the mouse is located along any of the axes (columns). The
cursor itself did not appear in the screenshot, but is to the
left of the number displayed. THis hover provides necessary
hints for the user as to the actual values present along that
axis.
I have figured out how to plot the intersection points using
XYPlot, but am not sure how to make the connecting lines. They
would be a subset of the connected lines normally plotted
by the XYRenderer. Then, it will be necessary to add the
brushing and hover capability.
My original question was whether JFreeChart was the
right vehicle for this type of plotting, or whether I
was better off starting with a clean sheet of paper.
My experience so far with JFreeChart, is that it provides
a great framework for visual display of information,
and I would like to keep using it for all 2D displays
we are planning.
Again, thanks for your help.
Bob Swanson
MHPCC
Noted your link to the Parvis tool. This may bedavid.gilbert wrote:Is this the type of chart you mean?
http://home.subnet.at/flo/mv/parvis/background.html
By writing a custom XYDataset (one that allows you to store multi-dimensional points, but then returns the coordinates of each point as a JFreeChart "series") you could create a line chart similar to those shown in the link above.
But you also mentioned an "interactive chart". I'm not so sure this could be done, but it depends on what you mean by that.
the tool that works for us. We need to study it extensively,
but it may fit in our framework. It supports many of
the features described in previous post, particularly the
brushing.
Thanks again for the pointers.