SciChart® the market leader in Fast WPF Charts, WPF 3D Charts, and now iOS Charting & Android Chart Components
Hi,
I’m trying to colorize my Column Chart according to my Candle Chart (red / green).
I’ve tried to create a Palette provider, but I don’t know how to get the corresponding item from my Candle Data.
How can I do this?
Hi Marcos,
If assume that column and candle series have same x data and they are drawn with same xAxis and same resampling mode then you can just use current render pass data from candle series inside palette provider for column series:
class VolumePaletteProvider(private val stockSeries: FastCandlestickRenderableSeries, private val upColor: Int, private val downColor: Int) : PaletteProviderBase<FastColumnRenderableSeries>(FastColumnRenderableSeries::class.java), IStrokePaletteProvider, IFillPaletteProvider {
private val colors = IntegerValues()
override fun update() {
val stockRenderPassData = stockSeries.currentRenderPassData
if(stockRenderPassData is OhlcRenderPassData) {
val size = stockRenderPassData.pointsCount()
colors.setSize(size)
val openValues = stockRenderPassData.openValues.itemsArray
val closeValues = stockRenderPassData.closeValues.itemsArray
val itemsArray = colors.itemsArray
for (i in 0..size-1) {
itemsArray[i] = if (closeValues[i] >= openValues[i]) upColor else downColor
}
}
}
override fun getFillColors(): IntegerValues = colors
override fun getStrokeColors(): IntegerValues = colors
}
Is this suitable for you?
Best regards,
Yura
Please login first to submit.