Example usage for org.jfree.chart.renderer.category CategoryItemRenderer setSeriesOutlinePaint

List of usage examples for org.jfree.chart.renderer.category CategoryItemRenderer setSeriesOutlinePaint

Introduction

In this page you can find the example usage for org.jfree.chart.renderer.category CategoryItemRenderer setSeriesOutlinePaint.

Prototype

public void setSeriesOutlinePaint(int series, Paint paint);

Source Link

Document

Sets the paint used for a series outline and sends a RendererChangeEvent to all registered listeners.

Usage

From source file:edu.ku.brc.specify.plugins.ipadexporter.ChartHelper.java

/**
 * @param list//from  w w w  .ja  v  a2s .co  m
 * @param title
 * @param xAxisTitle
 * @param yAxisTitle
 * @param isVertical
 * @param width
 * @param height
 */
public JFreeChart createLineChart(final List<Object> list, final String title, final String xAxisTitle,
        final String yAxisTitle, final boolean isVertical, final int width, final int height) {
    DefaultCategoryDataset catDataSet = new DefaultCategoryDataset();
    for (int i = 0; i < list.size(); i++) {
        Object xVal = list.get(i++);
        Object yVal = list.get(i);

        double xv = getDbl(xVal);
        numMin = Math.min(numMin, xv);
        numMax = Math.max(numMax, xv);

        catDataSet.addValue(getDbl(yVal), "X", xVal.toString());
    }

    /*XYDataset dataset = createXYDataSet(list);
    JFreeChart chart = ChartFactory.createXYLineChart( 
        title,      // chart title 
        xAxisTitle, // domain axis label 
        yAxisTitle, // range axis label 
        dataset,    // data 
        isVertical ? PlotOrientation.VERTICAL : PlotOrientation.HORIZONTAL, 
        false,       // include legend 
        true,       // tooltips? 
        false       // URLs? 
    ); 
            
    XYPlot xyplot = chart.getXYPlot();
    NumberAxis numberAxis = (NumberAxis) xyplot.getDomainAxis();
    numberAxis.setRange(numMin, numMax);
            
    //ValueAxis axis = xyplot.getDomainAxis();
    //axis = xyplot.getRangeAxis();
    //((NumberAxis) axis).setTickUnit(new NumberTickUnit(1));
    //axis.setRange(1870,2010);*/

    /*
    JFreeChart jfreechart = ChartFactory.createLineChart3D(
        title, 
        xAxisTitle, 
        yAxisTitle, 
        catDataSet, 
        PlotOrientation.VERTICAL, 
        false, 
        true, 
        false);
    jfreechart.setBackgroundPaint(new Color(187, 187, 221));
    CategoryPlot categoryplot = (CategoryPlot)jfreechart.getPlot();
            
    NumberAxis numberaxis = (NumberAxis)categoryplot.getRangeAxis();
    numberaxis.setAutoRangeIncludesZero(false);
    numberaxis.setStandardTickUnits(NumberAxis.createIntegerTickUnits());
            
    CategoryItemRenderer renderer = categoryplot.getRenderer(); 
    renderer.setSeriesPaint(0, new Color(95, 158, 160)); 
    renderer.setSeriesOutlinePaint(0, Color.DARK_GRAY); 
    */
    JFreeChart jfreechart = ChartFactory.createLineChart(title, xAxisTitle, yAxisTitle, catDataSet,
            PlotOrientation.VERTICAL, false, true, false);

    CategoryPlot categoryplot = (CategoryPlot) jfreechart.getPlot();
    categoryplot.setRangeGridlinePaint(Color.DARK_GRAY);
    categoryplot.setBackgroundPaint(null);

    NumberAxis numberaxis = (NumberAxis) categoryplot.getRangeAxis();
    numberaxis.setAutoRangeIncludesZero(false);
    numberaxis.setStandardTickUnits(NumberAxis.createIntegerTickUnits());

    CategoryItemRenderer renderer = categoryplot.getRenderer();
    renderer.setSeriesPaint(0, new Color(95, 158, 160));
    renderer.setSeriesOutlinePaint(0, Color.DARK_GRAY);

    BasicStroke lineStroke = new BasicStroke(3.0f, BasicStroke.CAP_ROUND, BasicStroke.JOIN_ROUND);
    renderer.setBaseStroke(lineStroke);
    renderer.setBaseOutlineStroke(lineStroke);
    renderer.setSeriesStroke(0, lineStroke);

    //renderer.setOutlineStroke(lineStroke);
    //renderer.setStroke(lineStroke);

    return jfreechart;
}

From source file:keel.Algorithms.UnsupervisedLearning.AssociationRules.Visualization.keelassotiationrulesbarchart.ResultsProccessor.java

public void writeToFile(String outName)
        throws FileNotFoundException, UnsupportedEncodingException, IOException {
    calcMeans();// w w w  . ja  v  a  2s.com
    calcAvgRulesBySeed();

    // Create JFreeChart Dataset
    DefaultCategoryDataset dataset = new DefaultCategoryDataset();

    HashMap<String, Double> measuresFirst = algorithmMeasures.entrySet().iterator().next().getValue();
    for (Map.Entry<String, Double> measure : measuresFirst.entrySet()) {
        String measureName = measure.getKey();
        //Double measureValue = measure.getValue();
        dataset.clear();

        for (Map.Entry<String, HashMap<String, Double>> entry : algorithmMeasures.entrySet()) {
            String alg = entry.getKey();
            Double measureValue = entry.getValue().get(measureName);

            // Parse algorithm name to show it correctly
            String aName = alg.substring(0, alg.length() - 1);
            int startAlgName = aName.lastIndexOf("/");
            aName = aName.substring(startAlgName + 1);

            dataset.addValue(measureValue, aName, measureName);

            ChartFactory.setChartTheme(StandardChartTheme.createLegacyTheme());
            JFreeChart barChart = ChartFactory.createBarChart("Assotiation Rules Measures", measureName,
                    measureName, dataset, PlotOrientation.VERTICAL, true, true, false);
            StandardChartTheme.createLegacyTheme().apply(barChart);

            CategoryItemRenderer renderer = barChart.getCategoryPlot().getRenderer();

            // Black and White
            int numItems = algorithmMeasures.size();
            for (int i = 0; i < numItems; i++) {
                Color color = Color.DARK_GRAY;
                if (i % 2 == 1) {
                    color = Color.LIGHT_GRAY;
                }
                renderer.setSeriesPaint(i, color);
                renderer.setSeriesOutlinePaint(i, Color.BLACK);
            }

            int width = 640 * 2; /* Width of the image */
            int height = 480 * 2; /* Height of the image */

            // JPEG
            File BarChart = new File(outName + "_" + measureName + "_barchart.jpg");
            ChartUtilities.saveChartAsJPEG(BarChart, barChart, width, height);

            // SVG
            SVGGraphics2D g2 = new SVGGraphics2D(width, height);
            Rectangle r = new Rectangle(0, 0, width, height);
            barChart.draw(g2, r);
            File BarChartSVG = new File(outName + "_" + measureName + "_barchart.svg");
            SVGUtils.writeToSVG(BarChartSVG, g2.getSVGElement());
        }
    }
    /*
    for (Map.Entry<String, HashMap<String, Double>> entry : algorithmMeasures.entrySet())
    {
    String alg = entry.getKey();
    HashMap<String, Double> measures = entry.getValue();
            
    for (Map.Entry<String, Double> entry1 : measures.entrySet())
    {
        String measureName = entry1.getKey();
        Double measureValue = entry1.getValue();
                
        dataset.addValue(measureValue, alg, measureName);
    }
    }
        */

}

From source file:net.sf.fspdfs.chartthemes.spring.AegeanChartTheme.java

/**
 *
 *///from w ww .jav a2  s  .com
protected void configurePlot(Plot plot, JRChartPlot jrPlot) {

    super.configurePlot(plot, jrPlot);

    if (plot instanceof CategoryPlot) {
        CategoryPlot categoryPlot = (CategoryPlot) plot;
        CategoryItemRenderer categoryRenderer = categoryPlot.getRenderer();
        CategoryDataset categoryDataset = categoryPlot.getDataset();
        if (categoryDataset != null) {
            for (int i = 0; i < categoryDataset.getRowCount(); i++) {
                categoryRenderer.setSeriesOutlinePaint(i, ChartThemesConstants.TRANSPARENT_PAINT);
            }
        }
        categoryPlot.setRangeGridlinePaint(ChartThemesConstants.GRAY_PAINT_217);
        categoryPlot.setRangeGridlineStroke(new BasicStroke(0.5f));
        categoryPlot.setDomainGridlinesVisible(false);
        categoryPlot.getDomainAxis().setCategoryLabelPositions(CategoryLabelPositions.UP_45);
    } else if (plot instanceof XYPlot) {
        XYPlot xyPlot = (XYPlot) plot;
        XYItemRenderer xyItemRenderer = xyPlot.getRenderer();
        XYDataset xyDataset = xyPlot.getDataset();
        if (xyDataset != null) {
            for (int i = 0; i < xyDataset.getSeriesCount(); i++) {
                xyItemRenderer.setSeriesOutlinePaint(i, ChartThemesConstants.TRANSPARENT_PAINT);
            }
        }
        xyPlot.setRangeGridlinePaint(ChartThemesConstants.GRAY_PAINT_217);
        xyPlot.setRangeGridlineStroke(new BasicStroke(0.5f));
        xyPlot.setDomainGridlinesVisible(false);
        xyPlot.setRangeZeroBaselineVisible(true);
    }
}

From source file:net.sf.jasperreports.chartthemes.spring.AegeanChartTheme.java

@Override
protected void configurePlot(Plot plot, JRChartPlot jrPlot) {

    super.configurePlot(plot, jrPlot);

    if (plot instanceof CategoryPlot) {
        CategoryPlot categoryPlot = (CategoryPlot) plot;
        CategoryItemRenderer categoryRenderer = categoryPlot.getRenderer();
        CategoryDataset categoryDataset = categoryPlot.getDataset();
        if (categoryDataset != null) {
            for (int i = 0; i < categoryDataset.getRowCount(); i++) {
                categoryRenderer.setSeriesOutlinePaint(i, ChartThemesConstants.TRANSPARENT_PAINT);
            }//  w  w w  .  j a  va2 s  .  com
        }
        categoryPlot.setRangeGridlinePaint(ChartThemesConstants.GRAY_PAINT_217);
        categoryPlot.setRangeGridlineStroke(new BasicStroke(0.5f));
        categoryPlot.setDomainGridlinesVisible(false);
        categoryPlot.getDomainAxis().setCategoryLabelPositions(CategoryLabelPositions.UP_45);
    } else if (plot instanceof XYPlot) {
        XYPlot xyPlot = (XYPlot) plot;
        XYItemRenderer xyItemRenderer = xyPlot.getRenderer();
        XYDataset xyDataset = xyPlot.getDataset();
        if (xyDataset != null) {
            for (int i = 0; i < xyDataset.getSeriesCount(); i++) {
                xyItemRenderer.setSeriesOutlinePaint(i, ChartThemesConstants.TRANSPARENT_PAINT);
            }
        }
        xyPlot.setRangeGridlinePaint(ChartThemesConstants.GRAY_PAINT_217);
        xyPlot.setRangeGridlineStroke(new BasicStroke(0.5f));
        xyPlot.setDomainGridlinesVisible(false);
        xyPlot.setRangeZeroBaselineVisible(true);
    }
}

From source file:com.artnaseef.jmeter.report.ResultCodesStackedReport.java

protected void createChart() {
    // create the chart...
    this.chart = ChartFactory.createStackedBarChart("Average Result Codes per Second", // chart title
            this.yAxisLabel, // x axis label
            "Samples", // y axis label
            dataset, // data
            PlotOrientation.VERTICAL, true, // include legend
            true, // tooltips
            false // urls
    );/*from ww w.j a v a 2  s.c  om*/

    //
    // Adjust colors for the chart.
    //
    CategoryPlot categoryPlot;
    categoryPlot = (CategoryPlot) this.chart.getPlot();
    categoryPlot.setBackgroundPaint(Color.WHITE);
    categoryPlot.setDomainGridlinePaint(Color.BLACK);
    categoryPlot.setRangeGridlinePaint(Color.BLACK);

    //
    // Customize the bar colors.
    //
    CategoryItemRenderer renderer = this.chart.getCategoryPlot().getRenderer();
    List rowKeys = this.dataset.getRowKeys();

    int cur = 0;
    Map<Integer, Integer> colorAdjustMap = new HashMap<>();
    while (cur < rowKeys.size()) {
        Integer resultCode = (Integer) rowKeys.get(cur);

        Color color;
        int group = resultCode / 100;
        switch (group) {
        case 2:
            color = Color.GREEN;
            break;

        case 3:
            color = Color.BLUE;
            break;

        case 4:
            color = Color.ORANGE;
            break;

        case 5:
            color = Color.RED;
            break;

        default:
            color = Color.GRAY;
            break;
        }

        color = this.adjustColor(colorAdjustMap, group, color);

        renderer.setSeriesPaint(cur, color);
        renderer.setSeriesOutlinePaint(cur, Color.BLACK);

        cur++;
    }
}

From source file:net.sf.fspdfs.chartthemes.spring.EyeCandySixtiesChartTheme.java

/**
 *
 *//*from   ww w  .  j a v  a 2  s  .  com*/
protected void configurePlot(Plot plot, JRChartPlot jrPlot) {
    super.configurePlot(plot, jrPlot);
    if (plot instanceof CategoryPlot) {
        CategoryPlot categoryPlot = (CategoryPlot) plot;
        CategoryItemRenderer categoryRenderer = categoryPlot.getRenderer();
        CategoryDataset categoryDataset = categoryPlot.getDataset();
        if (categoryDataset != null) {
            for (int i = 0; i < categoryDataset.getRowCount(); i++) {
                categoryRenderer.setSeriesOutlinePaint(i, ChartThemesConstants.TRANSPARENT_PAINT);
            }
        }
        categoryPlot.setRangeGridlinePaint(ChartThemesConstants.GRAY_PAINT_134);
        categoryPlot.setRangeGridlineStroke(new BasicStroke(1f));
        categoryPlot.setDomainGridlinesVisible(false);

    } else if (plot instanceof XYPlot) {
        XYPlot xyPlot = (XYPlot) plot;
        XYDataset xyDataset = xyPlot.getDataset();
        if (xyDataset != null) {
            XYItemRenderer xyItemRenderer = xyPlot.getRenderer();
            for (int i = 0; i < xyDataset.getSeriesCount(); i++) {
                xyItemRenderer.setSeriesOutlinePaint(i, ChartThemesConstants.TRANSPARENT_PAINT);
            }
        }
        xyPlot.setRangeGridlinePaint(ChartThemesConstants.GRAY_PAINT_134);
        xyPlot.setRangeGridlineStroke(new BasicStroke(1f));
        xyPlot.setDomainGridlinesVisible(false);

        xyPlot.setRangeZeroBaselineVisible(true);

    }
}

From source file:net.sf.jasperreports.chartthemes.spring.EyeCandySixtiesChartTheme.java

@Override
protected void configurePlot(Plot plot, JRChartPlot jrPlot) {
    super.configurePlot(plot, jrPlot);
    if (plot instanceof CategoryPlot) {
        CategoryPlot categoryPlot = (CategoryPlot) plot;
        CategoryItemRenderer categoryRenderer = categoryPlot.getRenderer();
        CategoryDataset categoryDataset = categoryPlot.getDataset();
        if (categoryDataset != null) {
            for (int i = 0; i < categoryDataset.getRowCount(); i++) {
                categoryRenderer.setSeriesOutlinePaint(i, ChartThemesConstants.TRANSPARENT_PAINT);
            }//from   w w  w.j  a va2  s  .  c  o  m
        }
        categoryPlot.setRangeGridlinePaint(ChartThemesConstants.GRAY_PAINT_134);
        categoryPlot.setRangeGridlineStroke(new BasicStroke(1f));
        categoryPlot.setDomainGridlinesVisible(false);

    } else if (plot instanceof XYPlot) {
        XYPlot xyPlot = (XYPlot) plot;
        XYDataset xyDataset = xyPlot.getDataset();
        if (xyDataset != null) {
            XYItemRenderer xyItemRenderer = xyPlot.getRenderer();
            for (int i = 0; i < xyDataset.getSeriesCount(); i++) {
                xyItemRenderer.setSeriesOutlinePaint(i, ChartThemesConstants.TRANSPARENT_PAINT);
            }
        }
        xyPlot.setRangeGridlinePaint(ChartThemesConstants.GRAY_PAINT_134);
        xyPlot.setRangeGridlineStroke(new BasicStroke(1f));
        xyPlot.setDomainGridlinesVisible(false);

        xyPlot.setRangeZeroBaselineVisible(true);

    }
}

From source file:net.sf.fspdfs.chartthemes.simple.SimpleChartTheme.java

protected void handleCategoryPlotSettings(CategoryPlot p, JRChartPlot jrPlot) {
    PlotSettings plotSettings = getPlotSettings();
    Double themeLabelRotation = plotSettings.getLabelRotation();
    // Handle rotation of the category labels.
    CategoryAxis axis = p.getDomainAxis();
    boolean hasRotation = jrPlot.getLabelRotationDouble() != null || themeLabelRotation != null;
    if (hasRotation) {
        double labelRotation = jrPlot.getLabelRotationDouble() != null
                ? jrPlot.getLabelRotationDouble().doubleValue()
                : themeLabelRotation.doubleValue();

        if (labelRotation == 90) {
            axis.setCategoryLabelPositions(CategoryLabelPositions.DOWN_90);
        } else if (labelRotation == -90) {
            axis.setCategoryLabelPositions(CategoryLabelPositions.UP_90);
        } else if (labelRotation < 0) {
            axis.setCategoryLabelPositions(
                    CategoryLabelPositions.createUpRotationLabelPositions((-labelRotation / 180.0) * Math.PI));
        } else if (labelRotation > 0) {
            axis.setCategoryLabelPositions(
                    CategoryLabelPositions.createDownRotationLabelPositions((labelRotation / 180.0) * Math.PI));
        }/*from   w w  w .j a va 2 s  . co  m*/
    }

    PlotOrientation plotOrientation = jrPlot.getOrientation() != null ? jrPlot.getOrientation()
            : plotSettings.getOrientation();
    if (plotOrientation != null) {
        p.setOrientation(plotOrientation);
    }

    CategoryItemRenderer categoryRenderer = p.getRenderer();
    Paint[] paintSequence = getPaintSequence(plotSettings, jrPlot);
    if (paintSequence != null) {
        for (int i = 0; i < paintSequence.length; i++) {
            categoryRenderer.setSeriesPaint(i, paintSequence[i]);
        }
    }
    Paint[] outlinePaintSequence = getOutlinePaintSequence(plotSettings);
    if (outlinePaintSequence != null) {
        for (int i = 0; i < outlinePaintSequence.length; i++) {
            categoryRenderer.setSeriesOutlinePaint(i, outlinePaintSequence[i]);
        }
    }
    Stroke[] strokeSequence = getStrokeSequence(plotSettings);
    if (strokeSequence != null) {
        for (int i = 0; i < strokeSequence.length; i++) {
            categoryRenderer.setSeriesStroke(i, strokeSequence[i]);
        }
    }
    Stroke[] outlineStrokeSequence = getOutlineStrokeSequence(plotSettings);
    if (outlineStrokeSequence != null) {
        for (int i = 0; i < outlineStrokeSequence.length; i++) {
            categoryRenderer.setSeriesOutlineStroke(i, outlineStrokeSequence[i]);
        }
    }

    Boolean domainGridlineVisible = plotSettings.getDomainGridlineVisible();
    if (domainGridlineVisible == null || domainGridlineVisible.booleanValue()) {
        PaintProvider domainGridlinePaint = plotSettings.getDomainGridlinePaint();
        if (domainGridlinePaint != null) {
            p.setDomainGridlinePaint(domainGridlinePaint.getPaint());
        }
        Stroke domainGridlineStroke = plotSettings.getDomainGridlineStroke();
        if (domainGridlineStroke != null) {
            p.setDomainGridlineStroke(domainGridlineStroke);
        }

    }
    Boolean rangeGridlineVisible = plotSettings.getRangeGridlineVisible();
    if (rangeGridlineVisible == null || rangeGridlineVisible.booleanValue()) {
        PaintProvider rangeGridlinePaint = plotSettings.getRangeGridlinePaint();
        if (rangeGridlinePaint != null) {
            p.setRangeGridlinePaint(rangeGridlinePaint.getPaint());
        }
        Stroke rangeGridlineStroke = plotSettings.getRangeGridlineStroke();
        if (rangeGridlineStroke != null) {
            p.setRangeGridlineStroke(rangeGridlineStroke);
        }
    }
}

From source file:net.sf.jasperreports.chartthemes.simple.SimpleChartTheme.java

protected void handleCategoryPlotSettings(CategoryPlot p, JRChartPlot jrPlot) {
    PlotSettings plotSettings = getPlotSettings();
    Double themeLabelRotation = plotSettings.getLabelRotation();
    // Handle rotation of the category labels.
    CategoryAxis axis = p.getDomainAxis();
    boolean hasRotation = jrPlot.getLabelRotationDouble() != null || themeLabelRotation != null;
    if (hasRotation) {
        double labelRotation = jrPlot.getLabelRotationDouble() != null ? jrPlot.getLabelRotationDouble()
                : themeLabelRotation;//from   w ww  .  jav  a2 s. c  om

        if (labelRotation == 90) {
            axis.setCategoryLabelPositions(CategoryLabelPositions.DOWN_90);
        } else if (labelRotation == -90) {
            axis.setCategoryLabelPositions(CategoryLabelPositions.UP_90);
        } else if (labelRotation < 0) {
            axis.setCategoryLabelPositions(
                    CategoryLabelPositions.createUpRotationLabelPositions((-labelRotation / 180.0) * Math.PI));
        } else if (labelRotation > 0) {
            axis.setCategoryLabelPositions(
                    CategoryLabelPositions.createDownRotationLabelPositions((labelRotation / 180.0) * Math.PI));
        }
    }

    PlotOrientation plotOrientation = jrPlot.getOrientationValue() != null
            ? jrPlot.getOrientationValue().getOrientation()
            : plotSettings.getOrientation();
    if (plotOrientation != null) {
        p.setOrientation(plotOrientation);
    }

    CategoryItemRenderer categoryRenderer = p.getRenderer();
    Paint[] paintSequence = getPaintSequence(plotSettings, jrPlot);
    if (paintSequence != null) {
        for (int i = 0; i < paintSequence.length; i++) {
            categoryRenderer.setSeriesPaint(i, paintSequence[i]);
        }
    }
    Paint[] outlinePaintSequence = getOutlinePaintSequence(plotSettings);
    if (outlinePaintSequence != null) {
        for (int i = 0; i < outlinePaintSequence.length; i++) {
            categoryRenderer.setSeriesOutlinePaint(i, outlinePaintSequence[i]);
        }
    }
    Stroke[] strokeSequence = getStrokeSequence(plotSettings);
    if (strokeSequence != null) {
        for (int i = 0; i < strokeSequence.length; i++) {
            categoryRenderer.setSeriesStroke(i, strokeSequence[i]);
        }
    }
    Stroke[] outlineStrokeSequence = getOutlineStrokeSequence(plotSettings);
    if (outlineStrokeSequence != null) {
        for (int i = 0; i < outlineStrokeSequence.length; i++) {
            categoryRenderer.setSeriesOutlineStroke(i, outlineStrokeSequence[i]);
        }
    }

    Boolean domainGridlineVisible = plotSettings.getDomainGridlineVisible();
    if (domainGridlineVisible == null || domainGridlineVisible) {
        PaintProvider domainGridlinePaint = plotSettings.getDomainGridlinePaint();
        if (domainGridlinePaint != null) {
            p.setDomainGridlinePaint(domainGridlinePaint.getPaint());
        }
        Stroke domainGridlineStroke = plotSettings.getDomainGridlineStroke();
        if (domainGridlineStroke != null) {
            p.setDomainGridlineStroke(domainGridlineStroke);
        }

    }
    Boolean rangeGridlineVisible = plotSettings.getRangeGridlineVisible();
    if (rangeGridlineVisible == null || rangeGridlineVisible) {
        PaintProvider rangeGridlinePaint = plotSettings.getRangeGridlinePaint();
        if (rangeGridlinePaint != null) {
            p.setRangeGridlinePaint(rangeGridlinePaint.getPaint());
        }
        Stroke rangeGridlineStroke = plotSettings.getRangeGridlineStroke();
        if (rangeGridlineStroke != null) {
            p.setRangeGridlineStroke(rangeGridlineStroke);
        }
    }
}