当y轴值较小时,烛台不能很好地显示
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了当y轴值较小时,烛台不能很好地显示相关的知识,希望对你有一定的参考价值。
我在我的android应用程序上使用SciChart来显示烛台图表。当y值很大时,图表会很好地显示数据。
但是当y值很小时,图表显示不好。它具有默认的比例级别。您可以在底部看到值(红色/绿色点),非常接近y = 0的行
即使我试图提高缩放级别,它似乎也有缩放级别的限制。
任何人都可以给我一些想法来解决这个问题。
贝娄是我目前的实施
private fun getOhlcDataSeries(symbolValues: List<SymbolValue>):
OhlcDataSeries<Date, Double> {
val dataSeries = OhlcDataSeries(Date::class.java, Double::class.javaObjectType)
val dates = symbolValues.map { it.timePeriodStart }
val opens = symbolValues.map { it.priceOpen }
val high = symbolValues.map { it.priceHigh }
val lows = symbolValues.map { it.priceLow }
val closes = symbolValues.map { it.priceClose }
dataSeries.append(dates, opens, high, lows, closes)
return dataSeries
}
val sciChartBuilder = SciChartBuilder.instance()
val priceSeries = getData()
val xAxis = sciChartBuilder.newCategoryDateAxis().build()
val yAxis = sciChartBuilder.newNumericAxis().build()
val dataSeries = getOhlcDataSeries(priceSeries)
val upColor = 0xFF64AA6F.toInt()
val downColor = 0xFFE25C5A.toInt()
val rSeries = sciChartBuilder.newCandlestickSeries()
.withStrokeUp(upColor)
.withFillUpColor(upColor)
.withStrokeDown(downColor)
.withFillDownColor(downColor)
.withDataSeries(dataSeries)
.build()
UpdateSuspender.using(surface) {
Collections.addAll(surface.xAxes, xAxis)
Collections.addAll(surface.yAxes, yAxis)
Collections.addAll(surface.renderableSeries, rSeries)
Collections.addAll(surface.chartModifiers, sciChartBuilder.newModifierGroupWithDefaultModifiers().build())
}
谢谢
答案
我尝试了很多解决方案,最后,它通过添加它来工作
yAxis.minimalZoomConstrain = 0.00000001
yAxis.maximumZoomConstrain = 1000000
另一答案
您是否尝试过使用AutoRange.Always作为yAxis?
val yAxis = sciChartBuilder.newNumericAxis().withAutoRangeMode(AutoRange.Always).build()
它应该强制yAxis在每次绘制图表时应用自动量程以适应屏幕上的数据。
披露:我是SciChart Android团队的首席开发人员
以上是关于当y轴值较小时,烛台不能很好地显示的主要内容,如果未能解决你的问题,请参考以下文章
Matplotlib:如何在 x 轴值中显示完整的每小时日期值?
当 sleep() 不能很好地与警报一起工作时,我还能做啥“睡眠”?