在 MPAndroidChart 中缩小时如何隐藏值标签?
How to hide value labels when zooming out in MPAndroidChart?
我正在使用 MPAndroidChart
的 Swift
版本,并试图弄清楚当其中一些值标签靠得太近并开始在折线图上重叠时如何隐藏值标签。
缩小到某个点时隐藏所有值标签也可以(仍然不知道该怎么做),但只隐藏重叠的那些是最好的。
我知道我可以手动调用 setDrawValues = false
,但我希望它在缩放时自动调用。
enter image description here
在Android中,我用的和iOS一样
1:找出第一个和第二个索引y轴标签之间的差异(YAxisRenderer)
for (int i = from; i < to; i++)
{
String text = mYAxis.getFormattedLabel(i);
double value1=Double.parseDouble(mYAxis.getFormattedLabel(1).replace(",",""));
double value2=Double.parseDouble(mYAxis.getFormattedLabel(2).replace(",",""));
result=(value2-value1)-40;
//POPreferences.setDifference(String.valueOf(result));
c.drawText(text, fixedPosition, positions[i * 2 + 1] + offset, mAxisLabelPaint);
}
2:在条形或线条上绘制文本时使用结果变量(BarChartRenderer.java):
if (result >= vals[k / 2])
{
drawValue(c,dataSet.getValueFormatter(),vals[k / 2], entry, i, x, y,color);
}
我正在使用 MPAndroidChart
的 Swift
版本,并试图弄清楚当其中一些值标签靠得太近并开始在折线图上重叠时如何隐藏值标签。
缩小到某个点时隐藏所有值标签也可以(仍然不知道该怎么做),但只隐藏重叠的那些是最好的。
我知道我可以手动调用 setDrawValues = false
,但我希望它在缩放时自动调用。
enter image description here
在Android中,我用的和iOS一样
1:找出第一个和第二个索引y轴标签之间的差异(YAxisRenderer)
for (int i = from; i < to; i++)
{
String text = mYAxis.getFormattedLabel(i);
double value1=Double.parseDouble(mYAxis.getFormattedLabel(1).replace(",",""));
double value2=Double.parseDouble(mYAxis.getFormattedLabel(2).replace(",",""));
result=(value2-value1)-40;
//POPreferences.setDifference(String.valueOf(result));
c.drawText(text, fixedPosition, positions[i * 2 + 1] + offset, mAxisLabelPaint);
}
2:在条形或线条上绘制文本时使用结果变量(BarChartRenderer.java):
if (result >= vals[k / 2])
{
drawValue(c,dataSet.getValueFormatter(),vals[k / 2], entry, i, x, y,color);
}