繁体   English   中英

Jfree:烛台图表如何以小时为单位

[英]Jfree:how do CandleStick chart with hour period

我想以小时为单位制作蜡烛图(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 类,但没有找到每小时方法。 如何每小时创建一根蜡烛,而不是每个日期期间创建一根蜡烛? 也许有人有例子? 谢谢!

OHLCDataset的实现中, OHLCSeriesCollection包括addSeries(OHLCSeries series) OHLCSeries允许add(RegularTimePeriod period, …) ,而RegularTimePeriod包含子类Hour 此处讨论了使用Hour的示例。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM