2

我想制作每小时周期的蜡烛图(android),并寻找 afreeChart 库以供使用。基于 jfreeCharts 的 Afreechart。

我有一个带有每日周期的烛台示例:

公共静态 OHLCDataset createDataset1() {

    Date[] date = new Date[47];
    double[] high = new double[47];
    double[] low = new double[47];
    double[] open = new double[47];
    double[] close = new double[47];
    double[] volume = new double[47];

    int jan = 1;
    int feb = 2;

    for(int i = 0; i < 47; i++) {
        if(i <= 27) {
            date[i] = createDate(2001, jan, i+4, 12, 0);
        } else {
            date[i] = createDate(2001, feb, i-27, 12, 0);
        }
        high[i] = 45 + Math.random() * 20;
        low[i] = high[i] - (Math.random() * 30 + 3);
        do {
            open[i] = high[i] - Math.random() * (high[i] - low[i]);
            close[i] = low[i] + Math.random() * (high[i] - low[i]);
        } while(Math.abs(open[i] - close[i]) < 1);
    }

    return new DefaultHighLowDataset("Series 1", date, high, low, open, close, volume);
}

private static final Calendar calendar = Calendar.getInstance();

/**
 * Returns a date using the default locale and timezone.
 * @param y the year (YYYY).
 * @param m the month (1-12).
 * @param d the day of the month.
 * @param hour the hour of the day.
 * @param min the minute of the hour.
 * @return A date.
 */
private static Date createDate(int y, int m, int d, int hour, int min) {
    calendar.clear();
    calendar.set(y, m - 1, d, hour, min);
    return calendar.getTime();
}

DefaultHighLowDataset 不适用于非日期值。我在开发人员指南 Jfreechart 中查看 OHLC 类,但没有找到按小时计算的方法。如何每小时创建一根蜡烛,而不是每个日期期间一根蜡烛?也许有人有例子?谢谢!

4

1 回答 1

3

在 的实现中OHLCDatasetOHLCSeriesCollection包括addSeries(OHLCSeries series). AnOHLCSeries允许add(RegularTimePeriod period, …)RegularTimePeriod包含子类Hour这里Hour讨论了一个使用示例。

于 2012-11-13T17:53:23.577 回答