4private import std.string;
5private import std.array;
6private import std.algorithm;
7private import std.stdio;
8private import std.conv;
43 size_t ny = a[0].length;
46 for (
size_t i = 0; i < nx; i++ )
48 assert( ny == a[i].length,
"convert_array(): Array must be 2 dimensional!" );
58 char*[] c_args =
new char*[args.length];
59 foreach (
size_t i,
char[] arg; args )
60 c_args[i] = cast(
char *) toStringz( arg );
61 int argc = cast(
int) c_args.length;
70 assert( nx == v.length,
"plvect(): Arrays must be of same length!" );
71 assert( ny == v[0].length,
"plvect(): Arrays must be of same length!" );
80 assert( nx == v.length,
"plvect(): Arrays must be of same length!" );
81 assert( ny == v[0].length,
"plvect(): Arrays must be of same length!" );
85 c.nx = cast(
PLINT) cgrid.xg.length;
87 c.ny = cast(
PLINT) cgrid.yg.length;
89 c.nz = cast(
PLINT) cgrid.zg.length;
98 assert( nx == v.length,
"plvect(): Arrays must be of same length!" );
99 assert( ny == v[0].length,
"plvect(): Arrays must be of same length!" );
105 c2.nx = cast(
PLINT) cgrid2.xg.length;
106 c2.ny = cast(
PLINT) cgrid2.xg[0].length;
109 assert( c2.nx == cgrid2.yg.length,
"plvect(): Arrays must be of same length!" );
110 assert( c2.ny == cgrid2.yg[0].length,
"plvect(): Arrays must be of same length!" );
114 assert( c2.nx == cgrid2.zg.length,
"plvect(): Arrays must be of same length!" );
115 assert( c2.ny == cgrid2.zg[0].length,
"plvect(): Arrays must be of same length!" );
124 assert( npts == arrowy.length,
"plsvect(): Arrays must be of same length!" );
125 c_plsvect( arrowx.ptr, arrowy.ptr, npts, fill );
133 c_plaxes( x0, y0, toStringz( xopt ), xtick, nxsub, toStringz( yopt ), ytick, nysub );
140 assert( nbin == y.length,
"plbin(): Arrays must be of same length!" );
141 c_plbin( nbin, x.ptr, y.ptr, opt );
147 c_plbox( toStringz( xopt ), xtick, nxsub, toStringz( yopt ), ytick, nysub );
152 string yopt,
string ylabel,
PLFLT ytick,
PLINT nsuby,
153 string zopt,
string zlabel,
PLFLT ztick,
PLINT nsubz )
155 c_plbox3( toStringz( xopt ), toStringz( xlabel ), xtick, nsubx,
156 toStringz( yopt ), toStringz( ylabel ), ytick, nsuby,
157 toStringz( zopt ), toStringz( zlabel ), ztick, nsubz );
167 PLINT[] label_opts,
string[] label,
172 PLINT n_labels = cast(
PLINT) label_opts.length;
175 for (
size_t i = 0; i < values.length; i++ )
177 n_values[i] = cast(
PLINT) values[i].length;
179 immutable(
char ) * *labelz = array( map!toStringz( label ) ).ptr;
180 immutable(
char ) * *axis_optsz = array( map!toStringz( axis_opts ) ).ptr;
181 assert( n_labels == label.length,
"plcolorbar(): Arrays must be of same length!" );
182 assert( n_labels == label_opts.length,
"plcolorbar(): Arrays must be of same length!" );
183 assert( n_axes == axis_opts.length,
"plcolorbar(): Arrays must be of same length!" );
184 assert( n_axes == ticks.length,
"plcolorbar(): Arrays must be of same length!" );
185 assert( n_axes == sub_ticks.length,
"plcolorbar(): Arrays must be of same length!" );
190 bg_color, bb_color, bb_style,
191 low_cap_color, high_cap_color,
192 cont_color, cont_width,
193 n_labels, label_opts.ptr, labelz,
195 ticks.ptr, sub_ticks.ptr,
220 c.nx = cast(
PLINT) cgrid.xg.length;
222 c.ny = cast(
PLINT) cgrid.yg.length;
224 c.nz = cast(
PLINT) cgrid.zg.length;
240 c2.nx = cast(
PLINT) cgrid2.xg.length;
241 c2.ny = cast(
PLINT) cgrid2.xg[0].length;
244 assert( c2.nx == cgrid2.yg.length,
"plcont(): Arrays must be of same length!" );
245 assert( c2.ny == cgrid2.yg[0].length,
"plcont(): Arrays must be of same length!" );
249 assert( c2.nx == cgrid2.zg.length,
"plcont(): Arrays must be of same length!" );
250 assert( c2.ny == cgrid2.zg[0].length,
"plcont(): Arrays must be of same length!" );
267 assert( n == xmin.length,
"plerrx(): Arrays must be of same length!" );
268 assert( n == xmax.length,
"plerrx(): Arrays must be of same length!" );
269 c_plerrx( n, xmin.ptr, xmax.ptr, y.ptr );
276 assert( n == ymin.length,
"plerry(): Arrays must be of same length!" );
277 assert( n == ymax.length,
"plerry(): Arrays must be of same length!" );
278 c_plerry( n, x.ptr, ymin.ptr, ymax.ptr );
285 assert( n == y.length,
"plfill(): Arrays must be of same length!" );
293 assert( n == y.length,
"plfill3(): Arrays must be of same length!" );
294 assert( n == z.length,
"plfill3(): Arrays must be of same length!" );
303 p_dev = to!string( cdev.ptr );
311 fnam = to!string( cfnam.ptr );
318 assert( n == y.length,
"plgradient(): Arrays must be of same length!" );
326 assert( npts == y.length,
"plgriddata(): Arrays must be of same length!" );
327 assert( npts == z.length,
"plgriddata(): Arrays must be of same length!" );
331 assert( nxg ==
zg.length,
"plgriddata(): Arrays must be of same length!" );
332 assert( nyg ==
zg[0].length,
"plgriddata(): Arrays must be of same length!" );
334 c_plgriddata( x.ptr, y.ptr, z.ptr, npts, xg.ptr, nxg, yg.ptr, nyg,
convert_array(
zg ), type, data );
342 p_ver = to!string( cver.ptr );
348 c_plhist( cast(
PLINT) data.length, data.ptr, datmin, datmax, nbin, opt );
352void pllab(
string xlabel,
string ylabel,
string tlabel )
354 c_pllab( toStringz( xlabel ), toStringz( ylabel ), toStringz( tlabel ) );
364 PLFLT text_justification,
365 PLINT[] text_colors,
string[] text,
371 PLINT[] symbol_numbers,
string[] symbols )
374 immutable(
char ) * *textz = array( map!toStringz( text ) ).ptr;
375 immutable(
char ) * *symbolsz = array( map!toStringz( symbols ) ).ptr;
376 assert( nlegend == text_colors.length,
"pllegend(): Arrays must be of same length!" );
377 assert( nlegend == text.length,
"pllegend(): Arrays must be of same length!" );
378 assert( box_colors ==
null || nlegend == box_colors.length,
"pllegend(): Arrays must be of same length!" );
379 assert( box_patterns ==
null || nlegend == box_patterns.length,
"pllegend(): Arrays must be of same length!" );
380 assert( box_scales ==
null || nlegend == box_scales.length,
"pllegend(): Arrays must be of same length!" );
381 assert( box_line_widths ==
null || nlegend == box_line_widths.length,
"pllegend(): Arrays must be of same length!" );
382 assert( line_colors ==
null || nlegend == line_colors.length,
"pllegend(): Arrays must be of same length!" );
383 assert( line_styles ==
null || nlegend == line_styles.length,
"pllegend(): Arrays must be of same length!" );
384 assert( line_widths ==
null || nlegend == line_widths.length,
"pllegend(): Arrays must be of same length!" );
385 assert( symbol_colors ==
null || nlegend == symbol_colors.length,
"pllegend(): Arrays must be of same length!" );
386 assert( symbol_scales ==
null || nlegend == symbol_scales.length,
"pllegend(): Arrays must be of same length!" );
387 assert( symbol_numbers ==
null || nlegend == symbol_numbers.length,
"pllegend(): Arrays must be of same length!" );
388 assert( symbols ==
null || nlegend == symbols.length,
"pllegend(): Arrays must be of same length!" );
390 opt, position, x, y, plot_width,
391 bg_color, bb_color, bb_style,
393 nlegend, opt_array.ptr,
394 text_offset, text_scale, text_spacing,
396 text_colors.ptr, textz,
397 box_colors.ptr, box_patterns.ptr,
398 box_scales.ptr, box_line_widths.ptr,
399 line_colors.ptr, line_styles.ptr,
401 symbol_colors.ptr, symbol_scales.ptr,
402 symbol_numbers.ptr, symbolsz );
409 assert( n == y.length,
"plline(): Arrays must be of same length!" );
417 assert( n == y.length,
"plline3(): Arrays must be of same length!" );
418 assert( n == z.length,
"plline3(): Arrays must be of same length!" );
426 c_plmap(
mapform, toStringz( type ), minlong, maxlong, minlat, maxlat );
433 const PLINT[] plotentries )
436 c_plmapline(
mapform, toStringz( name ), minx, maxx, miny, maxy, plotentries.ptr, n );
445 c_plmapstring(
mapform, toStringz( name ), toStringz(
string ), minx, maxx, miny, maxy, plotentries.ptr, n );
453 c_plmaptex(
mapform, toStringz( name ), dx, dy, just, toStringz( text ), minx, maxx, miny, maxy, plotentry );
458 const PLINT[] plotentries )
461 c_plmapfill(
mapform, toStringz( name ), minx, maxx, miny, maxy, plotentries.ptr, n );
469 assert( nx == x.length,
"plmesh(): Arrays must be of same length!" );
470 assert( ny == y.length,
"plmesh(): Arrays must be of same length!" );
481 assert( nx == x.length,
"plmeshc(): Arrays must be of same length!" );
482 assert( ny == y.length,
"plmeshc(): Arrays must be of same length!" );
490 c_plmtex( toStringz( side ), disp, pos, just, toStringz( text ) );
496 c_plmtex3( toStringz( side ), disp, pos, just, toStringz( text ) );
505 assert( nx == x.length,
"plot3d(): Arrays must be of same length!" );
506 assert( ny == y.length,
"plot3d(): Arrays must be of same length!" );
517 assert( nx == x.length,
"plot3dc(): Arrays must be of same length!" );
518 assert( ny == y.length,
"plot3dc(): Arrays must be of same length!" );
531 assert( nx == x.length,
"plot3dcl(): Arrays must be of same length!" );
532 assert( ny == y.length,
"plot3dcl(): Arrays must be of same length!" );
535 ixstart, ixn, indexymin.ptr, indexymax.ptr );
542 assert( nlin == del.length,
"plpat(): Arrays must be of same length!" );
543 c_plpat( nlin, inc.ptr, del.ptr );
550 assert( n == y.length,
"plpoin(): Arrays must be of same length!" );
558 assert( n == y.length,
"plpoin3(): Arrays must be of same length!" );
559 assert( n == z.length,
"plpoin3(): Arrays must be of same length!" );
560 c_plpoin3( n, x.ptr, y.ptr, z.ptr, code );
567 assert( n == y.length,
"plstring(): Arrays must be of same length!" );
568 c_plstring( n, x.ptr, y.ptr, toStringz( text ) );
575 assert( n == y.length,
"plstring3(): Arrays must be of same length!" );
576 assert( n == z.length,
"plstring3(): Arrays must be of same length!" );
577 c_plstring3( n, x.ptr, y.ptr, z.ptr, toStringz( text ) );
584 assert( n == y.length,
"plpoly3(): Arrays must be of same length!" );
585 assert( n == z.length,
"plpoly3(): Arrays must be of same length!" );
586 assert( n - 1 == draw.length,
"plpoly3(): Array draw must be of same length then other arrays minus 1!" );
587 c_plpoly3( n, x.ptr, y.ptr, z.ptr, draw.ptr, ifcc );
593 c_plptex( x, y, dx, dy, just, toStringz( text ) );
600 c_plptex3( wx, wy, wz, dx, dy, dz, sx, sy, sz, just, toStringz( text ) );
612 c_plspal1( toStringz( filename ), interpolate );
619 assert( ncol0 == g.length,
"plscmap0(): Arrays must be of same length!" );
620 assert( ncol0 == b.length,
"plscmap0(): Arrays must be of same length!" );
628 assert( ncol0 == g.length,
"plscmap0a(): Arrays must be of same length!" );
629 assert( ncol0 == b.length,
"plscmap0a(): Arrays must be of same length!" );
630 assert( ncol0 == a.length,
"plscmap0a(): Arrays must be of same length!" );
638 assert( ncol1 == g.length,
"plscmap1(): Arrays must be of same length!" );
639 assert( ncol1 == b.length,
"plscmap1(): Arrays must be of same length!" );
647 assert( ncol1 == g.length,
"plscmap1a(): Arrays must be of same length!" );
648 assert( ncol1 == b.length,
"plscmap1a(): Arrays must be of same length!" );
649 assert( ncol1 == a.length,
"plscmap1a(): Arrays must be of same length!" );
659 assert( npts == coord1.length,
"plscmap1l(): Arrays must be of same length!" );
660 assert( npts == coord2.length,
"plscmap1l(): Arrays must be of same length!" );
661 assert( npts == coord3.length,
"plscmap1l(): Arrays must be of same length!" );
662 if ( alt_hue_path !=
null )
664 assert( npts - 1 == alt_hue_path.length,
"plscmap1l(): Array alt_hue_path must be of same length then other arrays minus 1!" );
665 c_plscmap1l( itype, npts, intensity.ptr, coord1.ptr, coord2.ptr, coord3.ptr, alt_hue_path.ptr );
668 c_plscmap1l( itype, npts, intensity.ptr, coord1.ptr, coord2.ptr, coord3.ptr,
null );
679 assert( npts == coord1.length,
"plscmap1la(): Arrays must be of same length!" );
680 assert( npts == coord2.length,
"plscmap1la(): Arrays must be of same length!" );
681 assert( npts == coord3.length,
"plscmap1la(): Arrays must be of same length!" );
682 assert( npts == a.length,
"plscmap1la(): Arrays must be of same length!" );
683 if ( alt_hue_path !=
null )
685 assert( npts - 1 == alt_hue_path.length,
"plscmap1la(): Array alt_hue_path must be of same length then other arrays minus 1!" );
686 c_plscmap1la( itype, npts, intensity.ptr, coord1.ptr, coord2.ptr, coord3.ptr, a.ptr, alt_hue_path.ptr );
689 c_plscmap1la( itype, npts, intensity.ptr, coord1.ptr, coord2.ptr, coord3.ptr, a.ptr,
null );
714 c_plshade(
convert_array( a ), nx, ny, defined, left, right, bottom, top, shade_min, shade_max, sh_cmap,
715 sh_color, sh_width, min_color, min_width, max_color, max_width, &
c_plfill,
716 rectangular, pltr, pltr_data );
726 c_plshades(
convert_array( a ), nx, ny, defined, xmin, xmax, ymin, ymax, clevel.ptr, cast(
PLINT) clevel.length,
727 fill_width, cont_color, cont_width, &
c_plfill, rectangular, pltr, pltr_data );
739 c.nx = cast(
PLINT) cgrid.xg.length;
741 c.ny = cast(
PLINT) cgrid.yg.length;
743 c.nz = cast(
PLINT) cgrid.zg.length;
745 c_plshades(
convert_array( a ), nx, ny, defined, xmin, xmax, ymin, ymax, clevel.ptr, cast(
PLINT) clevel.length,
746 fill_width, cont_color, cont_width, &
c_plfill, rectangular, &
pltr1, &c );
760 c2.nx = cast(
PLINT) cgrid2.xg.length;
761 c2.ny = cast(
PLINT) cgrid2.xg[0].length;
764 assert( c2.nx == cgrid2.yg.length,
"plcont(): Arrays must be of same length!" );
765 assert( c2.ny == cgrid2.yg[0].length,
"plcont(): Arrays must be of same length!" );
769 assert( c2.nx == cgrid2.zg.length,
"plcont(): Arrays must be of same length!" );
770 assert( c2.ny == cgrid2.zg[0].length,
"plcont(): Arrays must be of same length!" );
773 c_plshades(
convert_array( a ), nx, ny, defined, xmin, xmax, ymin, ymax, clevel.ptr, cast(
PLINT) clevel.length,
774 fill_width, cont_color, cont_width, &
c_plfill, rectangular, &
pltr2, &c2 );
780 c_plstart( toStringz( devname ), nx, ny );
787 string labx,
string laby,
string labtop )
789 assert( 4 == colline.length,
"plstripc(): Arrays must be of length 4!" );
790 assert( 4 == styline.length,
"plstripc(): Arrays must be of length 4!" );
791 assert( 4 == legline.length,
"plstripc(): Arrays must be of length 4!" );
793 immutable(
char ) * *leglinez = array( map!toStringz( legline ) ).ptr;
799 c_plstripc(
id, toStringz( xspec ), toStringz( yspec ), xmin, xmax, xjump, ymin, ymax,
800 xlpos, ylpos, y_ascl, acc, colbox, collab, colline.ptr, styline.ptr, leglinez,
801 toStringz( labx ), toStringz( laby ), toStringz( labtop ) );
813 valuemin, valuemax, pltr, pltr_data );
825 c.nx = cast(
PLINT) cgrid.
xg.length;
827 c.ny = cast(
PLINT) cgrid.
yg.length;
829 c.nz = cast(
PLINT) cgrid.
zg.length;
832 valuemin, valuemax, &
pltr1, &c );
846 c2.nx = cast(
PLINT) cgrid2.
xg.length;
847 c2.ny = cast(
PLINT) cgrid2.
xg[0].length;
850 assert( c2.nx == cgrid2.
yg.length,
"plcont(): Arrays must be of same length!" );
851 assert( c2.ny == cgrid2.
yg[0].length,
"plcont(): Arrays must be of same length!" );
855 assert( c2.nx == cgrid2.
zg.length,
"plcont(): Arrays must be of same length!" );
856 assert( c2.ny == cgrid2.
zg[0].length,
"plcont(): Arrays must be of same length!" );
860 valuemin, valuemax, &
pltr2, &c2 );
871 c_plimage(
convert_array( idata ), nx, ny, xmin, xmax, ymin, ymax, zmin, zmax, Dxmin, Dxmax,
879 assert( nms == space.length,
"plstyl(): Arrays must be of same length!" );
880 c_plstyl( nms, mark.ptr, space.ptr );
888 assert( nx == x.length,
"plsurf3d(): Arrays must be of same length!" );
889 assert( ny == y.length,
"plsurf3d(): Arrays must be of same length!" );
904 assert( nx == x.length,
"plsurf3d(): Arrays must be of same length!" );
905 assert( ny == y.length,
"plsurf3d(): Arrays must be of same length!" );
908 ixstart, ixn, indexymin.ptr, indexymax.ptr );
915 assert( n == y.length,
"plsym(): Arrays must be of same length!" );
916 c_plsym( n, x.ptr, y.ptr, code );
983 return c_plsetopt( toStringz( opt ), toStringz( optarg ) );
1235 int function(
char *,
char *,
void * ) handler;
1643 const char *yopt,
PLFLT ytick,
PLINT nysub );
1656 const char *ylabel,
PLFLT ytick,
PLINT nsuby,
const char *zopt,
const char *zlabel,
1855void c_pllab(
const char *xlabel,
const char *ylabel,
const char *tlabel );
1864 PLFLT text_justification,
1865 PLINT *text_colors,
const char **text,
1871 PLINT *symbol_numbers,
const char **symbols );
1880 PLINT n_labels,
const PLINT *label_opts,
const char **label,
1881 PLINT n_axes,
const char ** axis_opts,
1883 const PLINT *n_values,
const PLFLT **values );
1904 const PLINT *plotentries,
PLINT nplotentries );
1908 const char *name,
const char *
string,
1910 const PLINT *plotentries,
PLINT nplotentries );
1921 const PLINT *plotentries,
PLINT nplotentries );
1998void c_plptex3(
PLFLT wx,
PLFLT wy,
PLFLT wz,
PLFLT dx,
PLFLT dy,
PLFLT dz,
PLFLT sx,
PLFLT sy,
PLFLT sz,
PLFLT just,
const char *text );
2124void plfshade(
PLFLT function(
PLINT,
PLINT,
PLPointer ) f2eval,
PLPointer f2eval_data,
PLFLT function(
PLINT,
PLINT,
PLPointer ) c2eval,
PLPointer c2eval_data,
PLINT nx,
PLINT ny,
PLFLT left,
PLFLT right,
PLFLT bottom,
PLFLT top,
PLFLT shade_min,
PLFLT shade_max,
PLINT sh_cmap,
PLFLT sh_color,
PLFLT sh_width,
PLINT min_color,
PLFLT min_width,
PLINT max_color,
PLFLT max_width,
void function(
PLINT,
PLFLT *,
PLFLT * ) fill,
PLBOOL rectangular,
void function(
PLFLT,
PLFLT,
PLFLT *,
PLFLT *,
PLPointer ) pltr,
PLPointer pltr_data );
2179void c_plstripc(
PLINT *
id,
const char *xspec,
const char *yspec,
PLFLT xmin,
PLFLT xmax,
PLFLT xjump,
PLFLT ymin,
PLFLT ymax,
PLFLT xlpos,
PLFLT ylpos,
PLBOOL y_ascl,
PLBOOL acc,
PLINT colbox,
PLINT collab,
PLINT *colline,
PLINT *styline,
const char **legline,
const char *labx,
const char *laby,
const char *labtop );
2253void c_plw3d(
PLFLT basex,
PLFLT basey,
PLFLT height,
PLFLT xmin0,
PLFLT xmax0,
PLFLT ymin0,
PLFLT ymax0,
PLFLT zmin0,
PLFLT zmax0,
PLFLT alt,
PLFLT az );
2276void plgDevs(
char ***p_menustr,
char ***p_devname,
int *p_ndev );
2288void plsbopH(
void function(
void *,
int * ) handler,
void *handler_data );
2292void plseopH(
void function(
void *,
int * ) handler,
void *handler_data );
2300void plsexit(
int function(
const char * ) handler );
2359void plSetUsage(
const char *program_string,
const char *usage_string );
2392void plGetName(
const char *dir,
const char *subdir,
const char *filename,
char **filespec );
PLINT plGetCursor(PLGraphicsIn *gin)
const PL_DRAWMODE_DEFAULT
void c_plglevel(PLINT *p_level)
void c_plmapstring(void function(PLINT, PLFLT *, PLFLT *) mapform, const char *name, const char *string, PLFLT minx, PLFLT maxx, PLFLT miny, PLFLT maxy, const PLINT *plotentries, PLINT nplotentries)
const PL_COLORBAR_LABEL_TOP
const PL_COLORBAR_ORIENT_LEFT
void plfshade(PLFLT function(PLINT, PLINT, PLPointer) f2eval, PLPointer f2eval_data, PLFLT function(PLINT, PLINT, PLPointer) c2eval, PLPointer c2eval_data, PLINT nx, PLINT ny, PLFLT left, PLFLT right, PLFLT bottom, PLFLT top, PLFLT shade_min, PLFLT shade_max, PLINT sh_cmap, PLFLT sh_color, PLFLT sh_width, PLINT min_color, PLFLT min_width, PLINT max_color, PLFLT max_width, void function(PLINT, PLFLT *, PLFLT *) fill, PLBOOL rectangular, void function(PLFLT, PLFLT, PLFLT *, PLFLT *, PLPointer) pltr, PLPointer pltr_data)
const PL_FCI_HEXPOWER_IMPOSSIBLE
void c_plarc(PLFLT x, PLFLT y, PLFLT a, PLFLT b, PLFLT angle1, PLFLT angle2, PLFLT rotate, PLBOOL fill)
PLINT plFindName(char *p)
void c_plgdidev(PLFLT *p_mar, PLFLT *p_aspect, PLFLT *p_jx, PLFLT *p_jy)
void c_plscmap0n(PLINT ncol0)
void plvect(PLFLT[][] u, PLFLT[][] v, PLFLT scale, pltr_func pltr=null, PLPointer pltr_data=null)
void c_plgfont(PLINT *p_family, PLINT *p_style, PLINT *p_weight)
const PL_LEGEND_COLOR_BOX
void c_plgzax(PLINT *p_digmax, PLINT *p_digits)
void plscmap1l(PLBOOL itype, PLFLT[] intensity, PLFLT[] coord1, PLFLT[] coord2, PLFLT[] coord3, PLBOOL[] alt_hue_path=null)
void c_plenv0(PLFLT xmin, PLFLT xmax, PLFLT ymin, PLFLT ymax, PLINT just, PLINT axis)
void c_pllightsource(PLFLT x, PLFLT y, PLFLT z)
PLINT plTranslateCursor(PLGraphicsIn *gin)
void c_plstripa(PLINT id, PLINT pen, PLFLT x, PLFLT y)
void c_plgcolbga(PLINT *r, PLINT *g, PLINT *b, PLFLT *a)
void pltr1(PLFLT x, PLFLT y, PLFLT *tx, PLFLT *ty, PLPointer pltr_data)
void plpoly3(PLFLT[] x, PLFLT[] y, PLFLT[] z, PLBOOL[] draw, PLBOOL ifcc)
void plFree2dGrid(PLFLT **f, PLINT nx, PLINT ny)
void c_plmkstrm(PLINT *p_strm)
void c_plpoly3(PLINT n, PLFLT *x, PLFLT *y, PLFLT *z, PLBOOL *draw, PLBOOL ifcc)
void plot3d(PLFLT[] x, PLFLT[] y, PLFLT[][] z, PLINT opt, PLBOOL side)
void c_plschr(PLFLT def, PLFLT scale)
void c_plsdiplt(PLFLT xmin, PLFLT ymin, PLFLT xmax, PLFLT ymax)
PLFLT plf2eval2(PLINT ix, PLINT iy, PLPointer plf2eval_data)
void pltr2(PLFLT x, PLFLT y, PLFLT *tx, PLFLT *ty, PLPointer pltr_data)
void c_plgdiori(PLFLT *p_rot)
void c_plbin(PLINT nbin, PLFLT *x, PLFLT *y, PLINT opt)
void plimage(PLFLT[][] idata, PLFLT xmin, PLFLT xmax, PLFLT ymin, PLFLT ymax, PLFLT zmin, PLFLT zmax, PLFLT Dxmin, PLFLT Dxmax, PLFLT Dymin, PLFLT Dymax)
void plGetName(const char *dir, const char *subdir, const char *filename, char **filespec)
const PL_COLORBAR_BACKGROUND
void plmaptex(mapform_func mapform, string name, PLFLT dx, PLFLT dy, PLFLT just, string text, PLFLT minx, PLFLT maxx, PLFLT miny, PLFLT maxy, PLINT plotentry)
const PLESC_DOUBLEBUFFERING_ENABLE
void c_plstart(const char *devname, PLINT nx, PLINT ny)
void c_plstransform(ct_func coordinate_transform=null, PLPointer coordinate_transform_data=null)
void c_plscmap1la(PLBOOL itype, PLINT npts, PLFLT *intensity, PLFLT *coord1, PLFLT *coord2, PLFLT *coord3, PLFLT *a, PLBOOL *alt_hue_path)
const PL_FCI_HEXPOWER_MASK
void c_plscmap1_range(PLFLT min_color, PLFLT max_color)
void c_plfill(PLINT n, PLFLT *x, PLFLT *y)
void c_plsvpa(PLFLT xmin, PLFLT xmax, PLFLT ymin, PLFLT ymax)
void c_plpoin(PLINT n, PLFLT *x, PLFLT *y, PLINT code)
void plgFileDevs(char ***p_menustr, char ***p_devname, int *p_ndev)
void c_plstring(PLINT n, PLFLT *x, PLFLT *y, const char *text)
void plsurf3dl(PLFLT[] x, PLFLT[] y, PLFLT[][] z, PLINT opt, PLFLT[] clevel, PLINT ixstart, PLINT ixn, PLINT[] indexymin, PLINT[] indexymax)
void c_plstripc(PLINT *id, const char *xspec, const char *yspec, PLFLT xmin, PLFLT xmax, PLFLT xjump, PLFLT ymin, PLFLT ymax, PLFLT xlpos, PLFLT ylpos, PLBOOL y_ascl, PLBOOL acc, PLINT colbox, PLINT collab, PLINT *colline, PLINT *styline, const char **legline, const char *labx, const char *laby, const char *labtop)
void c_plsdev(const char *devname)
PLINT c_plparseopts(int *p_argc, char **argv, PLINT mode)
void c_plmtex3(const char *side, PLFLT disp, PLFLT pos, PLFLT just, const char *text)
void c_plgvpd(PLFLT *p_xmin, PLFLT *p_xmax, PLFLT *p_ymin, PLFLT *p_ymax)
void plot3dcl(PLFLT[] x, PLFLT[] y, PLFLT[][] z, PLINT opt, PLFLT[] clevel, PLINT ixstart, PLINT ixn, PLINT[] indexymin, PLINT[] indexymax)
alias c_plcalc_world plcalc_world
void c_plcol1(PLFLT col1)
void c_plbtime(PLINT *year, PLINT *month, PLINT *day, PLINT *hour, PLINT *min, PLFLT *sec, PLFLT ctime)
void c_plfontld(PLINT fnt)
void plgDevs(char ***p_menustr, char ***p_devname, int *p_ndev)
void plcolorbar(PLFLT *p_colorbar_width, PLFLT *p_colorbar_height, PLINT opt, PLINT position, PLFLT x, PLFLT y, PLFLT x_length, PLFLT y_length, PLINT bg_color, PLINT bb_color, PLINT bb_style, PLFLT low_cap_color, PLFLT high_cap_color, PLINT cont_color, PLFLT cont_width, PLINT[] label_opts, string[] label, string[] axis_opts, PLFLT[] ticks, PLINT[] sub_ticks, PLFLT[][] values)
PLFLT plf2evalr(PLINT ix, PLINT iy, PLPointer plf2eval_data)
const PL_LEGEND_BOUNDING_BOX
void c_plslabelfunc(void function(PLINT, PLFLT, char *, PLINT, PLPointer) labelfunc, PLPointer label_data)
const PL_COLORBAR_LABEL_RIGHT
void plaxes(PLFLT x0, PLFLT y0, string xopt, PLFLT xtick, PLINT nxsub, string yopt, PLFLT ytick, PLINT nysub)
const PL_LEGEND_BACKGROUND
void c_plcol0(PLINT icol0)
PLINT plGetInt(const char *s)
void plsexit(int function(const char *) handler)
const PL_COLORBAR_GRADIENT
void plscmap1la(PLBOOL itype, PLFLT[] intensity, PLFLT[] coord1, PLFLT[] coord2, PLFLT[] coord3, PLFLT[] a, PLBOOL[] alt_hue_path=null)
void plfcont(PLFLT function(PLINT, PLINT, PLPointer) f2eval, PLPointer f2eval_data, PLINT nx, PLINT ny, PLINT kx, PLINT lx, PLINT ky, PLINT ly, PLFLT *clevel, PLINT nlevel, void function(PLFLT, PLFLT, PLFLT *, PLFLT *, PLPointer) pltr, PLPointer pltr_data)
void c_plscol0a(PLINT icol0, PLINT r, PLINT g, PLINT b, PLFLT a)
void c_plpsty(PLINT patt)
const PL_COLORBAR_CAP_HIGH
void c_plmapline(void function(PLINT, PLFLT *, PLFLT *) mapform, const char *name, PLFLT minx, PLFLT maxx, PLFLT miny, PLFLT maxy, const PLINT *plotentries, PLINT nplotentries)
const PL_COLORBAR_ORIENT_BOTTOM
void c_plgver(char *p_ver)
void c_plcolorbar(PLFLT *p_colorbar_width, PLFLT *p_colorbar_height, PLINT opt, PLINT position, PLFLT x, PLFLT y, PLFLT x_length, PLFLT y_length, PLINT bg_color, PLINT bb_color, PLINT bb_style, PLFLT low_cap_color, PLFLT high_cap_color, PLINT cont_color, PLFLT cont_width, PLINT n_labels, const PLINT *label_opts, const char **label, PLINT n_axes, const char **axis_opts, const PLFLT *ticks, const PLINT *sub_ticks, const PLINT *n_values, const PLFLT **values)
void c_pllab(const char *xlabel, const char *ylabel, const char *tlabel)
void plsurf3d(PLFLT[] x, PLFLT[] y, PLFLT[][] z, PLINT opt, PLFLT[] clevel=null)
void plmeshc(PLFLT[] x, PLFLT[] y, PLFLT[][] z, PLINT opt, PLFLT[] clevel)
void c_plimagefr(PLFLT **idata, PLINT nx, PLINT ny, PLFLT xmin, PLFLT xmax, PLFLT ymin, PLFLT ymax, PLFLT zmin, PLFLT zmax, PLFLT valuemin, PLFLT valuemax, void function(PLFLT, PLFLT, PLFLT *, PLFLT *, PLPointer), PLPointer pltr_data)
void c_plxormod(PLBOOL mode, PLBOOL *status)
void c_plfont(PLINT ifont)
void c_plgspa(PLFLT *xmin, PLFLT *xmax, PLFLT *ymin, PLFLT *ymax)
void pltr2p(PLFLT x, PLFLT y, PLFLT *tx, PLFLT *ty, PLPointer pltr_data)
void pl_cmd(PLINT op, void *ptr)
void plsError(PLINT *errcode, const char *errmsg)
void plstring3(PLFLT[] x, PLFLT[] y, PLFLT[] z, string text)
void plmapline(mapform_func mapform, string name, PLFLT minx, PLFLT maxx, PLFLT miny, PLFLT maxy, const PLINT[] plotentries)
void c_plscolbga(PLINT r, PLINT g, PLINT b, PLFLT a)
void plscmap0a(PLINT[] r, PLINT[] g, PLINT[] b, PLFLT[] a)
void plsabort(void function(const char *) handler)
void c_plmtex(const char *side, PLFLT disp, PLFLT pos, PLFLT just, const char *text)
void c_plaxes(PLFLT x0, PLFLT y0, const char *xopt, PLFLT xtick, PLINT nxsub, const char *yopt, PLFLT ytick, PLINT nysub)
void c_plmeridians(void function(PLINT, PLFLT *, PLFLT *) mapform, PLFLT dlong, PLFLT dlat, PLFLT minlong, PLFLT maxlong, PLFLT minlat, PLFLT maxlat)
void c_plsfont(PLINT family, PLINT style, PLINT weight)
PLINT plMergeOpts(PLOptionTable *options, const char *name, const char **notes)
void plpoin(PLFLT[] x, PLFLT[] y, PLINT code)
alias c_plgcolbga plgcolbga
void c_plspage(PLFLT xp, PLFLT yp, PLINT xleng, PLINT yleng, PLINT xoff, PLINT yoff)
void c_plspal1(const char *filename, PLBOOL interpolate)
void pltr0f(PLFLT x, PLFLT y, PLFLT *tx, PLFLT *ty, void *pltr_data)
alias c_plgdidev plgdidev
void c_plcalc_world(PLFLT rx, PLFLT ry, PLFLT *wx, PLFLT *wy, PLINT *window)
alias c_plsdiori plsdiori
void plerry(PLFLT[] x, PLFLT[] ymin, PLFLT[] ymax)
void plfill3(PLFLT[] x, PLFLT[] y, PLFLT[] z)
void c_plline(PLINT n, PLFLT *x, PLFLT *y)
alias c_plsdidev plsdidev
void plbox(string xopt, PLFLT xtick, PLINT nxsub, string yopt, PLFLT ytick, PLINT nysub)
void c_plscmap1n(PLINT ncol1)
void c_plptex(PLFLT x, PLFLT y, PLFLT dx, PLFLT dy, PLFLT just, const char *text)
void plpoin3(PLFLT[] x, PLFLT[] y, PLFLT[] z, PLINT code)
alias c_pl_setcontlabelparam pl_setcontlabelparam
char * plFindCommand(const char *fn)
void c_plcpstrm(PLINT iplsr, PLBOOL flags)
const PL_LEGEND_TEXT_LEFT
void c_plstring3(PLINT n, PLFLT *x, PLFLT *y, PLFLT *z, const char *text)
void plstripc(PLINT *id, string xspec, string yspec, PLFLT xmin, PLFLT xmax, PLFLT xjump, PLFLT ymin, PLFLT ymax, PLFLT xlpos, PLFLT ylpos, PLBOOL y_ascl, PLBOOL acc, PLINT colbox, PLINT collab, PLINT[] colline, PLINT[] styline, string[] legline, string labx, string laby, string labtop)
void plmesh(PLFLT[] x, PLFLT[] y, PLFLT[][] z, PLINT opt)
void plimagefr(PLFLT[][] idata, PLFLT xmin, PLFLT xmax, PLFLT ymin, PLFLT ymax, PLFLT zmin, PLFLT zmax, PLFLT valuemin, PLFLT valuemax, pltr_func pltr=null, PLPointer pltr_data=null)
alias c_plgradient plgrdient
void c_plscompression(PLINT compression)
void c_plimage(PLFLT **idata, PLINT nx, PLINT ny, PLFLT xmin, PLFLT xmax, PLFLT ymin, PLFLT ymax, PLFLT zmin, PLFLT zmax, PLFLT Dxmin, PLFLT Dxmax, PLFLT Dymin, PLFLT Dymax)
const PL_FCI_HEXDIGIT_MASK
void c_plmapfill(void function(PLINT, PLFLT *, PLFLT *) mapform, const char *name, PLFLT minx, PLFLT maxx, PLFLT miny, PLFLT maxy, const PLINT *plotentries, PLINT nplotentries)
void plscmap1a(PLINT[] r, PLINT[] g, PLINT[] b, PLFLT[] a)
void c_plsvect(PLFLT *arrowx, PLFLT *arrowy, PLINT npts, PLBOOL fill)
const PL_HIST_IGNORE_OUTLIERS
alias c_plsdimap plsdimap
alias c_plsdiplz plsdiplz
const PLESC_DOUBLEBUFFERING
void c_plot3dcl(PLFLT *x, PLFLT *y, PLFLT **z, PLINT nx, PLINT ny, PLINT opt, PLFLT *clevel, PLINT nlevel, PLINT ixstart, PLINT ixn, PLINT *indexymin, PLINT *indexymax)
void c_plgfnam(char *fnam)
void plmtex3(string side, PLFLT disp, PLFLT pos, PLFLT just, string text)
void c_plszax(PLINT digmax, PLINT digits)
void c_plscmap1a(PLINT *r, PLINT *g, PLINT *b, PLFLT *a, PLINT ncol1)
void plAlloc2dGrid(PLFLT ***f, PLINT nx, PLINT ny)
const PLESC_APPEND_BUFFER
void c_plstar(PLINT nx, PLINT ny)
const PL_POSITION_OUTSIDE
void c_plgyax(PLINT *p_digmax, PLINT *p_digits)
void pllegend(PLFLT *p_legend_width, PLFLT *p_legend_height, PLINT opt, PLINT position, PLFLT x, PLFLT y, PLFLT plot_width, PLINT bg_color, PLINT bb_color, PLINT bb_style, PLINT nrow, PLINT ncolumn, PLINT[] opt_array, PLFLT text_offset, PLFLT text_scale, PLFLT text_spacing, PLFLT text_justification, PLINT[] text_colors, string[] text, PLINT[] box_colors, PLINT[] box_patterns, PLFLT[] box_scales, PLFLT[] box_line_widths, PLINT[] line_colors, PLINT[] line_styles, PLFLT[] line_widths, PLINT[] symbol_colors, PLFLT[] symbol_scales, PLINT[] symbol_numbers, string[] symbols)
alias c_plmeridians plmeridians
void c_plsyax(PLINT digmax, PLINT digits)
void c_plstripd(PLINT id)
void plsButtonEH(void function(PLGraphicsIn *, void *, int *) ButtonEH, void *ButtonEH_data)
void plmapfill(mapform_func mapform, string name, PLFLT minx, PLFLT maxx, PLFLT miny, PLFLT maxy, const PLINT[] plotentries)
void plerrx(PLFLT[] xmin, PLFLT[] xmax, PLFLT[] y)
const PLESC_SET_COMPRESSION
void plstring(PLFLT[] x, PLFLT[] y, string text)
void c_plsfci(PLUNICODE fci)
void plptex(PLFLT x, PLFLT y, PLFLT dx, PLFLT dy, PLFLT just, string text)
void c_plsmem(PLINT maxx, PLINT maxy, void *plotmem)
const PL_LEGEND_ROW_MAJOR
void c_plctime(PLINT year, PLINT month, PLINT day, PLINT hour, PLINT min, PLFLT sec, PLFLT *ctime)
alias c_plconfigtime plconfigtime
void plgradient(PLFLT[] x, PLFLT[] y, PLFLT angle)
void plshades(PLFLT[][] a, def_func defined, PLFLT xmin, PLFLT xmax, PLFLT ymin, PLFLT ymax, PLFLT[] clevel, PLFLT fill_width, PLINT cont_color, PLFLT cont_width, PLBOOL rectangular, pltr_func pltr=null, PLPointer pltr_data=null)
void plbox3(string xopt, string xlabel, PLFLT xtick, PLINT nsubx, string yopt, string ylabel, PLFLT ytick, PLINT nsuby, string zopt, string zlabel, PLFLT ztick, PLINT nsubz)
void c_plscolor(PLINT color)
void c_plstyl(PLINT nms, PLINT *mark, PLINT *space)
void c_plmaptex(void function(PLINT, PLFLT *, PLFLT *) mapform, const char *name, PLFLT dx, PLFLT dy, PLFLT just, const char *text, PLFLT minx, PLFLT maxx, PLFLT miny, PLFLT maxy, PLINT plotentry)
PLFLT ** convert_array(PLFLT[][] a)
void c_plgfci(PLUNICODE *pfci)
void c_plgcompression(PLINT *compression)
void c_plshades(PLFLT **a, PLINT nx, PLINT ny, PLINT function(PLFLT, PLFLT) defined, PLFLT xmin, PLFLT xmax, PLFLT ymin, PLFLT ymax, PLFLT *clevel, PLINT nlevel, PLFLT fill_width, PLINT cont_color, PLFLT cont_width, void function(PLINT, PLFLT *, PLFLT *) fill, PLBOOL rectangular, void function(PLFLT, PLFLT, PLFLT *, PLFLT *, PLPointer) pltr, PLPointer pltr_data)
const PLESC_START_RASTERIZE
void c_plot3dc(PLFLT *x, PLFLT *y, PLFLT **z, PLINT nx, PLINT ny, PLINT opt, PLFLT *clevel, PLINT nlevel)
void c_plfill3(PLINT n, PLFLT *x, PLFLT *y, PLFLT *z)
void plmap(mapform_func mapform, string type, PLFLT minlong, PLFLT maxlong, PLFLT minlat, PLFLT maxlat)
const PLESC_END_RASTERIZE
void c_plgcol0a(PLINT icol0, PLINT *r, PLINT *g, PLINT *b, PLFLT *a)
void plptex3(PLFLT wx, PLFLT wy, PLFLT wz, PLFLT dx, PLFLT dy, PLFLT dz, PLFLT sx, PLFLT sy, PLFLT sz, PLFLT just, string text)
void plbin(PLFLT[] x, PLFLT[] y, PLINT opt)
void c_plhlsrgb(PLFLT h, PLFLT l, PLFLT s, PLFLT *p_r, PLFLT *p_g, PLFLT *p_b)
void c_plvpas(PLFLT xmin, PLFLT xmax, PLFLT ymin, PLFLT ymax, PLFLT aspect)
const PL_COLORBAR_BOUNDING_BOX
void c_plpat(PLINT nlin, PLINT *inc, PLINT *del)
void plfill(PLFLT[] x, PLFLT[] y)
void c_plprec(PLINT setp, PLINT prec)
void c_plgdiplt(PLFLT *p_xmin, PLFLT *p_ymin, PLFLT *p_xmax, PLFLT *p_ymax)
void c_plw3d(PLFLT basex, PLFLT basey, PLFLT height, PLFLT xmin0, PLFLT xmax0, PLFLT ymin0, PLFLT ymax0, PLFLT zmin0, PLFLT zmax0, PLFLT alt, PLFLT az)
void c_plrgbhls(PLFLT r, PLFLT g, PLFLT b, PLFLT *p_h, PLFLT *p_l, PLFLT *p_s)
void c_plenv(PLFLT xmin, PLFLT xmax, PLFLT ymin, PLFLT ymax, PLINT just, PLINT axis)
const PL_POSITION_SUBPAGE
const PL_DRAWMODE_UNKNOWN
void c_plgvpw(PLFLT *p_xmin, PLFLT *p_xmax, PLFLT *p_ymin, PLFLT *p_ymax)
void plMinMax2dGrid(PLFLT[][] f, out PLFLT fmax, out PLFLT fmin)
alias c_plstripa plstripa
PLFLT plf2eval(PLINT ix, PLINT iy, PLPointer plf2eval_data)
void c_plot3d(PLFLT *x, PLFLT *y, PLFLT **z, PLINT nx, PLINT ny, PLINT opt, PLBOOL side)
void c_plspause(PLBOOL pause)
void plSetUsage(const char *program_string, const char *usage_string)
void c_pltimefmt(const char *fmt)
void c_plptex3(PLFLT wx, PLFLT wy, PLFLT wz, PLFLT dx, PLFLT dy, PLFLT dz, PLFLT sx, PLFLT sy, PLFLT sz, PLFLT just, const char *text)
void c_plgradient(PLINT n, PLFLT *x, PLFLT *y, PLFLT angle)
void c_plvpor(PLFLT xmin, PLFLT xmax, PLFLT ymin, PLFLT ymax)
const PLESC_DOUBLEBUFFERING_DISABLE
void c_plsdimap(PLINT dimxmin, PLINT dimxmax, PLINT dimymin, PLINT dimymax, PLFLT dimxpmm, PLFLT dimypmm)
alias c_plsdiplt plsdiplt
alias c_plrgbhls plrgbhls
void c_plgdev(char *p_dev)
void c_plline3(PLINT n, PLFLT *x, PLFLT *y, PLFLT *z)
void c_plsdiori(PLFLT rot)
const PL_COLORBAR_LABEL_LEFT
const PL_COLORBAR_ORIENT_RIGHT
void c_plwind(PLFLT xmin, PLFLT xmax, PLFLT ymin, PLFLT ymax)
alias c_plscmap1_range plscmap1_range
alias c_plgcol0a plgcol0a
void c_plmap(void function(PLINT, PLFLT *, PLFLT *) mapform, const char *type, PLFLT minlong, PLFLT maxlong, PLFLT minlat, PLFLT maxlat)
alias c_plgdiplt plgdiplt
void plgriddata(PLFLT[] x, PLFLT[] y, PLFLT[] z, PLFLT[] xg, PLFLT[] yg, PLFLT[][] zg, PLINT type, PLFLT data)
void c_plsfnam(const char *fnam)
void c_plvect(PLFLT **u, PLFLT **v, PLINT nx, PLINT ny, PLFLT scale, void function(PLFLT, PLFLT, PLFLT *, PLFLT *, PLPointer) pltr, PLPointer pltr_data)
void c_plerrx(PLINT n, PLFLT *xmin, PLFLT *xmax, PLFLT *y)
void c_plwidth(PLFLT width)
void c_plsurf3d(PLFLT *x, PLFLT *y, PLFLT **z, PLINT nx, PLINT ny, PLINT opt, PLFLT *clevel, PLINT nlevel)
void plhist(PLFLT[] data, PLFLT datmin, PLFLT datmax, PLINT nbin, PLINT opt)
void c_pljoin(PLFLT x1, PLFLT y1, PLFLT x2, PLFLT y2)
const PLESC_FLUSH_REMAINING_BUFFER
void c_plscol0(PLINT icol0, PLINT r, PLINT g, PLINT b)
void c_plpath(PLINT n, PLFLT x1, PLFLT y1, PLFLT x2, PLFLT y2)
void plsxwin(PLINT window_id)
void c_plbox(const char *xopt, PLFLT xtick, PLINT nxsub, const char *yopt, PLFLT ytick, PLINT nysub)
void plsbopH(void function(void *, int *) handler, void *handler_data)
void c_plscmap1(PLINT *r, PLINT *g, PLINT *b, PLINT ncol1)
void c_plsdidev(PLFLT mar, PLFLT aspect, PLFLT jx, PLFLT jy)
void c_plgcol0(PLINT icol0, PLINT *r, PLINT *g, PLINT *b)
void c_plgchr(PLFLT *p_def, PLFLT *p_ht)
void pltr2f(PLFLT x, PLFLT y, PLFLT *tx, PLFLT *ty, void *pltr_data)
void plmtex(string side, PLFLT disp, PLFLT pos, PLFLT just, string text)
void c_plerry(PLINT n, PLFLT *x, PLFLT *ymin, PLFLT *ymax)
void c_plsurf3dl(PLFLT *x, PLFLT *y, PLFLT **z, PLINT nx, PLINT ny, PLINT opt, PLFLT *clevel, PLINT nlevel, PLINT ixstart, PLINT ixn, PLINT *indexymin, PLINT *indexymax)
void plline3(PLFLT[] x, PLFLT[] y, PLFLT[] z)
alias c_plscol0a plscol0a
void plline(PLFLT[] x, PLFLT[] y)
PLINT c_plsetopt(const char *opt, const char *optarg)
void plshade(PLFLT[][] a, def_func defined, PLFLT left, PLFLT right, PLFLT bottom, PLFLT top, PLFLT shade_min, PLFLT shade_max, PLINT sh_cmap, PLFLT sh_color, PLFLT sh_width, PLINT min_color, PLFLT min_width, PLINT max_color, PLFLT max_width, PLBOOL rectangular, pltr_func pltr=null, PLPointer pltr_data=null)
void plcont(PLFLT[][] f, PLINT kx, PLINT lx, PLINT ky, PLINT ly, PLFLT[] clevel, pltr_func pltr, PLPointer pltr_data=null)
const PL_COLORBAR_ORIENT_TOP
void pldid2pc(PLFLT *xmin, PLFLT *ymin, PLFLT *xmax, PLFLT *ymax)
void c_pl_setcontlabelparam(PLFLT offset, PLFLT size, PLFLT spacing, PLINT active)
void c_plmesh(PLFLT *x, PLFLT *y, PLFLT **z, PLINT nx, PLINT ny, PLINT opt)
void pldip2dc(PLFLT *xmin, PLFLT *ymin, PLFLT *xmax, PLFLT *ymax)
void plsKeyEH(void function(PLGraphicsIn *, void *, int *) KeyEH, void *KeyEH_data)
void c_plssub(PLINT nx, PLINT ny)
void c_plscmap0(PLINT *r, PLINT *g, PLINT *b, PLINT ncol0)
void c_plsstrm(PLINT strm)
void c_plgxax(PLINT *p_digmax, PLINT *p_digits)
void c_plcont(PLFLT **f, PLINT nx, PLINT ny, PLINT kx, PLINT lx, PLINT ky, PLINT ly, PLFLT *clevel, PLINT nlevel, void function(PLFLT, PLFLT, PLFLT *, PLFLT *, PLPointer) pltr, PLPointer pltr_data)
void c_plpoin3(PLINT n, PLFLT *x, PLFLT *y, PLFLT *z, PLINT code)
void c_plssym(PLFLT def, PLFLT scale)
void c_plsfam(PLINT fam, PLINT num, PLINT bmax)
const PLESC_IMPORT_BUFFER
PLFLT plGetFlt(const char *s)
void c_plsym(PLINT n, PLFLT *x, PLFLT *y, PLINT code)
void c_plsdiplz(PLFLT xmin, PLFLT ymin, PLFLT xmax, PLFLT ymax)
const PL_COLORBAR_SHADE_LABEL
alias c_pllightsource pllightsource
void c_plgfam(PLINT *p_fam, PLINT *p_num, PLINT *p_bmax)
void c_plgpage(PLFLT *p_xp, PLFLT *p_yp, PLINT *p_xleng, PLINT *p_yleng, PLINT *p_xoff, PLINT *p_yoff)
void c_plgcmap1_range(PLFLT *min_color, PLFLT *max_color)
void plmapstring(mapform_func mapform, string name, string string, PLFLT minx, PLFLT maxx, PLFLT miny, PLFLT maxy, const PLINT[] plotentries)
const PL_COLORBAR_CAP_NONE
void c_pllegend(PLFLT *p_legend_width, PLFLT *p_legend_height, PLINT opt, PLINT position, PLFLT x, PLFLT y, PLFLT plot_width, PLINT bg_color, PLINT bb_color, PLINT bb_style, PLINT nrow, PLINT ncolumn, PLINT nlegend, PLINT *opt_array, PLFLT text_offset, PLFLT text_scale, PLFLT text_spacing, PLFLT text_justification, PLINT *text_colors, const char **text, PLINT *box_colors, PLINT *box_patterns, PLFLT *box_scales, PLFLT *box_line_widths, PLINT *line_colors, PLINT *line_styles, PLFLT *line_widths, PLINT *symbol_colors, PLFLT *symbol_scales, PLINT *symbol_numbers, const char **symbols)
void c_plscmap1l(PLBOOL itype, PLINT npts, PLFLT *intensity, PLFLT *coord1, PLFLT *coord2, PLFLT *coord3, PLBOOL *alt_hue_path)
void c_plsmaj(PLFLT def, PLFLT scale)
void c_plhist(PLINT n, PLFLT *data, PLFLT datmin, PLFLT datmax, PLINT nbin, PLINT opt)
void c_plmeshc(PLFLT *x, PLFLT *y, PLFLT **z, PLINT nx, PLINT ny, PLINT opt, PLFLT *clevel, PLINT nlevel)
void c_pl_setcontlabelformat(PLINT lexp, PLINT sigdig)
void c_plspal0(const char *filename)
alias c_plhlsrgb plhlsrgb
void plseopH(void function(void *, int *) handler, void *handler_data)
void plsym(PLFLT[] x, PLFLT[] y, PLINT code)
void c_plvasp(PLFLT aspect)
const PLESC_DOUBLEBUFFERING_QUERY
void c_plgcolbg(PLINT *r, PLINT *g, PLINT *b)
void c_plbox3(const char *xopt, const char *xlabel, PLFLT xtick, PLINT nsubx, const char *yopt, const char *ylabel, PLFLT ytick, PLINT nsuby, const char *zopt, const char *zlabel, PLFLT ztick, PLINT nsubz)
void c_plscmap0a(PLINT *r, PLINT *g, PLINT *b, PLFLT *a, PLINT ncol0)
const PL_DRAWMODE_REPLACE
alias c_plscolbga plscolbga
const PL_COLORBAR_CAP_LOW
alias c_plgdiori plgdiori
void c_plsxax(PLINT digmax, PLINT digits)
void c_plsmin(PLFLT def, PLFLT scale)
const PL_COLORBAR_LABEL_BOTTOM
void c_plscolbg(PLINT r, PLINT g, PLINT b)
const PL_POSITION_VIEWPORT
void c_plgstrm(PLINT *p_strm)
void plot3dc(PLFLT[] x, PLFLT[] y, PLFLT[][] z, PLINT opt, PLFLT[] clevel)
void c_plgriddata(PLFLT *x, PLFLT *y, PLFLT *z, PLINT npts, PLFLT *xg, PLINT nptsx, PLFLT *yg, PLINT nptsy, PLFLT **zg, PLINT type, PLFLT data)
void pltr0(PLFLT x, PLFLT y, PLFLT *tx, PLFLT *ty, PLPointer pltr_data)
void c_plshade(PLFLT **a, PLINT nx, PLINT ny, PLINT function(PLFLT, PLFLT) defined, PLFLT left, PLFLT right, PLFLT bottom, PLFLT top, PLFLT shade_min, PLFLT shade_max, PLINT sh_cmap, PLFLT sh_color, PLFLT sh_width, PLINT min_color, PLFLT min_width, PLINT max_color, PLFLT max_width, void function(PLINT, PLFLT *, PLFLT *) fill, PLBOOL rectangular, void function(PLFLT, PLFLT, PLFLT *, PLFLT *, PLPointer) pltr, PLPointer pltr_data)
void c_plconfigtime(PLFLT scale, PLFLT offset1, PLFLT offset2, PLINT ccontrol, PLBOOL ifbtime_offset, PLINT year, PLINT month, PLINT day, PLINT hour, PLINT min, PLFLT sec)
plgriddata(x, y, z, xg, yg, type, data)\n\ \n\ \n\ This function is used in example 21.\n\ \n\ \n\ \n\ SYNOPSIS:\n\ \n\ plgriddata(x, y, z, npts, xg, nptsx, yg, nptsy, zg, type, data)\n\ \n\ ARGUMENTS:\n\ \n\ x(PLFLT_VECTOR, input) : The input x vector.\n\ \n\ y(PLFLT_VECTOR, input) : The input y vector.\n\ \n\ z(PLFLT_VECTOR, input) : The input z vector. Each triple x[i],\n\ y[i], z[i] represents one data sample coordinate.\n\ \n\ npts(PLINT, input) : The number of data samples in the x, y and z\n\ vectors.\n\ \n\ xg(PLFLT_VECTOR, input) : A vector that specifies the grid spacing\n\ in the x direction. Usually xg has nptsx equally spaced values\n\ from the minimum to the maximum values of the x input vector.\n\ \n\ nptsx(PLINT, input) : The number of points in the xg vector.\n\ \n\ yg(PLFLT_VECTOR, input) : A vector that specifies the grid spacing\n\ in the y direction. Similar to the xg parameter.\n\ \n\ nptsy(PLINT, input) : The number of points in the yg vector.\n\ \n\ zg(PLFLT_NC_MATRIX, output) : The matrix of interpolated results\n\ where data lies in the grid specified by xg and yg. Therefore the\n\ zg matrix must be dimensioned\n\ nptsx by\n\ nptsy.\n\ \n\ type(PLINT, input) : The type of grid interpolation algorithm to\n\ use, which can be:GRID_CSA:Bivariate Cubic Spline approximation\n\ GRID_DTLI:Delaunay Triangulation Linear Interpolation\n\ GRID_NNI:Natural Neighbors Interpolation\n\ GRID_NNIDW:Nearest Neighbors Inverse Distance Weighted\n\ GRID_NNLI:Nearest Neighbors Linear Interpolation\n\ GRID_NNAIDW: Nearest Neighbors Around Inverse Distance\n\ Weighted\n\ For details of the algorithms read the source file plgridd.c.\n\ \n\ data(PLFLT, input) : Some gridding algorithms require extra data,\n\ which can be specified through this argument. Currently, for\n\ algorithm:GRID_NNIDW, data specifies the number of neighbors to\n\ use, the lower the value, the noisier(more local) the\n\ approximation is.\n\ GRID_NNLI, data specifies what a thin triangle is, in the\n\ range[1. .. 2.]. High values enable the usage of very thin\n\ triangles for interpolation, possibly resulting in error in\n\ the approximation.\n\ GRID_NNI, only weights greater than data will be accepted. If\n\ 0, all weights will be accepted.\n\ " zg
void(*) fill_func(PLINT, const PLFLT *, const PLFLT *)
void(*) ct_func(PLFLT, PLFLT, PLFLT *, PLFLT *, PLPointer)
void(*) mapform_func(PLINT, PLFLT *, PLFLT *)
void(*) pltr_func(PLFLT, PLFLT, PLFLT *, PLFLT *, PLPointer)
void mapform(PLINT n, PLFLT *x, PLFLT *y)