答案 0 :(得分:0)
我仍然不能100%确定我理解所需的可视化,但这是我建议的基本步骤:
首先,您需要将CSV数据转换为XYSeries数据。为此,您需要将当前的X / Y字符串值映射到数字。我建议创建一个看起来像这样的方法:
// parses a CSV string into an XYSeries
// for example, DISCHARGE = 1, MPPT = 2
public XYSeries convertCSVToXYSeries(String csvContent) {...}
接下来,设置你的Plot等,就像你对Androidplot Quickstart Tutorial所示的任何其他XYPlot一样。
当您添加XYSeries时,您将从convertCSVToXYSeries返回到您的绘图,请使用XYStepFormatter:
StepFormatter stepFormatter = new StepFormatter(Color.BLUE, Color.BLUE);
stepFormatter.setVertexPaint(null); // don't draw individual points
plot.addSeries(series, stepFormatter);
最后,添加一个自定义范围值格式化程序来打印状态字符串,而不是它们已映射到的int值:
// create a custom getFormatter to draw our state names as range tick labels:
plot.setRangeValueFormat(new Format() {
@Override
public StringBuffer format(Object obj, StringBuffer toAppendTo, FieldPosition pos) {
Number num = (Number) obj;
switch(num.intValue()) {
case 1:
toAppendTo.append("DISCHARGE");
break;
case 2:
toAppendTo.append("MPPT");
break;
default:
toAppendTo.append("Unknown");
break;
}
return toAppendTo;
}
@Override
public Object parseObject(String source, ParsePosition pos) {
return null;
}
});