字符串参数的Android图

时间:2016-05-27 06:44:07

标签: string androidplot

enter image description here我的应用程序要求Y轴具有“充电”,“充电”等字符串。 '充电失败'。是否可以使用此绘制图形并根据Android Plot上的这些字符串描述有问题的参数?

1 个答案:

答案 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;
            }
        });