如何在Android中使用GraphView重绘图表

时间:2014-02-18 13:58:23

标签: android android-graphview

我在我的应用程序中使用此库:https://github.com/jjoe64/GraphView-Demos用于绘制图表。这个库是可行的,但是当我想绘制新图表或重绘不工作时

我看到这个链接但没有工作: GraphView and resetData

我在活动中绘制图表的代码:

GraphViewData[] newData = new GraphViewData[arrayWeight.size()];
    int i = 0;
    String date_now = "";

    for (Weight w : arrayWeight) {
        i += 1;
        date_now = w.getdate();
        date_now = date_now.substring(8);

        newData[arrayWeight.indexOf(w)] = new GraphViewData(
                Integer.parseInt(date_now), w.getWeight());

    }

    GraphViewSeries exampleSeries = new GraphViewSeries(newData);
    exampleSeries.resetData(newData);
    GraphView graphView = new LineGraphView(this, "weight");
    graphView.redrawAll();
    graphView.setVerticalLabels(new String[] { "100", "50", "1" });
    graphView.setShowLegend(true);
    graphView.setBackgroundColor(Color.GRAY);

    graphView.addSeries(exampleSeries); // data
    LinearLayout layout = (LinearLayout) findViewById(R.id.layout);
    layout.addView(graphView);

1 个答案:

答案 0 :(得分:2)

如果要使用新数据填充图形,则不必创建新的graphview对象,也不必创建新的graphviewseries对象。 只需使用resetData更改graphviewseries对象中的数据即可。 仔细研究GraphView-Demos项目,有一个工作示例。