Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/219.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
(MPAndroidChart线条图)我没有';无法在我的应用程序中获取最后一个标签_Android_Mpandroidchart_Linechart - Fatal编程技术网

(MPAndroidChart线条图)我没有';无法在我的应用程序中获取最后一个标签

(MPAndroidChart线条图)我没有';无法在我的应用程序中获取最后一个标签,android,mpandroidchart,linechart,Android,Mpandroidchart,Linechart,我现在使用MPAndroidChart v3.0.2。 问题是lasst数据('05일') 没有显示 这是我进行调试时的值 xVAL:1일, 2.일, 5.일 这是源和结果截图 我想是五年前일' 进入“红色圆圈”…但我不知道原因 LineChart chart = (LineChart) findViewById(R.id.chart); if (ExRegList.length() == 0) { chart.clear(); chart.setDe

我现在使用MPAndroidChart v3.0.2。 问题是lasst数据('05일') 没有显示

这是我进行调试时的值 xVAL:1일, 2.일, 5.일

这是源和结果截图

我想是五年前일' 进入“红色圆圈”…但我不知道原因

  LineChart chart = (LineChart) findViewById(R.id.chart);
    if (ExRegList.length() == 0) {
        chart.clear();
        chart.setDescription(null);
        chart.setNoDataText("데이터가 존재하지 않습니다."); // There is no data.
        chart.invalidate();
    } else {
        ArrayList<Entry> entries = new ArrayList<Entry>();
        final String[] xVals = new String[ExRegList.length()];

        try {
            for (int i = 0; i < ExRegList.length(); i++) {
                JSONObject obj = ExRegList.getJSONObject(i);
                String date = obj.getString("REG_DT").split("-")[2] + "일";
                xVals[i] = date;
                int score = obj.getInt("ANSWER02");
                switch (score) {
                    case 1:
                        entries.add(new Entry(i,3f));//매우만족
                        break;
                    case 2:
                        entries.add(new Entry(i,2f));
                        break;
                    case 3:
                        entries.add(new Entry(i,1f));
                        break;
                    case 4:
                        entries.add(new Entry(i,0f));//매우불만족
                        break;
                }
            }
        } catch (Exception e) {
            e.printStackTrace();
        }

        LineDataSet lineDataSet = new LineDataSet(entries, "");
        lineDataSet.setLineWidth(2);
        lineDataSet.setDrawCircleHole(true);
        lineDataSet.setDrawCircles(true);
        lineDataSet.setDrawHorizontalHighlightIndicator(false);
        lineDataSet.setDrawHighlightIndicators(false);
        lineDataSet.setDrawValues(false);

        LineData lineData = new LineData(lineDataSet);
        chart.setData(lineData);

        XAxis xAxis = chart.getXAxis();
        xAxis.setValueFormatter(new IndexAxisValueFormatter(xVals));
        XAxis bottomAxis = chart.getXAxis();
        bottomAxis.setPosition(XAxis.XAxisPosition.BOTTOM);
        bottomAxis.setDrawLabels(true);
        bottomAxis.setDrawGridLines(false);
        bottomAxis.setDrawAxisLine(true);
        bottomAxis.setLabelCount(entries.size());

        YAxis yAxis = chart.getAxisLeft();
        yAxis.setLabelCount(4, true);
        yAxis.setAxisMinimum(0.0f);
        yAxis.setAxisMaximum(3.0f);

        yAxis.setValueFormatter(new IAxisValueFormatter() {

            @Override
            public String getFormattedValue(float value, AxisBase yAxis) {
                String format = "";
                switch ((int) value) {
                    case 3:
                        format = "매우 만족";
                        break;
                    case 2:
                        format = "만족";
                        break;
                    case 1:
                        format = "불만족";
                        break;
                    case 0:
                        format = "매우 불만족";
                        break;
                    default:
                        break;
                }
                return format;
            }
        });
        yAxis.setTextColor(Color.BLACK);

        YAxis yRAxis = chart.getAxisRight();
        yRAxis.setDrawLabels(false);
        yRAxis.setDrawAxisLine(false);
        yRAxis.setDrawGridLines(false);

        chart.setFocusable(false);
        chart.setPinchZoom(false);
        chart.setDoubleTapToZoomEnabled(false);
        chart.setDrawGridBackground(false);
        chart.setDescription(null);
        chart.getLegend().setEnabled(false);
        chart.animateY(2000, Easing.EasingOption.EaseInCubic);
        chart.invalidate();
LineChart chart=(LineChart)findviewbyd(R.id.chart);
if(ExRegList.length()=0){
chart.clear();
chart.setDescription(空);
图表.SetNodeDataText(“데이터가 존재하지 않습니다."); // 没有数据。
chart.invalidate();
}否则{
ArrayList条目=新的ArrayList();
最终字符串[]xVals=新字符串[ExRegList.length()];
试一试{
对于(int i=0;i
而不是这个:

bottomAxis.setLabelCount(entries.size());
使用此重载版本:

bottomAxis.setLabelCount(entries.size(), true);
第二个参数,
boolean force
强制具有精确的标签数。没有它,有时该方法无法工作,就像您的情况一样。从源代码中可以看到:

设置y轴最大值为25,最小值为2的标签条目数, 默认值:6,注意这个数字不是固定的(如果force==false) 只能是近似的


bottomAxis.setLabelCount(entries.size(),true);并将边距设置为正确,以使最后一次计数可见。

Hah,再次帮助:)看看我的答案。我已经测试过了,它现在正在运行。非常感谢!!为什么我错过了这一点…我已经看到了…谢谢!!你总是节省我的时间。谢谢!!先生,你能看到一件事吗?我读了几乎写过,但我没有解决它…!仍然不是很奇怪我有同样的问题,但在我的情况下,我希望最后一个标签是可见的以防。不一定显示所有标签,但至少应显示最后一个标签。如何设置边距?