如何使AxART引擎格式的XAXIS正确?我希望它只有日期值正确间隔在x轴与日期值,但我似乎无法使其正常工作。
这就是我尝试过的:

 XYMultipleSeriesDataset dataset = new XYMultipleSeriesDataset();
     dataset.addSeries(series);

     XYMultipleSeriesRenderer mRenderer = new XYMultipleSeriesRenderer();
     mRenderer.setBackgroundColor(Color.BLACK);
     mRenderer.setApplyBackgroundColor(true);
     mRenderer.setGridColor(Color.LTGRAY);
     mRenderer.setXLabels(0);
    // mRenderer.setMargins(new int[]{0, 20, 0, 0});

     XYSeriesRenderer renderer = new XYSeriesRenderer();
     //renderer.setDisplayChartValuesDistance(1);
     renderer.setColor(Color.GREEN);

     mRenderer.setXLabels(10);
        if(date_value.length < 10){ //date_value is a large array of dates for the X-Axis

            for(int i = 0; i < date_value.length; i++){
                mRenderer.addXTextLabel(i+1, date_value[i]);
            }

        }

        else if(date_value.length > 10){

            int mod = date_value.length  %  10;
            int add_mod = mod;
            int last = date_value.length;

            mRenderer.addXTextLabel(0, date_value[0]);

            for(int i=0; i < 10; i++){
                mRenderer.addXTextLabel(i, date_value[mod]);

                     mod+=add_mod;


            }
            mRenderer.setXLabelsAngle(90);
            //mRenderer.addXTextLabel(date_value.length, date_value[last]);

        }
    /*get the last elements in the array and parse as double to set the maximum range for X*/
        Calendar ist = Calendar.getInstance();
        Calendar last = Calendar.getInstance();
        ist.setTime(formatter.stringToDateReport(date_value[0]));
        last.setTime(formatter.stringToDateReport(date_value[date_value.length-1]));

    mRenderer.setXAxisMin(ist.get(Calendar.DATE));
     mRenderer.setXAxisMax(last.get(Calendar.DATE));
     mRenderer.addSeriesRenderer(renderer);
     chartView = ChartFactory.getLineChartView(context, dataset, mRenderer);

return chartView;

这就是我得到的:
如你所见,它们没有正确地间隔,它们在X轴线上,并且有不需要的值。例如10, 15, 20。我该怎么纠正?谢谢您。

最佳答案

乍一看你应该把线去掉

mRenderer.setXLabels(10);

就像你在另一行一样。我认为代码告诉Achartengine尝试打印10个标签以及文本标签。
编辑:您还需要使用您希望标签位于的x位置参数调用setXLabels(0)。所以addXTextLabel()

关于android - 如何在Android的aChartEngine中的折线图中正确格式化XAxis值,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/13010687/

10-12 00:27
查看更多