MPAndroidChart:如何以固定间隔设置 x 轴标签
Posted
技术标签:
【中文标题】MPAndroidChart:如何以固定间隔设置 x 轴标签【英文标题】:MPAndroidChart: How to set x axis labels at fixed interval 【发布时间】:2017-09-04 09:40:57 【问题描述】:我正在显示实时图表,该图表应按秒显示值。我的 X 轴是以秒为单位的时间。但我无法在 x 轴上显示固定的时间间隔,即。 0,1,2,... 等等。 X 轴值是自动计算的,两个 x 值之间的时间间隔达到 20 秒,这是我不想要的。我需要你的帮助来解决这个问题。
任何帮助将不胜感激。
【问题讨论】:
试试这个解决方案:***.com/a/40806503/1343788 间隔称为“粒度”。你可以试试mChart.getXAxis().setGranularityEnabled(true)
mChart.getXAxis().setGranularity(desiredGranularity)
;
【参考方案1】:
您可以使用库的修改版本,允许用户告诉图形应该绘制哪些标签。
请看下面的例子:
leftAxis.setShowSpecificLabelPositions(true);
leftAxis.setSpecificLabelPositions(new float[]0, 10, 20, 50, 100, 300);
参考链接:https://github.com/PhilJay/MPandroidChart/pull/2692
修改后的库链接:https://github.com/philippeauriach/MPAndroidChart/tree/custom-labels
【讨论】:
setShowSpecificLabelPositions() 和 setSpecificLabelPositions() 未找到 @theLazyFinder 你必须使用库的修改版本; github.com/philippeauriach/MPAndroidChart/tree/custom-labels @theLazyFinder 用户名签出【参考方案2】:您是否尝试将 X 轴值设置为固定数字?
float minXRange = 10;
float maxXRange = 10;
chart.setVisibleXRange(minXRange, maxXRange);
【讨论】:
添加一些描述【参考方案3】:有一个替代解决方案可以在正常的 MPAndroidChart(ios 或 Android)上运行。您可以使用axisMinimum 和axisMaximum 属性手动设置轴覆盖的范围。您还可以使用 setLabelCount 设置轴标签的数量。结合这些,您可以在轴标签之间获得均匀的间隔。例如,axisMinimum 为 0,axisMaximum 为 100,setLabelCount 设置有 5 个标签,您最终会在范围的顶部和底部(分别为 0 和 100)以及中间的 3 个标签,这给你25 的固定差距。Swift 3 代码:
chart.xAxis.setLabelCount(5, /*force: */true)
chart.xAxis.axisMinimum = 0
chart.xAxis.axisMaximum = 100
为您提供均匀的间隔:0、25、50、75、100。
【讨论】:
你错了吗?您的代码最小值 = 100 而不是 0 哦,是的,很好发现@zihadrizkyef!以上是关于MPAndroidChart:如何以固定间隔设置 x 轴标签的主要内容,如果未能解决你的问题,请参考以下文章
MPAndroidChart MarkerView 在固定位置