在 MPAndroidChart 的折线图中绘制科学数据
Graphing scientific data in LineChart from 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”,依此类推...但这在数学上是错误的,因为图表未正确缩放。
在文档中我发现 类 像 Entry
、BarEntry
、BubbleEntry
、CandleEntry
但没有像 LineEntry
这样的东西.
任何人都可以为我指明如何实现这一目标的正确方向吗?
谢谢,
HSB
目前x 轴仅支持整数。因此,原因是 x 轴上的每个字符串都应对应于 y 轴上的值。
这将在库的下一个 release 中更改,其中两个值都将更改为 double
。
新版本应该会在四月份发布。
我正在使用 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”,依此类推...但这在数学上是错误的,因为图表未正确缩放。
在文档中我发现 类 像 Entry
、BarEntry
、BubbleEntry
、CandleEntry
但没有像 LineEntry
这样的东西.
任何人都可以为我指明如何实现这一目标的正确方向吗?
谢谢,
HSB
目前x 轴仅支持整数。因此,原因是 x 轴上的每个字符串都应对应于 y 轴上的值。
这将在库的下一个 release 中更改,其中两个值都将更改为 double
。
新版本应该会在四月份发布。