gpt4 book ai didi

java - MPAndroidChart - 为什么线不显示?

转载 作者:行者123 更新时间:2023-11-30 05:01:28 24 4
gpt4 key购买 nike

我想创建一个带有时间表的小型应用程序。但出于某种原因,当我向图表添加很多点时,它根本就没有出现,尽管添加少量点一切正常。

   void f() {
ArrayList<Entry> values = new ArrayList<>();

for (int i = x1, index = 0, j = y; i < x2; ++i, ++index)
{
float waveLength = (float) calib_a * i + (float) calib_b;
int pixel = rotated.getPixel(i, j);
float I = (Color.red(pixel) + Color.blue(pixel) + Color.green(pixel)) / 765.0f;
values.add(new Entry((int) waveLength, I));
Log.d("[SPECTRAl]", " WAVE: " +waveLength + " I: " + I);
// i += 4;
}



LineDataSet lineValues = new LineDataSet(values, "");

lineValues.setColor(Color.BLACK);
lineValues.setLineWidth(2f);
LineData line = new LineData(lineValues);
chart.getXAxis().setGranularity(100f);
chart.setData(line);
chart.invalidate();
}

但是使用:

   void f() {
ArrayList<Entry> values = new ArrayList<>();

values.add(new Entry(100, 6));
values.add(new Entry(200, 3));
values.add(new Entry(300, 2));
values.add(new Entry(400, 4));



LineDataSet lineValues = new LineDataSet(values, "");

lineValues.setColor(Color.BLACK);
lineValues.setLineWidth(2f);
LineData line = new LineData(lineValues);
chart.getXAxis().setGranularity(100f);
chart.setData(line);
chart.invalidate();
}

最佳答案

以下代码创建问题:

 for (int i = x1, index = 0, j = y; i < x2; ++i, ++index)
{
float waveLength = (float) calib_a * i + (float) calib_b;
int pixel = rotated.getPixel(i, j);
float I = (Color.red(pixel) + Color.blue(pixel) + Color.green(pixel)) / 765.0f;
values.add(new Entry((int) waveLength, I));
Log.d("[SPECTRAl]", " WAVE: " +waveLength + " I: " + I);
// i += 4;
}

首先,您需要将 int 转换为 float 的转换更改为以下行,因为此库获取 float 值作为输入:

values.add(new Entry((float) waveLength, I)); 

相反,您可以移除转换,因为您的波长已经是 float 的:

values.add(new Entry(waveLength, I));

其次:values.add(new Entry(100, 6)); 这一行作为values.add(new Entry(x, y));

所以你需要给图表适当的x值和对应的y值来生成图表。如果 x 在 n 的值(这里 n 是条目的索引)在任何时候等于或小于 n-1 的 x 值,那么 x 值应该以正确的顺序创建图表,那么您将无法生成图表图表。因此,按照我描述的你的图表修复上面的 for 循环代码将正常工作。祝你好运:)

关于java - MPAndroidChart - 为什么线不显示?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58173935/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com