2012-04-02 130 views
0

其实我已经在池莉构建我的应用程序的TimeChart图。但在x轴上显示日期时显示问题。下面显示了使用渲染器设计图表时使用的代码以及屏幕截图。如果有人知道为什么会出现这个问题,请帮我解决这个问题。如何显示在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

+0

你好,我想我们的代码得到结果为“我得到的输出”的形象。但在x轴我只得到时代(“1366704743”)值而不是像日期“12月-2013”​​。 u能帮助我把这里请..谢谢... – kAnNaN 2013-04-23 08:13:16

回答

0

从您的API,我相信你正在使用AChartEngine。 你是如何构建TimeChart实例的? 你应该做的是这样的:

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

其中pattern是,你应该调整为获得所需显示的日期格式格式。

+0

星爷我做它像只....但你可以检查我的setXAxisMin和setXAxisMax value..becoz在我的情况下,最初的数据点不包含任何东西。它将在稍后由用户放置 – AndroidDev 2012-04-03 09:06:06