【问题标题】:MPAndroid Chart how to get a list of all points on a Cubic LineChartMPAndroid Chart如何获取Cubic LineChart上所有点的列表
【发布时间】:2015-03-12 06:27:09
【问题描述】:

我正在使用 MPAndroid 图表使用几个点绘制三次图。目前,该库连接这些点并绘制平滑图。 我使用的代码是:

ArrayList<String> xVals = new ArrayList<String>();
for (int i = 0; i < count; i++) {
    xVals.add((1990 +i) + "");
}

ArrayList<Entry> vals1 = new ArrayList<Entry>();

for (int i = 0; i < count; i++) {
    float mult = (range + 1);
    float val = (float) (Math.random() * mult) + 20;// + (float)
                                                   // ((mult *
                                                   // 0.1) / 10);
    vals1.add(new Entry(val, i));
}

// create a dataset and give it a type
LineDataSet set1 = new LineDataSet(vals1, "DataSet 1");
    set1.setDrawCubic(true);
LineData data = new LineData(xVals, set1);

我想获取库在我给出的中间点之间绘制的所有中间点的列表,以便在数组中获得平滑曲线。 有什么方法可以实现吗?

谢谢

【问题讨论】:

    标签: java android mpandroidchart cubic-spline


    【解决方案1】:

    在 LineChartRenderer.java 类中,调用了 drawCubic()。在底部的那个函数中,当它渲染路径时,您可以找到用于绘制平滑曲线的所有点。看看对你有没有帮助。

    【讨论】:

    • 是的,我确实看到了,但我不明白如何从该函数中提取所有点的集合。如果可能的话,你能否提供一些代码来解释如何做到这一点?
    • 您有一个名为 spline 的路径对象。提取所有点没什么,因为路径包含无限数量的点,但是是的,您可以使用此路径对象通过在路径上给出相等的间隔来提取路径上尽可能多的点。要查找点,请遵循以下链接上的 @hasanghaforian 答案. stackoverflow.com/questions/7972780/…
    【解决方案2】:

    对于曲线(平滑边缘线)数据集模式为 CUBIC_BEZIER。

        LineDataSet lds=new LineDataSet(water_entryline,"Levels");
        lds.setMode(LineDataSet.Mode.CUBIC_BEZIER);
        LineData ld=new LineData();
        ld.addDataSet(lds);
        linechart.setData(ld);
        linechart.animateY(1000, Easing.EasingOption.Linear);
        linechart.invalidate();
    

    用于从折线图中获取值

     linechart.setOnChartValueSelectedListener(new OnChartValueSelectedListener() {
            @Override
            public void onValueSelected(Entry e, Highlight h) {
                Log.d("value","X: "+e.getX()+" Y: "+e.getY());
            }
    
            @Override
            public void onNothingSelected() {
    
            }
        });
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-08-30
      • 1970-01-01
      • 2021-11-27
      • 2015-12-20
      • 1970-01-01
      • 2019-08-22
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多