首页 文章

在MPAndroidChart中的x轴上的第一个和最后一个标签上添加填充

提问于
浏览
4

我正在使用散点图(MPAndroidChart library),它现在看起来像下面 .
enter image description here

到目前为止,一切都运行良好,除了第一个和最后一个标签(Su和S)上的值,其中圆被切掉 . 有没有办法添加填充,以便Su在X轴的左侧有一些填充并完全渲染圆,S在右边有一些填充,所以S的圆值完全渲染 . 我试图通过大量的例子手动设置填充,但到目前为止没有任何工作正常 . 有人有任何想法,可以指出正确的方向,这将是伟大的..谢谢!

3 回答

  • 0

    我会尝试在图表上设置偏移量 . 这让我在两侧绘制完整的标签和点,但网格线在最后一个点的位置结束 .

    mLineChart.setExtraLeftOffset(36);
        mLineChart.setExtraRightOffset(36);
    
  • 0

    我刚刚意识到我之前的答案并不是最好的解决方案,但我会保留原样,以防它更好地解决某些情况或类似需求 .

    处理此问题的更好方法是使用SpaceMax和SpaceMin属性,这些属性可以完全满足您的需要,而无需使用索引执行可能存在的脆弱事物:

    xAxis.setSpaceMax(0.1f);
    xAxis.setSpaceMin(0.1f);
    

    这将以更清晰简洁的方式在末端添加指定的间距 .

  • 1

    编辑:在大多数情况下,这可能不是最佳方法 . 有关更好的方法,请参阅我的新答案 .

    我通过将x轴AxisMinimum和AxisMaximum设置为在我的最小和最大索引值的范围之外稍微有点来处理这个问题 .

    关键是即使x轴标签基于整数索引,轴本身的值也是浮点数 .

    假设你的例子中的索引是0-6,那么这应该工作:

    xAxis.setAxisMinimum(-0.1f);
    xAxis.setAxisMaximum(6.1f);
    

    您可能需要稍微调整这些值,如果您的索引基于数组的大小,则需要相应地进行调整 .

相关问题