I would like to plot various datasets on a Tkinter canvas widget.

The problem is that each of my datasets have different x,y extremes.  For 
instance, one dataset may have xmin = 0, xmax = 300, ymin = 0, ymax = 300;  
whereas the next dataset may have xmin = -200, xmax = 1200, ymin = 2000, ymax = 
5000.  I need the whole canvas area to be available for plotting each dataset 
consecutively - i.e., plot one dataset, capture the image, clear the canvas and 
plot the next dataset with a new scale, etc.

As best I can tell the Tkinter canvas widget uses two coordinate systems:  1) 
the canvas coordinate system in pixels that runs from (0, 0) to (xmaxpixel, 
ymaxpixel), and 2) a window coordinate system that allows a wider range to 
enable scrolling the canvas within the window coordinate system.

What I'd like to do is simply scale the canvas coordinate system to fit the x,y 
extents of a dataset.  I can write a function to do this but it would be costly 
time-wise for plotting a large dataset (to say nothing of multiple large 
datasets).

My documentation for Tkinter is pretty sketchy.  I was hoping there was a 
canvas method I could use to re-scale the canvas widget before I plot each 
dataset, but there's nothing apparent in my documentation.

Is there someone familiar with Tkinter that would know how to re-scale a 
canvas?  Or, could tell me that there is no efficient way to do this other than 
writing a function to re-scale for each data point?

I'm sure that there are Python add-ins that would do what I want, but this is a 
quick one-time project and it's not worth the time to muck around with them 
compared to writing a scaling function.

Thanks for your help.
_______________________________________________
Tutor maillist  -  Tutor@python.org
http://mail.python.org/mailman/listinfo/tutor

Reply via email to