Plot coordinate pairs: Difference between revisions
Content added Content deleted
MaiconSoft (talk | contribs) (Added Delphi example) |
(Added Wren) |
||
Line 2,910: | Line 2,910: | ||
plot_coordinate_pairs x, y |
plot_coordinate_pairs x, y |
||
End Sub</lang> |
End Sub</lang> |
||
=={{header|Wren}}== |
|||
{{libheader|DOME}} |
|||
<lang ecmascript>import "graphics" for Canvas, ImageData, Color |
|||
import "dome" for Window |
|||
import "math" for Point |
|||
class PlotCoordinates { |
|||
construct new(width, height) { |
|||
Window.title = "Plot coordinates" |
|||
Window.resize(width, height) |
|||
Canvas.resize(width, height) |
|||
_width = width |
|||
_height = height |
|||
} |
|||
init() { |
|||
var x = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] |
|||
var y = [2.7, 2.8, 31.4, 38.1, 58.0, 76.2, 100.5, 130.0, 149.3, 180.0] |
|||
plotCoordinates(x, y) |
|||
} |
|||
plotCoordinates(x, y) { |
|||
var n = x.count |
|||
// draw axes |
|||
Canvas.line(40, _height - 40, _width - 40, _height - 40, Color.blue, 2) |
|||
Canvas.line(40, _height - 40, 40, 40, Color.blue, 2) |
|||
var length = 40 * n |
|||
var div = length / 10 |
|||
var j = 0 |
|||
for (i in 0..9) { |
|||
var p = Point.new(40 + j, _height - 40) |
|||
Canvas.print(i.toString, p.x - 4, p.y + 4, Color.white) |
|||
j = j + div |
|||
} |
|||
j = div |
|||
for (i in 1..9) { |
|||
var p = Point.new(10, _height - 40 - j) |
|||
var s = (i * 20).toString |
|||
if (s.count == 2) s = " " + s |
|||
Canvas.print(s, p.x, p.y, Color.white) |
|||
j = j + div |
|||
} |
|||
Canvas.print("X", _width - 44, _height - 36, Color.green) |
|||
Canvas.print("Y", 20, 40, Color.green) |
|||
// plot points |
|||
var xStart = 40 |
|||
var xScale = 40 |
|||
var yStart = 40 |
|||
var yScale = 2 |
|||
var points = List.filled(n, null) |
|||
for (i in 0...n) { |
|||
points[i] = Point.new(xStart + x[i]*xScale, _height - yStart - y[i]*yScale) |
|||
} |
|||
Canvas.circlefill(points[0].x, points[0].y, 3, Color.red) |
|||
for (i in 1...n) { |
|||
Canvas.line(points[i-1].x, points[i-1].y, points[i].x, points[i].y, Color.red) |
|||
Canvas.circlefill(points[i].x, points[i].y, 3, Color.red) |
|||
} |
|||
} |
|||
update() {} |
|||
draw(alpha) {} |
|||
} |
|||
var Game = PlotCoordinates.new(500, 500)</lang> |
|||
=={{header|XPL0}}== |
=={{header|XPL0}}== |