AndroidPlot-水平线

时间:2018-08-28 20:43:03

标签: android androidplot

有人知道是否可以在生成的图形上绘制水平线吗?例如,如果我想在9.1处添加一条水平线:enter image description here

是否存在使用XYPlot完成此操作的方法?还是其他方式?谢谢。

final Number[] domainLabels = {1, 2, 3, 6, 7, 8, 9, 10, 13, 14};
    Number[] series1Numbers = {1, 4, 2, 8, 4, 16, 8, 32, 16, 64};
    Number[] series2Numbers = {5, 2, 10, 5, 20, 10, 40, 20, 80, 40};

    // turn the above arrays into XYSeries':
    // (Y_VALS_ONLY means use the element index as the x value)
    XYSeries series1 = new SimpleXYSeries(
            Arrays.asList(series1Numbers), SimpleXYSeries.ArrayFormat.Y_VALS_ONLY, "Series1");
    XYSeries series2 = new SimpleXYSeries(
            Arrays.asList(series2Numbers), SimpleXYSeries.ArrayFormat.Y_VALS_ONLY, "Series2");


    LineAndPointFormatter series1Format =
            new LineAndPointFormatter(this, R.xml.line_point_formatter_with_labels);

    LineAndPointFormatter series2Format =
            new LineAndPointFormatter(this, R.xml.line_point_formatter_with_labels_2);


    series2Format.getLinePaint().setPathEffect(new DashPathEffect(new float[] {


            PixelUtils.dpToPix(20),
            PixelUtils.dpToPix(15)}, 0));

    // add a new series' to the xyplot:
    plot.addSeries(series1, series1Format);
    plot.addSeries(series2, series2Format);

    plot.getGraph().getLineLabelStyle(XYGraphWidget.Edge.BOTTOM).setFormat(new Format() {
        @Override
        public StringBuffer format(Object obj, StringBuffer toAppendTo, FieldPosition pos) {
            int i = Math.round(((Number) obj).floatValue());
            return toAppendTo.append(domainLabels[i]);
        }
        @Override
        public Object parseObject(String source, ParsePosition pos) {
            return null;
        }
    });
}

0 个答案:

没有答案