Android的图表与x轴的日期

问题描述:

在这里,我试图表现出与x轴的日期,其中值是从Web服务器检索到的图:

Here I'm trying to show a chart with dates on x-axis where the values are retrieved from web-server:

// Our first data

Date[] x = dates_array; // x values!

double[] y =  readings_array; // y values!



                XYMultipleSeriesRenderer mRenderer = new XYMultipleSeriesRenderer(); // Holds a collection of XYSeriesRenderer and customizes the graph
                XYSeriesRenderer renderer = new XYSeriesRenderer(); // This will be used to customize line 1
                XYSeriesRenderer renderer2 = new XYSeriesRenderer(); // This will be used to customize line 2
                mRenderer.addSeriesRenderer(renderer);
                mRenderer.addSeriesRenderer(renderer2);
                TimeSeries series = new TimeSeries("peak flow"); 
                for( int i = 0; i < x.length; i++)
                {
                    series.add(x[i], y[i]);
                }

                // Our second data
            int[] x2 = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 }; // x values!




                int[] y2 =  { 145, 123, 111, 100, 89, 77, 57, 45, 34, 30}; // y values!
                TimeSeries series2 = new TimeSeries("Line2"); 
                for( int i = 0; i < x2.length; i++)
                {
                    series2.add(x2[i], y2[i]);

                }

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



                // Customization time for line 1!
                renderer.setColor(Color.WHITE);
                renderer.setPointStyle(PointStyle.SQUARE);
                renderer.setFillPoints(true);
                // Customization time for line 2!
                renderer2.setColor(Color.YELLOW);
                renderer2.setPointStyle(PointStyle.DIAMOND);
                renderer2.setFillPoints(true);



                Intent intent = ChartFactory.getTimeChartIntent(getApplicationContext(), dataset,
                     mRenderer, "DD MMM yyyy");
                startActivity(intent);
            }
        });

它正常工作与y轴,但是,从x轴显示的值是随机值不是我的价值观!
任何帮助吗?

It works fine with the y-axis but on the x-axis the values shown are random values not my values! Any help please?

的TimeSeries 你应该使用添加(日期X,双Y )方法,而不是添加(双X,双Y)之一。

In the TimeSeries you should use the add(Date x, double y) method, not the add(double x, double y) one.

如果你想在X轴标签是数据的准确日期,那么这样做:

If you want the X axis labels to be exactly the dates of your data then do this:

renderer.setXRoundedLabels(false);