Example usage for org.jfree.chart.renderer XYBarRenderer setBasePaint

List of usage examples for org.jfree.chart.renderer XYBarRenderer setBasePaint

Introduction

In this page you can find the example usage for org.jfree.chart.renderer XYBarRenderer setBasePaint.

Prototype

public void setBasePaint(Paint paint) 

Source Link

Document

Sets the base paint and sends a RendererChangeEvent to all registered listeners.

Usage

From source file:jhplot.HChart.java

/**
 * Add a H1D histogram to the chart. Call update() method to view it.
 * //  w  ww . j  a v  a  2  s.  co  m
 * @param h1
 *            H1D histogram
 */
public void add(H1D h1) {

    IAxis axis = h1.get().axis();

    XYIntervalSeriesCollection c = new XYIntervalSeriesCollection();
    XYIntervalSeries SerData = new XYIntervalSeries(h1.getTitle());
    int ibins = axis.bins();
    for (int i = 0; i < ibins; i++) {
        SerData.add(h1.binMean(i), axis.binLowerEdge(i), axis.binUpperEdge(i), h1.binHeight(i), 0,
                h1.binHeight(i));

    }
    c.addSeries(SerData);
    xyplot[N1][N2].setDataset(indexdat[N1][N2], c);

    XYBarRenderer render = new XYBarRenderer();
    LinePars lpp = h1.getDrawOption();
    Color cfill = lpp.getFillColor();
    float width = (float) lpp.getPenWidth();
    int style = h1.getLineStyle();
    float dash = lpp.getDashLength();
    StandardXYBarPainter paint = new StandardXYBarPainter();
    render.setBarPainter(paint);
    render.setDrawBarOutline(true);
    render.setShadowVisible(false);
    render.setBaseStroke(getStrokes(style, width, dash));
    render.setBasePaint(cfill);
    render.setBaseOutlinePaint(h1.getColor());
    render.setBaseOutlineStroke(getStrokes(style, width, dash));
    render.setSeriesStroke(0, getStrokes(style, width, dash));
    render.setSeriesPaint(0, cfill);
    render.setSeriesOutlinePaint(0, h1.getColor());
    if (h1.isFilled()) {
        render.setSeriesFillPaint(0, cfill);
    }

    // System.out.println(render.toString());
    // System.out.println(rdat[N1][N2]);
    rdat[N1][N2].add(render);
    type[N1][N2].put(new Integer(indexdat[N1][N2]), "h");
    indexdat[N1][N2]++;

}