【发布时间】:2016-11-27 16:12:48
【问题描述】:
我已经在我的应用程序中实现了 AndroidPlot,它工作正常,但是由于日期不明确,我需要在 origin 之后一步的第一个值。
我在问题here 中尝试了建议的解决方案,他们在其中添加了 setDomainValueFormat 方法,但显示错误消息:
"方法无法解析"
任何建议如何在原点后一步启动 x 轴域?
plot = (XYPlot) findViewById(R.id.plot);
XYSeries series = new SimpleXYSeries(Arrays.asList(dates_in_m_seconds), Arrays.asList(values_as_numbers), "BP Status");
LineAndPointRenderer and configure them
LineAndPointFormatter seriesFormat = new LineAndPointFormatter(Color.RED, Color.GREEN,null, null);
plot.addSeries(series, seriesFormat);
// Specify x and y axes labels amount
plot.setRangeStep(StepMode.SUBDIVIDE,3);
plot.setDomainStep(StepMode.SUBDIVIDE,dates.size());
plot.getGraph().getLineLabelStyle(XYGraphWidget.Edge.BOTTOM).setFormat(new Format() {
@Override
public StringBuffer format(Object obj, StringBuffer toAppendTo, FieldPosition pos) {
Date date_Label = new Date(Math.round(((Number) obj).doubleValue()));
return format.format(date_Label, toAppendTo, pos);
}
@Override
public Object parseObject(String source, ParsePosition pos) {
return null;
}
});
plot.getGraph().getLineLabelStyle(XYGraphWidget.Edge.LEFT).setFormat(new Format() {
@Override
public StringBuffer format(Object obj, StringBuffer toAppendTo, FieldPosition pos) {
Number num = (Number) obj;
switch (num.intValue()) {
case 0:
toAppendTo.append("Low");
break;
case 1:
toAppendTo.append("Normal");
break;
case 2:
toAppendTo.append("High");
break;
default:
toAppendTo.append("Unknown");
break;
}
return toAppendTo;
}
@Override
public Object parseObject(String source, ParsePosition pos) {
return null;
}
});
}
【问题讨论】:
-
所以你想将你的域值向右移动一步,这样元素 0,0 的域和范围标签就不会重叠,对吗?您还可以发布您的实例化 XYSeries 的代码吗?
-
是的,这就是我的意思,请检查代码,我用 xy 系列@Nick 更新帖子
标签: java androidplot