android - 如何使用Achartengine实现折线图

标签 android graph achartengine

我是 android 中图形概念的新手。在我的应用程序中,我想使用 achartengine 实现折线图。我有 achartengine 的演示,它包含很多代码。我无法理解折线图。我想要使​​用图表引擎的简单折线图。请任何人帮助我。

谢谢

最佳答案


以下方法将生成随机点 (x,y) 并将其添加到 XYSeries(这是要在图表上绘制的一系列点)。

private XYMultipleSeriesDataset getDemoDataset() {
    XYMultipleSeriesDataset dataset = new XYMultipleSeriesDataset();
    final int nr = 7;
    Random r = new Random();
    for (int i = 0; i < SERIES_NR; i++) {
        XYSeries series = new XYSeries("Demo series " + (i + 1));
        for (int k = 0; k < nr; k++) {
            series.add(k, 20 + r.nextInt() % 100);
        }
        dataset.addSeries(series);
    }
    return dataset;
}

以下方法将返回用于绘制折线图的多重渲染器。

private XYMultipleSeriesRenderer getDemoRenderer() {
    XYMultipleSeriesRenderer renderer = new XYMultipleSeriesRenderer();
    renderer.setAxisTitleTextSize(12);
    renderer.setChartTitleTextSize(12);
    renderer.setLabelsTextSize(15);
    renderer.setLegendTextSize(15);
    renderer.setPointSize(5f);
    renderer.setMargins(new int[] { 20, 30, 15, 0 });
    XYSeriesRenderer r = new XYSeriesRenderer();
    r.setColor(Color.BLACK);
    r.setPointStyle(PointStyle.CIRCLE);
    r.setFillBelowLine(false);
    r.setFillPoints(true);
    renderer.addSeriesRenderer(r);
    setChartSettings(renderer);
    return renderer;
}

以下方法将为您的图表设置设置。您可以在 AChartEngine 提供的文档中查找更多选项。

private void setChartSettings(XYMultipleSeriesRenderer renderer) {
    renderer.setChartTitle("Chart demo");
    renderer.setXTitle("x values");
    renderer.setYTitle("y values");
    renderer.setApplyBackgroundColor(false);
    renderer.setRange(new double[] {0,6,-70,40});
    renderer.setFitLegend(false);
    renderer.setAxesColor(Color.BLACK);
    renderer.setShowGrid(true);
    renderer.setXAxisMin(0.5);
    renderer.setXAxisMax(10.5);
    renderer.setYAxisMin(0);
    renderer.setZoomEnabled(false);
    renderer.setYAxisMax(30);
  }

您现在可以通过两种方式获取折线图:

  • 图表作为可以添加到任何布局的 View :

    ChartFactory.getLineChartView(这个, getDemoDataset(), getDemoRenderer());

  • 作为新 Activity 的 Intent 的图表

    ChartFactory.getLineChartIntent(这个, getDemoDataset(), getDemoRenderer());

PS: SERIES_NR 是一个常量,它告诉您要绘制多少条线系列。

关于android - 如何使用Achartengine实现折线图,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7684073/

相关文章:

android - 将适配器分配给 Fragment 中的 GridView 时的空指针

php - 使用 volley 从 mysql 中检索数据(多行)

Android-向布局添加 View 导致布局位于 ActionBar 前面

android - 绘制路线和海拔剖面图

java - 将 JSON 字符串拆分为两个变量

java - 我可以用什么方式在 Java 中表示加权的有向图?

python - matplotlib如何计算直方图的密度

android - AChartEngine - 通过 x 读取 y 值

android - 如何更改图表引擎中饼图的边距?

android -- 如何使用 achartengine -steps