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 在固定位置

如何使用 Qt/QwtPlot 设置固定轴间隔?

单击保存按钮后或以固定时间间隔如何自动刷新交互式网格?

MPAndroidChart如何绘制y轴限制线并将视点设置为底部

MPAndroidChart如何设置X比例

如何在初始化后更改自举轮播的间隔