我正在使用MPAndroidChart库实现组合图表。阴影显示正确,但真实的身体丢失了。
这是我用于CandleStick数据集的代码:
val ohlcSet = CandleDataSet(if(values.price.size>1)values.hloc else mutableListOf(CandleEntry(0f,0f,0f,0f,0f)), getString(R.string.price_ohlc))
ohlcSet.axisDependency=YAxis.AxisDependency.LEFT
ohlcSet.decreasingColor = resources.getColor(R.color.colorPrimaryDark)
ohlcSet.increasingColor= resources.getColor(R.color.colorPrimaryDark)
ohlcSet.neutralColor= resources.getColor(R.color.colorPrimaryDark)
ohlcSet.shadowColor = Color.DKGRAY
ohlcSet.barSpace = 0f
ohlcSet.valueTextSize = 10f
ohlcSet.setDrawValues(false)
val cData=CombinedData()
cData.setData(LineData(priceSet,volumeSet))
cData.setData(CandleData(ohlcSet))
chart1.data = cData
我已经尝试了所有方法,甚至没有运气就删除了其他数据集。任何帮助将不胜感激。
答案 0 :(得分:0)
我发现了该错误的原因,原来,当您将时间戳等较长的值用作x值时,烛台的真实主体会水平缩小,即使缩放也不会显示。解决此问题的黑客正在缩放x值,例如:
val ohlc=ArrayList<CandleEntry>()
ohlc.add(longTiestamp/5000000f,high, low, open, close)
,然后添加自定义值格式器以正确显示缩放值:
chart1.xAxis.valueFormatter = IAxisValueFormatter { value, _ ->
val millis = (value*5000000f).toLong()
DateFormat.getInstance().format(Date(millis))
}