Example usage for org.jfree.data.xy MatrixSeries update

List of usage examples for org.jfree.data.xy MatrixSeries update

Introduction

In this page you can find the example usage for org.jfree.data.xy MatrixSeries update.

Prototype

public void update(int i, int j, double mij) 

Source Link

Document

Updates the value of the specified item in this matrix series.

Usage

From source file:msi.gama.outputs.layers.charts.ChartJFreeChartOutputHeatmap.java

@Override
protected void resetSerie(final IScope scope, final String serieid) {
    // TODO Auto-generated method stub
    this.createNewSerie(scope, serieid);
    final ChartDataSeries dataserie = chartdataset.getDataSeries(scope, serieid);
    final MatrixSeries serie = ((MatrixSeriesCollection) jfreedataset
            .get(IdPosition.get(dataserie.getSerieId(scope)))).getSeries(0);
    final ArrayList<Double> XValues = dataserie.getXValues(scope);
    final ArrayList<Double> YValues = dataserie.getYValues(scope);
    final ArrayList<Double> SValues = dataserie.getSValues(scope);
    final NumberAxis domainAxis = (NumberAxis) ((XYPlot) this.chart.getPlot()).getDomainAxis();
    if (XValues.size() == 0) {
        if (!usexrangeinterval && !usexrangeminmax) {
            domainAxis.setAutoRange(false);
            domainAxis.setRange(-0.5, XValues.size() + 0.5);
        }//from  w w w .jav a2 s .c om

    }
    final NumberAxis rangeAxis = (NumberAxis) ((XYPlot) this.chart.getPlot()).getRangeAxis();
    if (YValues.size() == 0) {
        if (!useyrangeinterval && !useyrangeminmax) {
            rangeAxis.setAutoRange(false);
            rangeAxis.setRange(-0.5, YValues.size() + 0.5);
        }

    }
    //      final NumberAxis domainAxis = (NumberAxis) ((XYPlot) this.chart.getPlot()).getDomainAxis();
    //      final NumberAxis rangeAxis = (NumberAxis) ((XYPlot) this.chart.getPlot()).getRangeAxis();

    if (XValues.size() > 0) {
        domainAxis.setAutoRange(false);
        rangeAxis.setAutoRange(false);
        domainAxis.setTickLabelsVisible(this.getXTickValueVisible(scope));
        domainAxis.setTickMarksVisible(this.getXTickValueVisible(scope));
        rangeAxis.setTickLabelsVisible(this.getYTickValueVisible(scope));
        rangeAxis.setTickMarksVisible(this.getYTickValueVisible(scope));
        for (int i = 0; i < XValues.size(); i++) {

            if (XValues.get(i) > domainAxis.getUpperBound()) {
                if (!usexrangeinterval && !usexrangeminmax) {
                    domainAxis.setAutoRange(false);
                    domainAxis.setRange(-0.5, YValues.get(i) + 0.5);
                }

            }
            if (YValues.get(i) > rangeAxis.getUpperBound()) {
                if (!useyrangeinterval && !useyrangeminmax) {
                    rangeAxis.setAutoRange(false);
                    rangeAxis.setRange(-0.5, YValues.get(i) + 0.5);
                }

            }

            serie.update(YValues.get(i).intValue(), XValues.get(i).intValue(), SValues.get(i).doubleValue());
        }
    }
    this.resetRenderer(scope, serieid);

}