java - Gridlines above chart in JFreeChart -


is possible retrieve rangeaxis-values barchart? have manage draw new gridlines(markers) this:

enter image description here

but need know values pressent chart in value-axis able draw lines. ideas how value on "value"-axis?(rangeaxis)

public class barchartdemo extends applicationframe {      /**      * creates new demo instance.      *      * @param title  frame title.      */     public barchartdemo(final string title) {         super(title);         final categorydataset dataset = createdataset();         final jfreechart chart = createchart(dataset);         final chartpanel chartpanel = new chartpanel(chart);         chartpanel.setpreferredsize(new dimension(500, 270));         setcontentpane(chartpanel);     }      /**      * returns sample dataset.      *       * @return dataset.      */     private categorydataset createdataset() {          // row keys...         final string series1 = "first";          // column keys...         final string category1 = "category 1";         final string category2 = "category 2";         final string category3 = "category 3";          // create dataset...         final defaultcategorydataset dataset = new defaultcategorydataset();          dataset.addvalue(3.5, series1, category1);         dataset.addvalue(4.0, series1, category2);         dataset.addvalue(3.0, series1, category3);         return dataset;     }      /**      * creates sample chart.      *       * @param dataset  dataset.      *       * @return chart.      */     private jfreechart createchart(final categorydataset dataset) {          // create chart...         final jfreechart chart = chartfactory.createbarchart(             "bar chart demo",         // chart title             "category",               // domain axis label             "value",                  // range axis label             dataset,                  // data             plotorientation.vertical, // orientation             false,                     // include legend             false,                     // tooltips?             false                     // urls?         );         categoryplot plot = chart.getcategoryplot();         plot.getdomainaxis().setcategorymargin(.01);          plot.setrangegridlinesvisible(false);         for(int i=1; i<=4; i++){             marker marker = new valuemarker(i);             marker.setstroke(new basicstroke(                     1.0f, basicstroke.cap_round, basicstroke.join_round,                     1.0f, new float[] {3.0f, 8.0f}, 0.0f                 ));             marker.setpaint(new color(224,224,224));             plot.addrangemarker(marker);         }          return chart;     }      public static void main(final string[] args) {         final barchartdemo demo = new barchartdemo("bar chart demo");         demo.pack();         demo.setvisible(true);     } } 

it looks able leverage addrangemarker() in way similar domain example. 1 way match markers , tick units specify tickunitsource includes chosen markers:

numberaxis range = (numberaxis) plot.getrangeaxis(); range.setstandardtickunits(numberaxis.createintegertickunits()); 

if need custom source, can model on createintegertickunits() or createstandardtickunits().


Comments