Как отобразить даты на оси X в правильном порядке - PullRequest
0 голосов
/ 02 апреля 2012

На самом деле я построил график TimeChart в своем приложении.Но при отображении дат на оси х это показывает проблему.Код, который я использовал при разработке диаграммы с использованием рендерера, показан ниже вместе со снимком экрана.Если кто-то знает, почему возникает эта проблема, пожалуйста, помогите мне решить эту проблему.

Код:

    Calendar pCalendar_FirstDay = Calendar.getInstance();
    int nMinDay = pCalendar_FirstDay.getActualMinimum(Calendar.DATE);
    Date currentDate = pCalendar_FirstDay.getTime();        


    renderer = new XYMultipleSeriesRenderer();     

    //set value for x axis      
    renderer.setChartTitle("Weight / Temperature");
    renderer.setXLabels(15);        
    renderer.setXAxisMin(new Date(currentDate.getYear(), currentDate.getMonth(), nMinDay).getTime());
    renderer.setXAxisMax(currentDate.getTime());
    renderer.setXLabelsAlign(Align.CENTER);

    //set value for y axis
    renderer.setYLabels(10);  
    renderer.setYTitle("Weight", 0);
    renderer.setYAxisMin(10, 0);
    renderer.setYAxisMax(90, 0);
    renderer.setYAxisAlign(Align.LEFT, 0);
    renderer.setYLabelsAlign(Align.LEFT, 0);

    renderer.setPanLimits(new double[]{0,currentDate.getTime(), 10, 90});
    renderer.setAxisTitleTextSize(12);
    renderer.setChartTitleTextSize(12);
    renderer.setLabelsTextSize(10);
    renderer.setLegendTextSize(12);
    renderer.setPointSize(5f);  
    renderer.setApplyBackgroundColor(true);
    renderer.setBackgroundColor(Color.parseColor("#F5F5F5"));
    renderer.setMarginsColor(Color.parseColor("#F5F5F5"));
    renderer.setAxesColor(Color.LTGRAY);
    renderer.setLabelsColor(Color.parseColor("#5f5f5f"));          
    renderer.setShowGrid(true);
    renderer.setGridColor(Color.GRAY); 

Вывод, который я получил

enter image description here

Вывод, который я хочу получить

enter image description here

1 Ответ

0 голосов
/ 03 апреля 2012

Я полагаю, что из ваших API вы используете AChartEngine. Как вы создали экземпляр TimeChart? Вы должны делать что-то вроде этого:

ChartFactory.getTimeChartIntent(context, dataset, renderer, pattern);

где шаблон - это формат форматирования даты, который вы должны настроить для получения желаемого дисплея.

...