Last updated at 9:59 pm UTC on 10 November 2023
Original author: Diego Gomez Deck, currently maintained by various contributors. Tested in Squeak 6.1 and appears to work well.
Morph to draw XY plots. See the methods testXXX in the class side.
Look at the code behind those methods in Browser
Find in SqueakMap or simply install the latest version with Monticello
- Unless you change your color depth from 16 to 32, you might experience some troubles concerning the improper color rendering. This is nothing harmfull but may confuse you so you better change it to 32. (world menu / appearance ... / set display depth ... / 32)
See it in action
- Logarithmic and Exponential representation (eam)
Kwiyi Woo February 01, 2004: I am pretty new to squeak and tried to use plotMorph to create a curve graph. I cannot find the methods "test", "test2" or "testWithReferences" in the PlotMorph class. How can the PlotMorph send message to them. Also I don't know how to plot a curve at specified function. Could anyone give me some suggestions?
German S. Arduino:
Look at class side for these methods. What I have found (in the test4) is this:
Raymond Asselin: As you see in a SystemBrowser, 5 classes are used to make aPlotMorph:
- PlotPoint and
So if you want to get rid of PlotMorphGrid you have to find where this class is used.
function := [:x | x degreesToRadians sin / 5 +
((x / 10) degreesToRadians cos +
(x / 10) degreesToRadians sin) * 100].
0 to: 3000
do: [:x | pm series: #test2 addPoint: x
& (function value: x)].
pm openInWorld 3
where a mathematical function is defined within a bloc
[ :x | x blabla....] and assigned to the variable function to be used in the loop below where the y value of a point is compute with that function . So, if you change the mathematical function in that bloc you'll have the result you are looking for.
Kwiyi Woo: I got the idea and successfully created my own graph. Thanks. But now I am trying to remove te grid on the Axis coordinators. In other words, I only want to keep the X and Y axis without having a grid on the background. Is there any attribute I can turn off?
One way to find this is: (1) to select the PlotMorphGrid class in the SystemBrowser and (2) to choose in the contextual menu (alt+click on a Mac // right button on Windows) the menu item “class refs” this will open a window with the őusers1 of the selected class. You'll see that there is only one user, it is the class AxesMorph in is őinitialize1 method. (3) Select it and you will see in the bottom pane the code. Find in which statement PlotMorphGrid is used.
grid := PlotMorphGrid on: self.
grid := self and the result seem to be what you are looking for.
So remember to look for the class refs of a class when you want to know who uses it, or how it is used.