MPAndroidChart如何设置X刻度
MPAndroidChart how to set the X scale
天好同志们,我用MPAndroidChart库绘制了价格随时间变化的线性图表。使用 Y 刻度,没有问题,但我无法使 X 刻度正常工作。有一些水域可以根据位置在这个比例尺中替换所需的值:
IAxisValueFormatter formatter = new IAxisValueFormatter() {
@Override
public String getFormattedValue(float value, AxisBase axis) {
return quarters[(int) value];
}
;
XAxis xAxis = mLineChart.getXAxis();
xAxis.setGranularity(1f);
xAxis.setValueFormatter(formatter);
但是有一个问题,schedule是loader在加载结束时整理出来的,开始时间是选择用户希望看到结果的时间段。如果要在 10 分钟内看到结果 - 那么服务器会收到少于 10 个值,如果是一天,则超过 100 个。问题是为什么不更新值,以及在 100 个值之后我需要回头看 10,它在轴 Y 值列表中查找 100,当然,没有找到它们,因为我们只有 10 个要崩溃。其实问题是如何重置这些值?在将数据传输到图形之前,我执行 mChart.clear ();但它没有帮助。我不明白这个肮脏的把戏。请帮助理解。
总的来说,我是这样决定的:我写了我的格式化程序并在其中:
@Override
public String getFormattedValue(float value, AxisBase axis) {
if (value >= list.size()) {
value = list.size() - 1;
}
Date date = new Date(list.get((int) value) * 1000);
return formatter.format(date);
}
有人能派上用场吗
天好同志们,我用MPAndroidChart库绘制了价格随时间变化的线性图表。使用 Y 刻度,没有问题,但我无法使 X 刻度正常工作。有一些水域可以根据位置在这个比例尺中替换所需的值:
IAxisValueFormatter formatter = new IAxisValueFormatter() {
@Override
public String getFormattedValue(float value, AxisBase axis) {
return quarters[(int) value];
}
;
XAxis xAxis = mLineChart.getXAxis();
xAxis.setGranularity(1f);
xAxis.setValueFormatter(formatter);
但是有一个问题,schedule是loader在加载结束时整理出来的,开始时间是选择用户希望看到结果的时间段。如果要在 10 分钟内看到结果 - 那么服务器会收到少于 10 个值,如果是一天,则超过 100 个。问题是为什么不更新值,以及在 100 个值之后我需要回头看 10,它在轴 Y 值列表中查找 100,当然,没有找到它们,因为我们只有 10 个要崩溃。其实问题是如何重置这些值?在将数据传输到图形之前,我执行 mChart.clear ();但它没有帮助。我不明白这个肮脏的把戏。请帮助理解。
总的来说,我是这样决定的:我写了我的格式化程序并在其中:
@Override
public String getFormattedValue(float value, AxisBase axis) {
if (value >= list.size()) {
value = list.size() - 1;
}
Date date = new Date(list.get((int) value) * 1000);
return formatter.format(date);
}
有人能派上用场吗