#275 Spider chart supporting independent axis and negative values

Martin Krauskopf

The attached patch adds support for independent axes for jfreechart-1.0.x-branch. Adding regression test for testMaxValue to keep backward compatibility.


  • Adding patch which supports also negative values for SpiderWebPlot. Tweaking issue subject to reflect this.

    • summary: Spider chart supporting independent axis --> Spider chart supporting independent axis and negative values
  • Last patch contains better origin computation.

    It ensure that origin of a spoke does not coincide with a data point with minimum value. Such data point would lost information to which spoke (axis) it belongs since it would be in the center of the spider plot, i.e. it would "belong" to all spokes.

  • patch supporting independent axes, independent origins, negative values, and ensuring non-coinciding auto-computed origin

  • Added possibility to set origins independently for each axis.

  • Martin Höller
    Martin Höller

    Hi Martin!

    I just wanted to commit your patch when I noticed, at your github repository https://github.com/mkrauskopf/jfreechart-patches/ you have a probably more up-to-date version. Could you please leave me a note what to use, the attached patch or the files from github?

    BTW, both versions have some minor problems:
    - origins and maxValues are not handled in the clone() method
    - headOutlineStroke is not handled in equals()

    Thanks for feedback,
    - martin

  • Hi Martin,

    the one on the GitHub is definitely the latest one which is able to handle everything you see there on the screenshot. It's a longer time I touched the repository. I've just committed bunch of tweaks a while ago.

    The origins, maxValues and headOutline stroke are not transient so should be cloned. I guess you are pointing to some compatibility issues. I barely recall some warnings from Effective Java by J.Bloch wrt. clone() methods (need to read that again). So I'm unsure what is the issue there. If you know how to quickly fix that, please proceed.

    equality of headOutlineStroke has been just fixed at GitHub.

    I've also committed some missing Javadoc.

    Other real problem could be that with all the new functionality there is a new semantics which is not necessarily backward compatible. So I thought that the new features should go rather to JFreeChart 1.2.0. I understood that 1.0.x is open only for bug-fixes. With that I was planned to review my own work and possibly tweak/enhance the API since I was really scratching the itches (for our project).

    Thanks for the points.

    - m.