Example usage for org.jfree.data.xy OHLCDataset getSeriesCount

List of usage examples for org.jfree.data.xy OHLCDataset getSeriesCount

Introduction

In this page you can find the example usage for org.jfree.data.xy OHLCDataset getSeriesCount.

Prototype

public int getSeriesCount();

Source Link

Document

Returns the number of series in the dataset.

Usage

From source file:edu.dlnu.liuwenpeng.render.CandlestickRenderer.java

/**    
* Initialises the renderer then returns the number of 'passes' through the    
* data that the renderer will require (usually just one).  This method    
* will be called before the first item is rendered, giving the renderer    
* an opportunity to initialise any state information it wants to maintain.    
* The renderer can do nothing if it chooses.    
*    /*w ww.ja v a2s. co  m*/
* @param g2  the graphics device.    
* @param dataArea  the area inside the axes.    
* @param plot  the plot.    
* @param dataset  the data.    
* @param info  an optional info collection object to return data back to    
*              the caller.    
*    
* @return The number of passes the renderer requires.    
*/
public XYItemRendererState initialise(Graphics2D g2, Rectangle2D dataArea, XYPlot plot, XYDataset dataset,
        PlotRenderingInfo info) {

    // calculate the maximum allowed candle width from the axis...    
    ValueAxis axis = plot.getDomainAxis();
    double x1 = axis.getLowerBound();
    double x2 = x1 + this.maxCandleWidthInMilliseconds;
    RectangleEdge edge = plot.getDomainAxisEdge();
    double xx1 = axis.valueToJava2D(x1, dataArea, edge);
    double xx2 = axis.valueToJava2D(x2, dataArea, edge);
    this.maxCandleWidth = Math.abs(xx2 - xx1);
    // Absolute value, since the relative x    
    // positions are reversed for horizontal orientation    

    // calculate the highest volume in the dataset...    
    if (this.drawVolume) {
        OHLCDataset highLowDataset = (OHLCDataset) dataset;
        this.maxVolume = 0.0;
        for (int series = 0; series < highLowDataset.getSeriesCount(); series++) {
            for (int item = 0; item < highLowDataset.getItemCount(series); item++) {
                double volume = highLowDataset.getVolumeValue(series, item);
                if (volume > this.maxVolume) {
                    this.maxVolume = volume;
                }

            }
        }
    }

    return new XYItemRendererState(info);
}