📄 draw_box2.c
字号:
/*--------------------------------------------------------------+| || draw_box -- draw labeled box in a form suitable for plotas || || Shankar Narayan, EPI || Adapted by Joseph T. Buck. || This version is a modification of the original draw_box. || by Ajaipal S. Virdy || |+--------------------------------------------------------------*/static char *sccs_id = "%W% %G% EPI";draw_box (xmin, xmax, xstep, xdp, ymin, ymax, ystep, ydp, ux, uy, lx, ly)double xmin, xmax, xstep, ymin, ymax, ystep;int ux, uy; /* upper left corner coordinates */int lx, ly; /* lower right corner coordinates */{ char xfmt[10], yfmt[10]; double tmp; int ix, iy; int width, height; (void) sprintf (xfmt, "%%g\n"); (void) sprintf (yfmt, "%%g\n");/* (void) sprintf (xfmt, "%%5.%df\n", xdp); (void) sprintf (yfmt, "%%5.%df\n", ydp);*/ printf ("\nc 1\n"); width = lx - ux; height = ly - uy; printf ("m %d %d\n", uy, ux); printf ("d %d %d\n", uy, lx); printf ("d %d %d\n", ly, lx); printf ("d %d %d\n", ly, ux); printf ("d %d %d\n", uy, ux);/* printf ("d 500 5500\nd 3000 5500\nd 3000 500\nd 500 500\n"); */ printf ("c 2\n"); /* Draw vertical grid */ for (tmp = xmin; tmp <= xmax; tmp = tmp + xstep) { ix = ux + width * (tmp - xmin) / (xmax - xmin); printf ("m %d %4d\n", uy, ix);/* printf ("m 500 %4d\n", ix); */ printf ("d %d %4d\n", ly, ix);/* printf ("d 3000 %4d\n", ix); */ printf ("m %d %4d\nt 3 1\n", ly + 150, ix - 150);/* printf ("m 3260 %4d\nt 5 1\n", ix - 150); */ printf (xfmt, tmp); } /* Draw ticks */ for (tmp = xmin + xstep / 2; tmp <= xmax; tmp = tmp + xstep) { ix = ux + width * (tmp - xmin) / (xmax - xmin); printf ("m %d %4d\n", uy - 25, ix);/* printf ("m 475 %4d\n", ix); */ printf ("d %d %4d\n", uy + 25, ix);/* printf ("d 525 %4d\n", ix); */ printf ("m %d %4d\n", ly - 25, ix);/* printf ("m 2975 %4d\n", ix); */ printf ("d %d %4d\n", ly + 25, ix);/* printf ("d 3025 %4d\n", ix); */ } /* Draw horizontal grid */ for (tmp = ymin; tmp <= ymax; tmp = tmp + ystep) { iy = ly - height * (tmp - ymin) / (ymax - ymin); printf ("m %4d %d\n", iy, lx);/* printf ("m %4d 5500\n", iy); */ printf ("d %4d %d\n", iy, ux);/* printf ("d %4d 500\n", iy); */ printf ("m %4d %d\nt 3 1\n", iy + 30, 200);/* printf ("m %4d 0\nt 5 1\n", iy + 100); */ printf (yfmt, tmp); }}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -