处理追加浮点数[]

时间:2012-12-27 17:37:45

标签: processing utilities

我正在处理一个处理应用程序,它应该从串口抓取数据并放入各种图表中。我已经下载了giCentre Utilities库以绘制图形。

基于其中一个示例,我得到它来绘制一个简单的图形,但由于它将实时从串行端口获取数据,我需要能够添加数据。我试图使用Append()函数,但没有任何运气。

import org.gicentre.utils.stat.*;    // For chart classes.


float[] test = {1900, 1910, 1920, 1930, 1940, 1950, 1960, 1970, 1980, 1990};

float[] test2 ={ 19000,  6489,  6401, 7657, 9649, 9767, 12167, 15154, 18200, 23124};

XYChart lineChart;

/** Initialises the sketch, loads data into the chart and customises its appearance.
  */
void setup()
{
  size(500,200);
  smooth();
  noLoop();

  PFont font = createFont("Helvetica",11);
  textFont(font,10);

  // Both x and y data set here.  
  lineChart = new XYChart(this);
  append(test, 2050); 
  append(test2, 21000);
  lineChart.setData(test, test2);

  // Axis formatting and labels.
  lineChart.showXAxis(true); 
  lineChart.showYAxis(true); 
  lineChart.setMinY(0);

  lineChart.setYFormat("###");  
  lineChart.setXFormat("0000");   

  // Symbol colours
  lineChart.setPointColour(color(180,50,50,100));
  lineChart.setPointSize(5);
  lineChart.setLineWidth(2);
}

/** Draws the chart and a title.
  */
void draw()
{
  background(255);
  textSize(9);
  lineChart.draw(15,15,width-30,height-30);

}

不是行

append(test, 2050); 
append(test2, 21000);

应该在(2050,21000)添加一个新的数据点?每次串行数据进入时都必须调用这些,然后重绘图。

非常感谢任何帮助或建议。

1 个答案:

答案 0 :(得分:0)

append()函数返回附加的数组。 append(test, 2050)实际上并未更改test数组,返回一个等效于test的数组,并附加了2050。所以你应该能够做到以下几点:

test = append(test, 2050);
test2 = append(test2, 21000);

修改

以下是处理参考页面上的文档:append()。这里有一些代码可以作为一个简单的测试(或学习工具)运行:

void setup()
{
  int[] a = {1, 2, 3};
  int[] b;
  b = append(a, 4);

  print(a.length + "\n");
  print(b.length);
}

返回

3
4