如何以正确的顺序在x轴上显示日期

时间:2012-04-02 06:38:41

标签: android achartengine

实际上我在我的应用中构建了TimeChart图表。但是在x轴上显示日期时显示问题。我在使用渲染器设计图表时使用的代码如下所示和屏幕截图一起显示。如果有人知道为什么会出现这个问题,请帮我解决这个问题。

代码:

    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 :(得分:0)

从您的API中,我认为您使用的是AChartEngine。 你是如何构建TimeChart实例的? 你应该做这样的事情:

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

其中pattern是一种日期格式化格式,您应该调整它以获得所需的显示。