我正在使用散点图(MPAndroidChart library),现在看起来如下。
到目前为止,除了第一个和最后一个标签(Su和S)上的值被切除之外,一切都运行良好。有没有办法添加填充,以便Su在X轴的左侧有一些填充并完全渲染圆,S在右边有一些填充,所以S的圆值完全渲染。我试图通过大量的例子手动设置填充,但到目前为止没有任何工作正常。有人有任何想法,可以指出正确的方向,这将是伟大的..谢谢!
答案 0 :(得分:1)
编辑:在大多数情况下,这可能不是最佳方法。有关更好的方法,请参阅我的新答案。
我通过将x轴AxisMinimum和AxisMaximum设置为稍微超出我最小和最大索引值的范围来处理这个问题。
关键是即使x轴标签基于整数索引,轴本身的值也是浮点数。
假设你的例子中的索引是0-6,那么这应该有效:
xAxis.setAxisMinimum(-0.1f);
xAxis.setAxisMaximum(6.1f);
您可能需要稍微调整这些值,如果您的索引基于数组的大小,则需要相应调整。
答案 1 :(得分:1)
我刚刚意识到我之前的答案并不是最好的解决方案,但我会保留原样,以防它更好地解决某些情况或类似需求。
更好的方法是使用SpaceMax和SpaceMin属性,这些属性可以完全满足您的需要,而无需使用索引执行可能存在的脆弱事物:
xAxis.setSpaceMax(0.1f);
xAxis.setSpaceMin(0.1f);
这将以更清晰简洁的方式在末尾添加指定的间距。
答案 2 :(得分:1)
我会尝试在图表上设置偏移量。这让我在两侧都绘制了完整的标签和点,但是网格线在最后一个点所在的位置结束。
mLineChart.setExtraLeftOffset(36);
mLineChart.setExtraRightOffset(36);
答案 3 :(得分:1)
使用:xAxis.setAvoidFirstLastClipping(true)
如果设置为 true,图表将避免图表中的第一个和最后一个标签条目“剪掉”图表的边缘或屏幕。