【问题标题】:Linechart using mpandroidchart使用 mpandroidchart 的折线图
【发布时间】:2018-02-25 03:26:15
【问题描述】:

我使用achartengine 库通过获取实时数据来创建LineChart。现在我想用 mpandroidchart 库替换这个库以获得相同的图表。

我想用mpandroidchart替换下面的代码

TimeSeries dataset = new TimeSeries("temp");
XYSeriesRenderer renderer = new XYSeriesRenderer();

用什么头文件和方法可以替换上面的代码来得到同样的Linechart?

【问题讨论】:

  • 如果您关注Mpchart Example 来全面了解每种类型的图表,那就太好了。

标签: android mpandroidchart


【解决方案1】:

您可以参考下面使用 mpandroidcharts 3.0.4 的折线图示例来实现:

    lineEntries = new ArrayList<Entry>();
    lineEntries.add(new Entry(0, 1));
    lineEntries.add(new Entry(1, 2));
    lineEntries.add(new Entry(2, 3));
    lineEntries.add(new Entry(3, 4));
    lineEntries.add(new Entry(4, 2));
    lineEntries.add(new Entry(5, 3));
    lineEntries.add(new Entry(6, 1));
    lineEntries.add(new Entry(7, 5));
    lineEntries.add(new Entry(8, 7));
    lineEntries.add(new Entry(9, 6));
    lineEntries.add(new Entry(10, 4));
    lineEntries.add(new Entry(11, 5));

    lineDataSet = new LineDataSet(lineEntries, "Oil Price");
    lineDataSet.setAxisDependency(YAxis.AxisDependency.LEFT);
    lineDataSet.setHighlightEnabled(true);
    lineDataSet.setLineWidth(2);
    lineDataSet.setColor(getColor("defaultBlue"));
    lineDataSet.setCircleColor(getColor("defaultOrange"));
    lineDataSet.setCircleRadius(6);
    lineDataSet.setCircleHoleRadius(3);
    lineDataSet.setDrawHighlightIndicators(true);
    lineDataSet.setHighLightColor(Color.RED);
    lineDataSet.setValueTextSize(12);
    lineDataSet.setValueTextColor(getColor("primaryDark"));

    LineData lineData = new LineData(lineDataSet);

    lineChart.getDescription().setText("Price in last 12 days");
    lineChart.getDescription().setTextSize(12);
    lineChart.setDrawMarkers(true);
    lineChart.setMarker(markerView(context));
    lineChart.getAxisLeft().addLimitLine(lowerLimitLine(2,"Lower Limit",2,12,getColor("defaultOrange"),getColor("defaultOrange")));
    lineChart.getAxisLeft().addLimitLine(upperLimitLine(5,"Upper Limit",2,12,getColor("defaultGreen"),getColor("defaultGreen")));
    lineChart.getXAxis().setPosition(XAxis.XAxisPosition.BOTH_SIDED);
    lineChart.animateY(1000);
    lineChart.getXAxis().setGranularityEnabled(true);
    lineChart.getXAxis().setGranularity(1.0f);
    lineChart.getXAxis().setLabelCount(lineDataSet.getEntryCount());
    lineChart.setData(lineData);

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-03-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多