in reply to plotting slowly

kyle is right about avoiding the counter loop that you have there. But "sleep()" might be too coarse unless you get into using Time::HiRes.

Luckily, you already have access to Tk::After, which is probably what you really want in this situation -- e.g. using the "repeat" method described on that man page.