CandlestickRenderer クラスには、すべてのろうそくの境界線の色を目的の色に変更するメソッドがありますが、すべての上向きろうそくの境界線を緑に、すべての下向きろうそくの境界線を赤に設定する必要があります。アドバイスやサンプルコードは大歓迎です。
1132 次
1 に答える
3
CandlestickRenderer
クラスソースを掘り下げてこれを取得しました
まず、サブクラスを作成します
public class MyCandlestickRenderer extends CandlestickRenderer {
@Override
public Paint getItemPaint(int row, int column) {
//determine up or down candle
XYDataset dataset = getPlot().getDataset();
OHLCDataset highLowData = (OHLCDataset) dataset;
int series = row, item = column;
Number yOpen = highLowData.getOpen(series, item);
Number yClose = highLowData.getClose(series, item);
boolean isUpCandle = yClose.doubleValue() > yOpen.doubleValue();
//return the same color as that used to fill the candle
if (isUpCandle) {
return getUpPaint();
}
else {
return getDownPaint();
}
}
}
次に、それを使用するようにチャートを設定します
chart.getXYPlot().setRenderer(new MyCandlestickRenderer());
結果:
于 2014-01-14T02:11:40.490 に答える