One more example for your consideration if you’re looking to write your own code:
int LoopTimer = 0;
final int LoopTime1000 = 1000; //slower
final int LoopTime500 = 500;
final int LoopTime100 = 100;
final int LoopTime50 = 50;
final int LoopTime10 = 10; //faster
color BLUE = color(64, 124, 188);
final int _graphX = 100;
final int _graphY = 100; // Top margin
final int _graphW = 600;
final int _graphH = 200;
final float _spacing = 10;
float x = _graphX;
float y = _graphY +_graphH;
void viewPortRect() {
fill(BLUE);
rect(_graphX, _graphY, _graphW, _graphH);
}
void setup() {
size(800, 400);
stroke(255);
viewPortRect();
}
void draw() {
if (millis() >= LoopTimer) {
LoopTimer += LoopTime50;
x = x += _spacing;
y = map(random(100), _graphY+_graphH, _graphY, 100, 200);
if (x > _graphX + _graphW - _spacing) {
viewPortRect(); // clear old values
x = _graphX + _spacing;
}
fill(0, 255, 0);
circle(x, y, 4);
}
}
Output:
