From: sfeam <sf...@us...> - 2013-11-11 04:29:52
|
Hi all, Please have a look at this patchset on SourceForge https://sourceforge.net/p/gnuplot/patches/646/ or this demo output from the patched gnuplot http://gnuplot.sourceforge.net/demo_cvs/parallel.html Parallel axis plots are a way to explore or present correlated properties of multidimensional data. They are not so common, but that is partly because not many plotting programs offer the option. It has been a requested feature in gnuplot for quite a while. Implementation was a bit tricky. The obvious thing to do would be to allocate new axis structures as needed so that there is no limit on the number of parallel axes in the plot. The problem is that all of the macros and routines in gnuplot expect to pass or be handed an index into the global axis_array[] rather than a pointer to an arbitrary axis structure. That could be changed of course, but when I started down that route it was obvious that it would require modifying a very large number of lines of code. So instead I spent some time cutting down the memory impact of using static arrays, and then increased the size of axis_array[] and its various parallel arrays like axis_defaults[] and ticfmt[]. Currently the number of parallel axes in a plot is limited to MAX_PARALLEL_AXES = MAX_NUM_VAR = 12. I think it's all working now, but your feedback and comments are most welcome. I wonder in particular about how to autogenerate a key or other titles for this kind of plot. have fun with it, Ethan |
From: <pl...@pi...> - 2013-11-11 07:42:02
|
On 11/11/13 05:28, sfeam wrote: > Hi all, > > Please have a look at this patchset on SourceForge > https://sourceforge.net/p/gnuplot/patches/646/ > > or this demo output from the patched gnuplot > http://gnuplot.sourceforge.net/demo_cvs/parallel.html > > Parallel axis plots are a way to explore or present correlated properties > of multidimensional data. They are not so common, but that is partly > because not many plotting programs offer the option. It has been a > requested feature in gnuplot for quite a while. > > Implementation was a bit tricky. The obvious thing to do would be > to allocate new axis structures as needed so that there is no limit > on the number of parallel axes in the plot. The problem is that all > of the macros and routines in gnuplot expect to pass or be handed > an index into the global axis_array[] rather than a pointer to an > arbitrary axis structure. That could be changed of course, but when > I started down that route it was obvious that it would require modifying > a very large number of lines of code. So instead I spent some time > cutting down the memory impact of using static arrays, and then > increased the size of axis_array[] and its various parallel arrays like > axis_defaults[] and ticfmt[]. Currently the number of parallel axes > in a plot is limited to MAX_PARALLEL_AXES = MAX_NUM_VAR = 12. > > I think it's all working now, but your feedback and comments are most > welcome. I wonder in particular about how to autogenerate a key or > other titles for this kind of plot. > > have fun with it, > > Ethan > Interesting. If people have been requesting it I suppose it's a known method of presenting data. For me it's just a pretty pattern. Maybe the demo needs a link to explaining what it is and how to read it. Peter. |
From: sfeam <sf...@us...> - 2013-11-11 17:09:27
|
On Monday, 11 November 2013 08:41:50 AM pl...@pi... wrote: > On 11/11/13 05:28, sfeam wrote: > > Hi all, > > > > Please have a look at this patchset on SourceForge > > https://sourceforge.net/p/gnuplot/patches/646/ > > > > or this demo output from the patched gnuplot > > http://gnuplot.sourceforge.net/demo_cvs/parallel.html > > > > Parallel axis plots are a way to explore or present correlated properties > > of multidimensional data. They are not so common, but that is partly > > because not many plotting programs offer the option. It has been a > > requested feature in gnuplot for quite a while. > > > > Implementation was a bit tricky. The obvious thing to do would be > > to allocate new axis structures as needed so that there is no limit > > on the number of parallel axes in the plot. The problem is that all > > of the macros and routines in gnuplot expect to pass or be handed > > an index into the global axis_array[] rather than a pointer to an > > arbitrary axis structure. That could be changed of course, but when > > I started down that route it was obvious that it would require modifying > > a very large number of lines of code. So instead I spent some time > > cutting down the memory impact of using static arrays, and then > > increased the size of axis_array[] and its various parallel arrays like > > axis_defaults[] and ticfmt[]. Currently the number of parallel axes > > in a plot is limited to MAX_PARALLEL_AXES = MAX_NUM_VAR = 12. > > > > I think it's all working now, but your feedback and comments are most > > welcome. I wonder in particular about how to autogenerate a key or > > other titles for this kind of plot. > > > > have fun with it, > > > > Ethan > > > > Interesting. > > If people have been requesting it I suppose it's a known method of > presenting data. For me it's just a pretty pattern. > > Maybe the demo needs a link to explaining what it is and how to read it. There are links in the patch description on SourceForge. The article in Wikipedia is decent: http://en.wikipedia.org/wiki/Parallel_coordinates But yeah, the demo would be better if it used a real data set to illustrate a significant feature; it does say that in the demo text. So contributions of data would be welcome also. Ethan > > Peter. > > > > ------------------------------------------------------------------------------ > November Webinars for C, C++, Fortran Developers > Accelerate application performance with scalable programming models. Explore > techniques for threading, error checking, porting, and tuning. Get the most > from the latest Intel processors and coprocessors. See abstracts and register > http://pubads.g.doubleclick.net/gampad/clk?id=60136231&iu=/4140/ostg.clktrk > _______________________________________________ > gnuplot-beta mailing list > gnu...@li... > Membership management via: https://lists.sourceforge.net/lists/listinfo/gnuplot-beta |