如何按网格剪辑系列?

时间:2016-04-04 16:06:52

标签: androidplot

我想创建一个XYPlot,以便剪掉所有系列中最左边的点和最右边的点。

所以,让我们说我想绘制由以下数组描述的系列

    Number[] xs = new Number[]{-1, 50, 101};
    Number[] ys = new Number[]{10, 20, 20};

但我想要剪掉第一个点(-1,10)和最后一个点(101,20),我怎么能这样做?

我尝试使用方法setDomainBoundaries()setRangeBoundaries(),但系列超出了它的网格/绘图区域。

enter image description here

1 个答案:

答案 0 :(得分:0)

我建议使用XYSeries的自定义实现来执行此操作。这是一个基本上应该做你想要的例子:

    class MyXYSeries implements XYSeries {

        Number[] xs = new Number[]{-1, 50, 101};
        Number[] ys = new Number[]{10, 20, 20};

        @Override
        public int size() {
            return xs.length - 1; // clip the trailing point
        }

        @Override
        public Number getX(int index) {
            // shift xy vals over one to clip the leading point
            return xs[index+1];
        }

        @Override
        public Number getY(int index) {
            // shift xy vals over one to clip the leading point
            return ys[index+1];
        }

        @Override
        public String getTitle() {
            return "your title";
        }
    }