从MPAndroidChart中绘制LineChart中的科学数据

时间:2016-03-31 07:36:29

标签: java android mpandroidchart

我正在使用MPAndroidChart库在我的应用中绘制图表(尤其是LineCharts)。

要首先使用上述库绘制LineChart,我们需要创建条目和标签,如下所示:

    // Getting LineChart
    LineChart lineChart = (LineChart) rootView.findViewById(R.id.chart);

    // Creating list of entry
    ArrayList<Entry> entries = new ArrayList<>();

    // Creating labels
    ArrayList<String> labels = new ArrayList<String>();

    // Fill entries and lables
    entries.add(new Entry(326.422f, 0));
    entries.add(new Entry(8.36f, 1));
    entries.add(new Entry(6.5f, 2));
    entries.add(new Entry(2.37f, 3));
    entries.add(new Entry(18.13f, 4));
    entries.add(new Entry(9f, 5));

    labels.add("0");
    labels.add("1");
    labels.add("2");
    labels.add("3");
    labels.add("4");
    labels.add("5");

    // Create dataset
    final LineDataSet dataset = new LineDataSet(entries, "Legend description");

    // Create LineData with labels and dataset prepared previously
    LineData data = new LineData(labels, dataset);

    // Set the data and list of labels into chart
    lineChart.setData(data);

好的,这是有效的,但关键是如果我想绘制一组这样的坐标:X = {(35.3, 22.9), (69.39, 27.36), (66.37, 31.697), (58.36, 36.32), (45.336, 38.296), (25.39, 40), (67.396, 43.633)}

Entry的构造函数接受一个浮点数作为第一个参数,一个整数作为第二个参数,那么如何将上述X集合提供给LineChart

有人可以说我可以相应地设置标签,例如第一个标签可以标记为“22.9”,第二个标签标记为“27.36”,依此类推......但这在数学上是错误的,因为图表不是缩放得当。

在文档中,我发现了EntryBarEntryBubbleEntryCandleEntry等类,但没有像LineEntry这样的内容。

有人能指出我如何实现这一目标的正确方向吗?

谢谢,

HSB

1 个答案:

答案 0 :(得分:1)

目前 x轴仅支持整数。因此,原因是x轴上的每个字符串应该对应于y轴上的值。

会在库的下一个release中更改,其中两个值都将更改为double

新版本应于4月发布。