Beefy Boxes and Bandwidth Generously Provided by pair Networks
P is for Practical
 
PerlMonks  

Re: Pixel-based Plotting in Perl?

by zentara (Archbishop)
on Sep 02, 2008 at 20:44 UTC ( [id://708597]=note: print w/replies, xml ) Need Help??


in reply to Pixel-based Plotting in Perl?

Use the various canvas widgets...Tk, Gtk2, Zinc, etc. For something complex, using the excellent gnuplot as the engine, see SuperFormula with gnuplot and Tk. For simple straight forward plotting, see Tk Realtime data aquisition or look at the Tk "widget" demo for the canvas 2-d plot.

You will find however, that pixel plotting (single pixels) is VERY intensive, so you really want to use some sort of lines( actually curves, a line is just a straight curve :-))

You also might like to look at Tk Patio/Office layout designer for circles, polygons, etc. that are draggable.

Here is a sample of styles.

#!/usr/bin/perl use warnings; use strict; use Tk; my $mw = tkinit; $mw->geometry("600x440+100+100"); my $canvas = $mw->Canvas(-width => 600, -height => 400, -bg => 'black')->pack(); my $line; $line = $canvas->createLine(0,200,100,200,400,200,600,200, -width => 5, -smooth => 1, -splinesteps => 20, -fill => 'purple'); my $timer = $canvas->repeat(10,sub{ $canvas->delete($line); my @vals = ( 0, 200, 200, 200 + rand 300, 400, 200 - rand 300, 600, 2 +00); $line = $canvas->createLine( @vals, -width => 5, -smooth => 1, -splinesteps => 20, -fill => 'purple'); }); $mw->Button(-text=>'Quit',-command =>sub{exit})->pack; MainLoop;

I'm not really a human, but I play one on earth Remember How Lucky You Are

Log In?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: note [id://708597]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this?Last hourOther CB clients
Other Users?
Others scrutinizing the Monastery: (2)
As of 2024-04-20 05:58 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found