A very inefficient programming method is your use of "insert into array" to append new data, especially since you insert a column at a time. The way the data is linearly arranged in memory, replacing a column requires rewriting of the entire array every time because the new elements are not consecutive in memory.
(I would think that appending a row at a time would be slightly more efficient, because they would be written consecutively, and at the end of the array in your case. This would be identical to a simple "built array" node).
Still, all these methods cause a
resizing operation of the array, always an expensive condition that should be avoided.
Preallocating a fixed size array, then replacing rowns as you go is the most efficient. The array memory is allocated once.You should update your graph as little as practical, so definitely not a pixel at a time. A row at a time is probably OK but if the loop rate is very fast, you could even put the graph in a case structure and update only every 10th iteration.