#include "TrueBASIC.h" void draw_axes(float xmin, float xmax, float ymin, float ymax); void draw_axes(float xmin, float xmax, float ymin, float ymax) { float dx, dy, tx, ty, x, x0, y, y0; int itick, ntick; // number of tick marks ntick = 10; // dx distance between tick marks on x axis dx = (xmax - xmin)/ntick; // dy distance between tick marks on y axis dy = (ymax - ymin)/ntick; // include margin in window statement GWindow(xmin - dx, ymin - dy, xmax + dx, ymax + dy); x0 = max(0, xmin); if(ymin*ymax < 0) y0 = 0; else y0 = ymin; GWline(xmin, y0, xmax, y0); // horizontal axis GWline(x0, ymin, x0, ymax); // vertical axis tx = 0.1*dy; // size of tick mark ty = 0.1*dx; for(itick = 0; itick <= ntick; ++itick) { x = xmin + itick*dx; GWline(x, y0 - tx, x, y0 + tx); // draw ticks on x axis y = ymin + itick*dy; GWline(x0 - ty, y, x0 + ty, y); // draw ticks on y axis } }