1

我已经编辑了我的问题...

这是我正在使用的代码,我正在随着时间增加动物的重量。

    else if (str.equals("Weight"))
    {
        mDbHelper.open();
        wtArray = mDbHelper.getWeight();
        mDbHelper.close();

       TimeSeries diaSeries = new TimeSeries("Weight");

        for ( int i =0; i <wtArray.size(); i++)
        {
           Weight wt = wtArray.get(i);
           diaSeries.add(wt.date, wt.weight);
        }


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

        XYMultipleSeriesRenderer mrenderer = new XYMultipleSeriesRenderer();

        XYSeriesRenderer renderer = new XYSeriesRenderer();
        renderer.setColor(Color.RED);
        renderer.setPointStyle(PointStyle.DIAMOND);
        renderer.setFillPoints(true);
        mrenderer.addSeriesRenderer(renderer);

        graphLayout.addView(ChartFactory.getTimeChartView(this, dataset, mrenderer, "MM/dd/yyyy"));
    }

它从不在 x 轴上显示任何值,即时间。我正在使用线性布局。请告诉我有什么问题。也没有显示图表线。

其次,如果我想显示从特定日期到另一个日期的数据怎么办?

4

2 回答 2

4

您在这里有两个选择:

  • LineChart您在禁用常规标签的同时继续使用并添加自定义标签:

    渲染器.setXLabels(0); renderer.addXTextLabel(date.getTime(), "标签");

  • 您使用 aTimeChart这是LineChart使用您提供的格式显示时间值的,而不是LineChart.

于 2012-09-14T11:57:45.470 回答
1

奥马尔。检查我的以下代码。我在TimeChart这里使用a。

    XYMultipleSeriesRenderer renderer = buildRenderer(colors, styles);
    // mDateFrom and mDateTo are Date Objects
        // Set the date span here
    setChartSettings(renderer, "title", "x_tiele", "y_title", 
            mDateFrom.getTime(),
            mDateTo.getTime(), 0, 1, Color.GRAY, Color.LTGRAY);

    XYMultipleSeriesDataset dataset = buildDateDataset(titles, mHashMapGroupedEntites);

    return ChartFactory.getTimeChartView(context, dataset,
                renderer, "yyyy/MM/dd HH"+":00:00");

试试这个。

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

    XYMultipleSeriesRenderer mrenderer = new XYMultipleSeriesRenderer();

    mrenderer.setXAxisMin(YOUR_DATE_MIN);
    mrenderer.setXAxisMax(YOUR_DATE_MAX);

    // XYSeriesRenderer renderer = new XYSeriesRenderer();
    mrenderer.setColor(Color.RED);
    mrenderer.setPointStyle(PointStyle.DIAMOND);
    mrenderer.setFillPoints(true);
    // mrenderer.addSeriesRenderer(renderer);

    graphLayout.addView(ChartFactory.getTimeChartView(this, dataset, mrenderer, "MM/dd/yyyy"));
于 2012-09-14T12:19:20.413 回答