android - MPAndroidChart CombinedChart CandleStick 实体未显示
问题描述
我正在使用 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
我已经尝试了一切,我什至没有运气删除了其他数据集。任何帮助,将不胜感激。
解决方案
我发现了这个错误的原因,事实证明,当你使用像时间戳这样的大长值作为 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))
}
推荐阅读
- python - 没有模块名称 pmadarima
- python - 根据值拆分 DataFrame
- python - 使用朴素贝叶斯计算测试数据的概率
- excel - Excel VBA:在 Mac 上获取 Yahoo Finance 数据
- visual-studio - 为什么我必须将源 `.asm` 文件的 `Properties > General > Item Type` 设置为 `Microsoft Macro Assembler` ...?
- flutter - 使用 GetX 可观察对象时,哪些 UI 小部件需要包装在 Obx 中?
- docker - 构建派生图像时无法在缓存中找到(本地)图像
- reactjs - 警告:无效的属性名称:`'data-*'`
- apache-spark - 在执行器上访问 SparkSession 会引发错误
- ruby-on-rails - 未捕获的类型错误:无法在 utils.js:50 处读取未定义的属性“模式”在stimulus_reflex.js:328