Example usage for org.jfree.chart.plot XYPlot setRenderer

List of usage examples for org.jfree.chart.plot XYPlot setRenderer

Introduction

In this page you can find the example usage for org.jfree.chart.plot XYPlot setRenderer.

Prototype

public void setRenderer(int index, XYItemRenderer renderer) 

Source Link

Document

Sets the renderer for the dataset with the specified index and sends a change event to all registered listeners.

Usage

From source file:fi.smaa.jsmaa.gui.views.CriterionView.java

private JPanel buildValueFunctionChartPanel(ScaleCriterion criterion) {
    UtilityFunctionDataset dataset = new UtilityFunctionDataset(criterion);

    JFreeChart chart = ChartFactory.createXYLineChart("", "x", "v(x)", dataset, PlotOrientation.VERTICAL, false,
            true, true);/*from ww  w  .  j  ava  2 s .  co m*/

    final XYPlot plot = chart.getXYPlot();
    XYLineAndShapeRenderer renderer = new XYLineAndShapeRenderer();
    plot.setRenderer(0, renderer);
    renderer.setSeriesPaint(0, Color.black);
    renderer.setSeriesShape(0, ShapeUtilities.createDiamond(3.0f));
    renderer.setBaseToolTipGenerator(new StandardXYToolTipGenerator());

    ValueAxis rAxis = plot.getRangeAxis();
    rAxis.setAutoRange(false);
    rAxis.setRange(new Range(-0.03, 1.03));
    ValueAxis dAxis = plot.getDomainAxis();
    dAxis.setLowerMargin(0.03);
    dAxis.setUpperMargin(0.03);

    ChartPanel chartPanel = new ChartPanel(chart, false, true, true, false, true);
    chartPanel.addChartMouseListener(new ValueFunctionMouseListener(chartPanel, criterion, parent));

    chartPanel.setDomainZoomable(false);
    chartPanel.setRangeZoomable(false);
    chartPanel.setDisplayToolTips(true);
    chartPanel.setToolTipText("Click to add/remove partial value function points");
    chartPanel.setMouseWheelEnabled(false);
    chartPanel.setMouseZoomable(false);

    plot.setDomainCrosshairLockedOnData(false);
    plot.setRangeCrosshairLockedOnData(false);
    plot.setDomainCrosshairVisible(true);
    plot.setRangeCrosshairVisible(true);

    FormLayout layout = new FormLayout("left:pref", "p, 3dlu, p");

    PanelBuilder builder = new PanelBuilder(layout);
    CellConstraints cc = new CellConstraints();
    builder.add(chartPanel, cc.xy(1, 1));
    builder.add(new ValueFunctionPointsPanel(criterion), cc.xy(1, 3));

    return builder.getPanel();
}

From source file:org.mwc.debrief.sensorfusion.views.MouseClickSolutionDemo.java

private void fixProblem(final XYPlot plot) {
    for (int i = 0; i < plot.getRendererCount(); i++) {
        final XYItemRenderer renderer = plot.getRenderer(i);
        final XYItemRenderer fixed = XYLineAndShapeRendererFix.newFixedVersion(renderer);
        if (renderer != fixed) {
            plot.setRenderer(i, fixed);
        }//from   w w  w .java2s.  c  o  m
    }
}

From source file:org.jfree.chart.demo.PriceVolumeDemo2.java

private static JFreeChart createChart() {
    OHLCDataset ohlcdataset = createPriceDataset();
    String s = "Sun Microsystems (SUNW)";
    JFreeChart jfreechart = ChartFactory.createHighLowChart(s, "Date", "Price", ohlcdataset, true);
    XYPlot xyplot = (XYPlot) jfreechart.getPlot();
    DateAxis dateaxis = (DateAxis) xyplot.getDomainAxis();
    dateaxis.setLowerMargin(0.01D);/*from  w  ww . j  a  v  a2 s . c  om*/
    dateaxis.setUpperMargin(0.01D);
    NumberAxis numberaxis = (NumberAxis) xyplot.getRangeAxis();
    numberaxis.setLowerMargin(0.59999999999999998D);
    numberaxis.setAutoRangeIncludesZero(false);
    XYItemRenderer xyitemrenderer = xyplot.getRenderer();
    xyitemrenderer.setBaseToolTipGenerator(new StandardXYToolTipGenerator("{0}: ({1}, {2})",
            new SimpleDateFormat("d-MMM-yyyy"), new DecimalFormat("0.00")));
    NumberAxis numberaxis1 = new NumberAxis("Volume");
    numberaxis1.setUpperMargin(1.0D);
    xyplot.setRangeAxis(1, numberaxis1);
    xyplot.setDataset(1, createVolumeDataset());
    xyplot.setRangeAxis(1, numberaxis1);
    xyplot.mapDatasetToRangeAxis(1, 1);
    XYBarRenderer xybarrenderer = new XYBarRenderer();
    xybarrenderer.setDrawBarOutline(false);
    xybarrenderer.setBaseToolTipGenerator(new StandardXYToolTipGenerator("{0}: ({1}, {2})",
            new SimpleDateFormat("d-MMM-yyyy"), new DecimalFormat("0,000.00")));
    xyplot.setRenderer(1, xybarrenderer);
    ChartUtilities.applyCurrentTheme(jfreechart);
    xybarrenderer.setShadowVisible(false);
    xybarrenderer.setBarPainter(new StandardXYBarPainter());
    return jfreechart;
}

From source file:grafix.graficos.indices.IndiceBollinger.java

@Override
public void plotar(final XYPlot plot, final JanelaGraficos janela, final int contador) {
    float[] color = getCor().getComponents(null);
    XYDifferenceRenderer r = new XYDifferenceRenderer(new Color(color[0], color[1], color[2], .1f), Color.red,
            false);/*from  w w w .java 2  s  .  c o m*/
    r.setStroke(new BasicStroke(.75f));
    r.setPaint(getCor());
    plot.setRenderer(contador, r);
    plot.setDataset(contador, getDataSet(janela));
}

From source file:com.romraider.logger.ecu.ui.handler.graph.GraphUpdateHandler.java

private synchronized void addToCombined(LoggerData loggerData) {
    if (combinedChartPanel == null) {
        combinedChartPanel = new ChartPanel(createXYLineChart(loggerData, null, true), false, true, true, true,
                true);/* w  ww.j  a  v  a2s. co  m*/
        LegendTitle legendTitle = new LegendTitle(combinedChartPanel.getChart().getXYPlot());
        legendTitle.setItemPaint(WHITE);
        combinedChartPanel.getChart().addLegend(legendTitle);
        combinedChartPanel.setMinimumSize(new Dimension(500, 400));
        combinedChartPanel.setPreferredSize(new Dimension(500, 400));
        graphPanel.add(combinedChartPanel);
    }
    XYPlot plot = combinedChartPanel.getChart().getXYPlot();
    plot.setDataset(counter, new XYSeriesCollection(seriesMap.get(loggerData)));
    plot.setRenderer(counter, new StandardXYItemRenderer());
    datasetIndexes.put(loggerData, counter++);
}

From source file:org.amanzi.awe.charts.builder.TimeChartBuilder.java

@Override
protected void setSecondAxisForPlot(XYPlot plot, Dataset dataset, StandardXYItemRenderer subRenderer,
        NumberAxis secondAxis) {//from  w  ww. j a  v  a  2s .c o  m
    plot.setRangeAxis(1, secondAxis);
    plot.setDataset(1, (XYDataset) dataset);
    plot.mapDatasetToRangeAxis(1, 1);
    plot.setDatasetRenderingOrder(DatasetRenderingOrder.REVERSE);
    plot.setRenderer(1, subRenderer);

}

From source file:org.encog.workbench.dialogs.validate.ResultValidationChart.java

private void drawGraphs(ArrayList<XYSeries> validation, ArrayList<XYSeries> computation) {
    // Add charts
    int size = validation.size();
    for (int i = 0; i < size; i++) {
        XYSeries vSeries = validation.get(i);
        XYSeries cSeries = computation.get(i);
        JFreeChart chart = charts.get(i);
        ChartPanel chartPanel = chartPanels.get(i);

        XYPlot plot = chart.getXYPlot();
        plot.setDataset(0, new XYSeriesCollection(vSeries));
        final XYItemRenderer renderer1 = new StandardXYItemRenderer();
        renderer1.setSeriesPaint(0, Color.blue);
        plot.setRenderer(0, renderer1);

        plot.setDataset(1, new XYSeriesCollection(cSeries));
        final XYItemRenderer renderer2 = new StandardXYItemRenderer();
        renderer2.setSeriesPaint(0, Color.red);
        plot.setRenderer(1, renderer2);// www . j a v a2 s  . c o  m

        ChartUtilities.applyCurrentTheme(chart);

        tabs.addTab("Ideal" + (i + 1), chartPanel);
    }
}

From source file:graph.MySensorPanel.java

/**
 * Creates a new self-contained demo panel.
 */// w  w  w .j a  v  a 2 s.c  o  m
public MySensorPanel(String header_str) {
    //super(new BorderLayout());
    this.series1 = new TimeSeries("Temperature");
    this.series2 = new TimeSeries("Humidity");
    TimeSeriesCollection dataset1 = new TimeSeriesCollection(this.series1);
    TimeSeriesCollection dataset2 = new TimeSeriesCollection(this.series2);

    JFreeChart chart = ChartFactory.createTimeSeriesChart(header_str, "Time", "C", dataset1, true, true,
            false);

    /*this.addChart(chart);*/

    XYPlot plot = (XYPlot) chart.getPlot();
    ValueAxis axis = plot.getDomainAxis();
    axis.setAutoRange(true);
    axis.setFixedAutoRange(1000.0 * 60 * 60 /* 24*/); // 24 hrs

    plot.setDataset(1, dataset2);
    NumberAxis rangeAxis2 = new NumberAxis("%");
    rangeAxis2.setAutoRangeIncludesZero(false);
    plot.setRenderer(1, new DefaultXYItemRenderer());
    plot.setRangeAxis(1, rangeAxis2);
    plot.mapDatasetToRangeAxis(1, 1);

    ChartUtilities.applyCurrentTheme(chart);
    plot.setBackgroundPaint(Color.DARK_GRAY);
    plot.setDomainGridlinePaint(Color.white);
    plot.setRangeGridlinePaint(Color.white);

    chartPanel = new ChartPanel(chart);
}

From source file:ec.ui.view.RevisionSaSeriesView.java

private JFreeChart createMainChart() {
    XYPlot plot = new XYPlot();
    configureAxis(plot);//from ww  w .ja  v  a 2s  .  co  m

    plot.setRenderer(S_INDEX, sRenderer);

    plot.setRenderer(REV_INDEX, revRenderer);

    plot.setNoDataMessage("Not enough data to compute revision history !");
    JFreeChart result = new JFreeChart("", TsCharts.CHART_TITLE_FONT, plot, false);
    result.setPadding(TsCharts.CHART_PADDING);
    return result;
}

From source file:org.jfree.chart.demo.TimePeriodValuesDemo.java

/**
 * A demonstration application showing how to....
 *
 * @param title  the frame title.//from   w w w .  j  a  va 2 s.  c  om
 */
public TimePeriodValuesDemo(final String title) {

    super(title);

    final XYDataset data1 = createDataset1();
    final XYItemRenderer renderer1 = new XYBarRenderer();

    final DateAxis domainAxis = new DateAxis("Date");
    domainAxis.setVerticalTickLabels(true);
    domainAxis.setTickUnit(new DateTickUnit(DateTickUnit.HOUR, 1));
    domainAxis.setDateFormatOverride(new SimpleDateFormat("hh:mm"));
    domainAxis.setLowerMargin(0.01);
    domainAxis.setUpperMargin(0.01);
    final ValueAxis rangeAxis = new NumberAxis("Value");

    final XYPlot plot = new XYPlot(data1, domainAxis, rangeAxis, renderer1);

    final XYDataset data2 = createDataset2();
    final StandardXYItemRenderer renderer2 = new StandardXYItemRenderer(
            StandardXYItemRenderer.SHAPES_AND_LINES);
    renderer2.setShapesFilled(true);

    plot.setDataset(1, data2);
    plot.setRenderer(1, renderer2);

    final JFreeChart chart = new JFreeChart("Supply and Demand", plot);
    final ChartPanel chartPanel = new ChartPanel(chart);
    chartPanel.setPreferredSize(new java.awt.Dimension(500, 270));
    chartPanel.setMouseZoomable(true, false);
    setContentPane(chartPanel);

}