用mpandroid绘制一个折线图

用mpandroid绘制一个折线图,android,mpandroidchart,Android,Mpandroidchart,有人能用mpandroid绘制这些数据吗 double[] y2={4151.07, 3375.21, 3354.56, 3333.87, 3313.15, 3146.99, 123.67, 84.89, 43.9, 0.34, 0.0}; double[] x2={ 0.0, 1606.64, 1643.04, 1679.05, 1534.98, 1458.7, 1377.66, 1291.13, 126

有人能用mpandroid绘制这些数据吗

 double[] y2={4151.07,  3375.21,    3354.56,    3333.87,    3313.15, 3146.99,   123.67, 84.89,  43.9,   0.34,   0.0};
        double[] x2={ 0.0,  1606.64,    1643.04,    1679.05,    1534.98,    1458.7, 1377.66,    1291.13,    1260.91, 1200.2, 547.3};
我写了一段代码,在我的android设备中只画出了数组的前五个元素![我的意思是从y2[0]到y2[5],从x2[0]到x2[5]) 谁能告诉我为什么? 这是我的代码:

for(int i=0;i<5;i++){
            float y=(float)y2[i] ;
            float x=(float)x2[i] ;
            yVals.add(new Entry( x, y));
        }
        LineDataSet sety=new LineDataSet(yVals,"yData");
        LineData data = new LineData(sety);
        lineChart.setData(data);

           XAxis xAxis = lineChart.getXAxis();
           lineChart.getAxisRight().setAxisMaxValue(4500);
           lineChart.getAxisLeft().setAxisMaxValue(4500);
           lineChart.getAxisRight().setAxisMinValue(-20);
           lineChart.getAxisLeft().setAxisMinValue(-20);

           xAxis.setAxisMaxValue(3500);
           xAxis.setAxisMinValue(-20);
           lineChart.animateX(3000);
           lineChart.setDragEnabled(true);
           lineChart.setScaleEnabled(true);

for(int i=0;i您在
for
循环中只添加了5个
Entry
对象。显然,您的图表将只显示5个条目

编辑:

    double[] y2 = {4151.07, 3375.21, 3354.56, 3333.87, 3313.15, 3146.99, 123.67, 84.89, 43.9, 0.34, 0.0};
    double[] x2 = {0.0, 1606.64, 1643.04, 1679.05, 1534.98, 1458.7, 1377.66, 1291.13, 1260.91, 1200.2, 547.3};

    ArrayList<Entry> yVals1 = new ArrayList<>();
    for (int i = 0; i < y2.length; i++) {
        yVals1.add(new Entry(i, (float) y2[i]));
    }

    LineDataSet sety = new LineDataSet(yVals1, "Dataset 1");
    sety.setValueFormatter(new LineChartYValueFormatter());
    sety.setColor(ColorTemplate.MATERIAL_COLORS[2]);
    ArrayList<ILineDataSet> dataSets = new ArrayList<>();
    dataSets.add(sety);

    LineData data = new LineData(dataSets);
    lineChart.setData(data);

    XAxis xAxis = lineChart.getXAxis();
    xAxis.setAxisMinValue(0);
    xAxis.setPosition(XAxis.XAxisPosition.BOTTOM);
    xAxis.setValueFormatter(new LineChartXAxisValueFormatter(x2));
    xAxis.setLabelCount(10);
    xAxis.setLabelRotationAngle(45);

    lineChart.animateX(3000);
    lineChart.setDragEnabled(true);
    lineChart.setScaleEnabled(true);

    lineChart.highlightValue(null);
    lineChart.invalidate();
LineChartYValueFormatter类

public class LineChartYValueFormatter implements ValueFormatter {
    public LineChartYValueFormatter() {
    }

    @Override
    public String getFormattedValue(float value, Entry entry, int dataSetIndex, ViewPortHandler viewPortHandler) {
        return new DecimalFormat("#0.00").format(value);
    }
}

谢谢您的重播,但在您的图形中,您的x轴是1,2,3,…。但是如果您看到我的数据,例如y2[2]=3375.21,其相关x是x2[2]=1606.64(不是x=2)或y2[5]=3313.15,其相关x是x2[5]=1534.98(不是x=5)
public class LineChartYValueFormatter implements ValueFormatter {
    public LineChartYValueFormatter() {
    }

    @Override
    public String getFormattedValue(float value, Entry entry, int dataSetIndex, ViewPortHandler viewPortHandler) {
        return new DecimalFormat("#0.00").format(value);
    }
}