39#ifdef PL_USE_NAMESPACE
55 xf.
xform( ox, oy, *nx, *ny );
84 xg.elements( nx, ny );
89 PLFLT xll, xlr, xrl, xrr;
90 PLFLT yll, ylr, yrl, yrr;
91 PLFLT xmin, xmax, ymin, ymax;
106 if ( x < xmin || x > xmax || y < ymin || y > ymax )
108 cerr <<
"cxx_pltr2::xform, Invalid coordinates\n";
119 tx =
xg( 0, ny - 1 );
120 ty =
yg( 0, ny - 1 );
129 tx = xll * ( 1 - dv ) + xlr * ( dv );
130 ty = yll * ( 1 - dv ) + ylr * ( dv );
137 tx =
xg( nx - 1, 0 );
138 ty =
yg( nx - 1, 0 );
142 tx =
xg( nx - 1, ny - 1 );
143 ty =
yg( nx - 1, ny - 1 );
147 xll =
xg( nx - 1, vl );
148 yll =
yg( nx - 1, vl );
149 xlr =
xg( nx - 1, vr );
150 ylr =
yg( nx - 1, vr );
152 tx = xll * ( 1 - dv ) + xlr * ( dv );
153 ty = yll * ( 1 - dv ) + ylr * ( dv );
165 tx = xll * ( 1 - du ) + xrl * ( du );
166 ty = yll * ( 1 - du ) + yrl * ( du );
170 xlr =
xg( ul, ny - 1 );
171 xrr =
xg( ur, ny - 1 );
172 ylr =
yg( ul, ny - 1 );
173 yrr =
yg( ur, ny - 1 );
175 tx = xlr * ( 1 - du ) + xrr * ( du );
176 ty = ylr * ( 1 - du ) + yrr * ( du );
193 if ( ur == nx && vr < ny )
198 tx = xll * ( 1 - dv ) + xlr * ( dv );
199 ty = yll * ( 1 - dv ) + ylr * ( dv );
204 else if ( ur < nx && vr == ny )
209 tx = xll * ( 1 - du ) + xrl * ( du );
210 ty = yll * ( 1 - du ) + yrl * ( du );
215 else if ( ur == nx && vr == ny )
233 tx = xll * ( 1 - du ) * ( 1 - dv ) + xlr * ( 1 - du ) * ( dv ) +
234 xrl * ( du ) * ( 1 - dv ) + xrr * ( du ) * ( dv );
236 ty = yll * ( 1 - du ) * ( 1 - dv ) + ylr * ( 1 - du ) * ( dv ) +
237 yrl * ( du ) * ( 1 - dv ) + yrr * ( du ) * ( dv );
258 pltr0( x, y, tx, ty, pltr_data );
266 pltr1( x, y, tx, ty, pltr_data );
275 pltr2( x, y, tx, ty, pltr_data );
284 pltr2p( x, y, tx, ty, pltr_data );
333 const char *driver,
const char *file )
358#define BONZAI { throw "plstream method not implemented."; }
378 plarc( x, y, a, b, angle1, angle2, rotate,
fill );
387 plvect( u, v, nx, ny, scale, pltr, pltr_data );
407 plaxes( x0, y0, xopt, xtick, nxsub, yopt, ytick, nysub );
416 plbin( nbin, x, y, center );
435 plbox( xopt, xtick, nxsub, yopt, ytick, nysub );
443 const char *yopt,
const char *ylabel,
PLFLT ytick,
PLINT nsuby,
444 const char *zopt,
const char *zlabel,
PLFLT ztick,
PLINT nsubz )
448 plbox3( xopt, xlabel, xtick, nsubx,
449 yopt, ylabel, ytick, nsuby,
450 zopt, zlabel, ztick, nsubz );
515 "plstream::col(PLFLT c) : function deprecated. Use plstream::col1(PLFLT c) instead"
531 plconfigtime( scale, offset1, offset2, ccontrol, ifbtime_offset, year,
532 month, day, hour,
min, sec );
546 plcont( f, nx, ny, kx, lx, ky, ly, clevel, nlevel,
563 nx, ny, kx, lx, ky, ly, clevel, nlevel,
592 pldid2pc( &xmin, &ymin, &xmax, &ymax );
602 pldip2dc( &xmin, &ymin, &xmax, &ymax );
633 plenv( xmin, xmax, ymin, ymax, just, axis );
644 plenv0( xmin, xmax, ymin, ymax, just, axis );
662 plerrx( n, xmin, xmax, y );
671 plerry( n, x, ymin, ymax );
788 plgdidev( &mar, &aspect, &jx, &jy );
806 plgdiplt( &xmin, &ymin, &xmax, &ymax );
824 plgfam( &fam, &num, &bmax );
842 plgfont( &family, &style, &weight );
861 plgpage( &xp, &yp, &xleng, &yleng, &xoff, &yoff );
890 plgriddata( x, y, z, npts, xg, nptsx,
yg, nptsy,
zg, type, data );
899 plgspa( &xmin, &xmax, &ymin, &ymax );
928 plgvpd( &xmin, &xmax, &ymin, &ymax );
937 plgvpw( &xmin, &xmax, &ymin, &ymax );
946 plgxax( &digmax, &digits );
955 plgyax( &digmax, &digits );
964 plgzax( &digmax, &digits );
974 plhist( n, data, datmin, datmax, nbin, oldwin );
1005 const char *tlabel )
1009 pllab( xlabel, ylabel, tlabel );
1020 PLFLT text_justification,
1021 const PLINT *text_colors,
const char *
const *
text,
1022 const PLINT *box_colors,
const PLINT *box_patterns,
1023 const PLFLT *box_scales,
const PLFLT *box_line_widths,
1024 const PLINT *line_colors,
const PLINT *line_styles,
1025 const PLFLT *line_widths,
1026 const PLINT *symbol_colors,
const PLFLT *symbol_scales,
1027 const PLINT *symbol_numbers,
const char *
const *symbols )
1031 pllegend( p_legend_width, p_legend_height, opt, position, x, y, plot_width,
1032 bg_color, bb_color, bb_style, nrow, ncolumn, nlegend, opt_array,
1033 text_offset, text_scale, text_spacing, text_justification,
1034 text_colors,
text, box_colors, box_patterns, box_scales,
1035 box_line_widths, line_colors, line_styles, line_widths,
1036 symbol_colors, symbol_scales, symbol_numbers, symbols );
1045 PLINT n_labels,
PLINT *label_opts,
const char *
const *label,
1046 PLINT n_axes,
const char *
const *axis_opts,
1048 PLINT *n_values,
const PLFLT *
const *values )
1052 plcolorbar( p_colorbar_width, p_colorbar_height, opt, position, x, y,
1053 x_length, y_length, bg_color, bb_color, bb_style,
1054 low_cap_color, high_cap_color, cont_color, cont_width,
1055 n_labels, label_opts, label, n_axes, axis_opts,
1056 ticks, sub_ticks, n_values, values );
1111 const PLINT *plotentries,
PLINT nplotentries )
1121 const char *
name,
const char *
string,
1123 const PLINT *plotentries,
PLINT nplotentries )
1139 plmaptex(
mapform,
name, dx, dy, just,
text, minx, maxx, miny, maxy, plotentry );
1173 plmesh( x, y, z, nx, ny, opt );
1183 plmeshc( x, y, z, nx, ny, opt, clevel, nlevel );
1223 plsurf3d( x, y, z, nx, ny, opt, clevel, nlevel );
1233 const PLINT *indexymin,
const PLINT *indexymax )
1237 plsurf3dl( x, y, z, nx, ny, opt, clevel, nlevel, ixstart, ixn,
1238 indexymin, indexymax );
1259 ::plot3dc( x, y, z, nx, ny, opt, clevel, nlevel );
1269 const PLINT *indexymin,
const PLINT *indexymax )
1273 ::plot3dcl( x, y, z, nx, ny, opt, clevel, nlevel, ixstart, ixn,
1274 indexymin, indexymax );
1283 return ::plparseopts( p_argc,
argv, mode );
1292 plpat( nlin, inc, del );
1301 plpath( n, x1, y1, x2, y2 );
1325 const bool *draw,
bool ifcc )
1328 for (
int i = 0; i < n - 1; i++ )
1330 loc_draw[i] = (
PLBOOL) draw[i];
1377 plptex3( wx, wy, wz, dx, dy, dz, sx, sy, sz, just,
text );
1484 const bool *alt_hue_path )
1486 PLBOOL *loc_alt_hue_path = NULL;
1487 if ( alt_hue_path != NULL )
1489 loc_alt_hue_path =
new PLBOOL[npts - 1];
1490 for (
int i = 0; i < npts - 1; i++ )
1492 loc_alt_hue_path[i] = (
PLBOOL) alt_hue_path[i];
1498 plscmap1l( (
PLBOOL) itype, npts, intensity, coord1, coord2, coord3, loc_alt_hue_path );
1500 if ( loc_alt_hue_path != NULL )
1501 delete [] loc_alt_hue_path;
1510 const PLFLT *a,
const bool *alt_hue_path )
1512 PLBOOL *loc_alt_hue_path = NULL;
1513 if ( alt_hue_path != NULL )
1515 loc_alt_hue_path =
new PLBOOL[npts - 1];
1516 for (
int i = 0; i < npts - 1; i++ )
1518 loc_alt_hue_path[i] = (
PLBOOL) alt_hue_path[i];
1525 a, loc_alt_hue_path );
1527 if ( loc_alt_hue_path != NULL )
1528 delete [] loc_alt_hue_path;
1631 plsdimap( dimxmin, dimxmax, dimymin, dimymax, dimxpmm, dimypmm );
1649 plsdiplt( xmin, ymin, xmax, ymax );
1658 plsdiplz( xmin, ymin, xmax, ymax );
1695 plsfam( fam, num, bmax );
1731 plsfont( family, style, weight );
1749 plshade( a, nx, ny, defined, left, right, bottom, top,
1750 shade_min, shade_max,
1751 sh_cmap, sh_color, sh_width,
1752 min_color, min_width, max_color, max_width,
1753 fill, (
PLBOOL) rectangular, pltr, pltr_data );
1767 plshades( a, nx, ny, defined, xmin, xmax, ymin, ymax,
1768 clevel, nlevel, fill_width, cont_color, cont_width,
1769 fill, (
PLBOOL) rectangular, pltr, pltr_data );
1790 xmin, xmax, ymin, ymax, shade_min, shade_max,
1791 sh_cmap, sh_color, sh_width,
1792 min_color, min_width, max_color, max_width,
1799 xmin, xmax, ymin, ymax, shade_min, shade_max,
1800 sh_cmap, sh_color, sh_width,
1801 min_color, min_width, max_color, max_width,
1820 plshade1( a, nx, ny, defined,
1821 left, right, bottom, top,
1822 shade_min, shade_max,
1823 sh_cmap, sh_color, sh_width,
1824 min_color, min_width, max_color, max_width,
1825 fill, (
PLBOOL) rectangular, pltr, pltr_data );
1842 plshade1( a, nx, ny, defined,
1843 left, right, bottom, top,
1844 shade_min, shade_max,
1845 sh_cmap, sh_color, sh_width,
1846 min_color, min_width, max_color, max_width,
1847 fill, (
PLBOOL) rectangular, pltr, pltr_data );
1868 c2eval, c2eval_data,
1869 nx, ny, left, right, bottom, top,
1870 shade_min, shade_max,
1871 sh_cmap, sh_color, sh_width,
1872 min_color, min_width, max_color, max_width,
1873 fill, (
PLBOOL) rectangular, pltr, pltr_data );
1900 plsmem( maxx, maxy, plotmem );
1909 plsmema( maxx, maxy, plotmem );
1937 plspage( xp, yp, xleng, yleng, xoff, yoff );
2018 plstransform( coordinate_transform, coordinate_transform_data );
2052 const PLINT colline[],
const PLINT styline[],
2053 const char *legline[],
const char *labx,
2054 const char *laby,
const char *labtop )
2058 plstripc(
id, xspec, yspec, xmin, xmax, xjump, ymin, ymax, xlpos, ylpos,
2059 (
PLBOOL) y_ascl, (
PLBOOL) acc, colbox, collab, colline, styline,
2060 legline, labx, laby, labtop );
2092 plimage( data, nx, ny, xmin, xmax, ymin, ymax, zmin, zmax,
2093 Dxmin, Dxmax, Dymin, Dymax );
2105 plimagefr( data, nx, ny, xmin, xmax, ymin, ymax, zmin, zmax,
2106 valuemin, valuemax, pltr, pltr_data );
2115 plstyl( nms, mark, space );
2124 plsvpa( xmin, xmax, ymin, ymax );
2133 plsxax( digmax, digits );
2151 plsyax( digmax, digits );
2160 plsym( n, x, y, code );
2169 plszax( digmax, digits );
2208 plvpas( xmin, xmax, ymin, ymax, aspect );
2217 plvpor( xmin, xmax, ymin, ymax );
2238 plw3d( basex, basey, height, xmin0, xmax0, ymin0, ymax0, zmin0, zmax0,
2257 plwind( xmin, xmax, ymin, ymax );
2270 *status = ( loc_status != 0 );
2370 return ::plf2eval2( ix, iy, plf2eval_data );
2380 return ::plf2eval( ix, iy, plf2eval_data );
2390 return ::plf2evalr( ix, iy, plf2eval_data );
2416 const char **notes )
2438 return ::plsetopt( opt, optarg );
2515 plGetName( dir, subdir, filename, filespec );
2634 for (
int i = 0; i < n - 1; i++ )
2636 loc_draw[i] = (
PLBOOL) draw[i];
2649 const PLINT *alt_hue_path )
2651 PLBOOL *loc_alt_hue_path = NULL;
2652 if ( alt_hue_path != NULL )
2654 loc_alt_hue_path =
new PLBOOL[npts - 1];
2655 for (
int i = 0; i < npts - 1; i++ )
2657 loc_alt_hue_path[i] = (
PLBOOL) alt_hue_path[i];
2663 plscmap1l( (
PLBOOL) itype, npts, intensity, coord1, coord2, coord3, loc_alt_hue_path );
2665 if ( loc_alt_hue_path != NULL )
2666 delete [] loc_alt_hue_path;
2683 plshade( a, nx, ny, defined, left, right, bottom, top,
2684 shade_min, shade_max,
2685 sh_cmap, sh_color, sh_width,
2686 min_color, min_width, max_color, max_width,
2687 fill, (
PLBOOL) rectangular, pltr, pltr_data );
2702 plshades( a, nx, ny, defined, xmin, xmax, ymin, ymax,
2703 clevel, nlevel, fill_width, cont_color, cont_width,
2704 fill, (
PLBOOL) rectangular, pltr, pltr_data );
2725 xmin, xmax, ymin, ymax, shade_min, shade_max,
2726 sh_cmap, sh_color, sh_width,
2727 min_color, min_width, max_color, max_width,
2750 c2eval, c2eval_data,
2751 nx, ny, left, right, bottom, top,
2752 shade_min, shade_max,
2753 sh_cmap, sh_color, sh_width,
2754 min_color, min_width, max_color, max_width,
2755 fill, (
PLBOOL) rectangular, pltr, pltr_data );
2771 const PLINT colline[],
const PLINT styline[],
2772 const char *legline[],
const char *labx,
2773 const char *laby,
const char *labtop )
2777 plstripc(
id, xspec, yspec, xmin, xmax, xjump, ymin, ymax, xlpos, ylpos,
2778 (
PLBOOL) y_ascl, (
PLBOOL) acc, colbox, collab, colline, styline,
2779 legline, labx, laby, labtop );
2791 *status = (
PLINT) loc_status;
virtual void elements(int &nx, int &ny) const
cxx_pltr2(Coord_2d &cx, Coord_2d &cy)
void xform(PLFLT x, PLFLT y, PLFLT &tx, PLFLT &ty) const
void wind(PLFLT xmin, PLFLT xmax, PLFLT ymin, PLFLT ymax)
void hist(PLINT n, const PLFLT *data, PLFLT datmin, PLFLT datmax, PLINT nbin, PLINT oldwin)
void spal0(const char *filename)
void cmd(PLINT op, void *ptr)
void smin(PLFLT def, PLFLT scale)
PLINT setopt(const char *opt, const char *optarg)
void fill(PLINT n, const PLFLT *x, const PLFLT *y)
void gdiplt(PLFLT &xmin, PLFLT &ymin, PLFLT &xmax, PLFLT &ymax)
void schr(PLFLT def, PLFLT scale)
void join(PLFLT x1, PLFLT y1, PLFLT x2, PLFLT y2)
void scmap0a(const PLINT *r, const PLINT *g, const PLINT *b, const PLFLT *a, PLINT ncol0)
void sdimap(PLINT dimxmin, PLINT dimxmax, PLINT dimymin, PLINT dimymax, PLFLT dimxpmm, PLFLT dimypmm)
void scmap1(const PLINT *r, const PLINT *g, const PLINT *b, PLINT ncol1)
void sdevdata(void *data)
void stransform(PLTRANSFORM_callback coordinate_transform, PLPointer coordinate_transform_data)
PLINT GetCursor(PLGraphicsIn *plg)
void scmap1a(const PLINT *r, const PLINT *g, const PLINT *b, const PLFLT *a, PLINT ncol1)
void smema(PLINT maxx, PLINT maxy, void *plotmem)
char * FindCommand(char *fn)
void griddata(const PLFLT *x, const PLFLT *y, const PLFLT *z, PLINT npts, const PLFLT *xg, PLINT nptsx, const PLFLT *yg, PLINT nptsy, PLFLT **zg, PLINT type, PLFLT data)
void env0(PLFLT xmin, PLFLT xmax, PLFLT ymin, PLFLT ymax, PLINT just, PLINT axis)
void svpa(PLFLT xmin, PLFLT xmax, PLFLT ymin, PLFLT ymax)
void mtex(const char *side, PLFLT disp, PLFLT pos, PLFLT just, const char *text)
void legend(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, const PLINT *opt_array, PLFLT text_offset, PLFLT text_scale, PLFLT text_spacing, PLFLT text_justification, const PLINT *text_colors, const char *const *text, const PLINT *box_colors, const PLINT *box_patterns, const PLFLT *box_scales, const PLFLT *box_line_widths, const PLINT *line_colors, const PLINT *line_styles, const PLFLT *line_widths, const PLINT *symbol_colors, const PLFLT *symbol_scales, const PLINT *symbol_numbers, const char *const *symbols)
virtual void set_stream(void)
void arc(PLFLT x, PLFLT y, PLFLT a, PLFLT b, PLFLT angle1, PLFLT angle2, PLFLT rotate, PLBOOL fill)
void line3(PLINT n, const PLFLT *x, const PLFLT *y, const PLFLT *z)
void scompression(PLINT compression)
void fshade(PLFLT(*f2eval)(PLINT, PLINT, PLPointer), PLPointer f2eval_data, PLFLT(*c2eval)(PLINT, PLINT, PLPointer), 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, PLFILL_callback fill, bool rectangular, PLTRANSFORM_callback pltr, PLPointer pltr_data)
void did2pc(PLFLT &xmin, PLFLT &ymin, PLFLT &xmax, PLFLT &ymax)
void gspa(PLFLT &xmin, PLFLT &xmax, PLFLT &ymin, PLFLT &ymax)
void sfnam(const char *fnam)
void scol0(PLINT icol0, PLINT r, PLINT g, PLINT b)
void gcolbg(PLINT &r, PLINT &g, PLINT &b)
void gfont(PLINT &family, PLINT &style, PLINT &weight)
void star(PLINT nx, PLINT ny)
static PLINT active_streams
void scolbg(PLINT r, PLINT g, PLINT b)
void plot3d(const PLFLT *x, const PLFLT *y, const PLFLT *const *z, PLINT nx, PLINT ny, PLINT opt, bool side)
void mtex3(const char *side, PLFLT disp, PLFLT pos, PLFLT just, const char *text)
void shade(const PLFLT *const *a, PLINT nx, PLINT ny, PLDEFINED_callback 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, PLFILL_callback fill, bool rectangular, PLTRANSFORM_callback pltr, PLPointer pltr_data)
void configtime(PLFLT scale, PLFLT offset1, PLFLT offset2, PLINT ccontrol, PLBOOL ifbtime_offset, PLINT year, PLINT month, PLINT day, PLINT hour, PLINT min, PLFLT sec)
void Static2dGrid(PLFLT_NC_MATRIX zIliffe, PLFLT_VECTOR zStatic, PLINT nx, PLINT ny)
void pat(PLINT nlin, const PLINT *inc, const PLINT *del)
void sfam(PLINT fam, PLINT num, PLINT bmax)
void vpor(PLFLT xmin, PLFLT xmax, PLFLT ymin, PLFLT ymax)
void gradient(PLINT n, const PLFLT *x, const PLFLT *y, PLFLT angle)
void Free2dGrid(PLFLT **f, PLINT nx, PLINT ny)
void meshc(const PLFLT *x, const PLFLT *y, const PLFLT *const *z, PLINT nx, PLINT ny, PLINT opt, const PLFLT *clevel, PLINT nlevel)
void ctime(PLINT year, PLINT month, PLINT day, PLINT hour, PLINT min, PLFLT sec, PLFLT &ctime)
void gfam(PLINT &fam, PLINT &num, PLINT &bmax)
void w3d(PLFLT basex, PLFLT basey, PLFLT height, PLFLT xmin0, PLFLT xmax0, PLFLT ymin0, PLFLT ymax0, PLFLT zmin0, PLFLT zmax0, PLFLT alt, PLFLT az)
void sdiplt(PLFLT xmin, PLFLT ymin, PLFLT xmax, PLFLT ymax)
void string(PLINT n, const PLFLT *x, const PLFLT *y, const char *string)
void vect(const PLFLT *const *u, const PLFLT *const *v, PLINT nx, PLINT ny, PLFLT scale, PLTRANSFORM_callback pltr, PLPointer pltr_data)
void sym(PLINT n, const PLFLT *x, const PLFLT *y, PLINT code)
void scmap1l(bool itype, PLINT npts, const PLFLT *intensity, const PLFLT *coord1, const PLFLT *coord2, const PLFLT *coord3, const bool *alt_hue_path=NULL)
void gvpw(PLFLT &xmin, PLFLT &xmax, PLFLT &ymin, PLFLT &ymax)
void scmap1n(PLINT ncol1)
void mapfill(PLMAPFORM_callback mapform, const char *name, PLFLT minx, PLFLT maxx, PLFLT miny, PLFLT maxy, const PLINT *plotentries, PLINT nplotentries)
void gcolbga(PLINT &r, PLINT &g, PLINT &b, PLFLT &a)
void sdiplz(PLFLT xmin, PLFLT ymin, PLFLT xmax, PLFLT ymax)
void timefmt(const char *fmt)
void sxwin(PLINT window_id)
void spage(PLFLT xp, PLFLT yp, PLINT xleng, PLINT yleng, PLINT xoff, PLINT yoff)
void poin3(PLINT n, const PLFLT *x, const PLFLT *y, const PLFLT *z, PLINT code)
void prec(PLINT setp, PLINT prec)
void gFileDevs(const char ***p_menustr, const char ***p_devname, int *p_ndev)
void meridians(PLMAPFORM_callback mapform, PLFLT dlong, PLFLT dlat, PLFLT minlong, PLFLT maxlong, PLFLT minlat, PLFLT maxlat)
void sdev(const char *devname)
void ptex3(PLFLT wx, PLFLT wy, PLFLT wz, PLFLT dx, PLFLT dy, PLFLT dz, PLFLT sx, PLFLT sy, PLFLT sz, PLFLT just, const char *text)
void fill3(PLINT n, const PLFLT *x, const PLFLT *y, const PLFLT *z)
PLINT parseopts(int *p_argc, char **argv, PLINT mode)
void env(PLFLT xmin, PLFLT xmax, PLFLT ymin, PLFLT ymax, PLINT just, PLINT axis)
void spal1(const char *filename, bool interpolate=true)
void GetName(char *dir, char *subdir, char *filename, char **filespec)
void mapstring(PLMAPFORM_callback mapform, const char *name, const char *string, PLFLT minx, PLFLT maxx, PLFLT miny, PLFLT maxy, const PLINT *plotentries, PLINT nplotentries)
void sxax(PLINT digmax, PLINT digits)
void ssym(PLFLT def, PLFLT scale)
plstream(const plstream &)
void btime(PLINT &year, PLINT &month, PLINT &day, PLINT &hour, PLINT &min, PLFLT &sec, PLFLT ctime)
void smem(PLINT maxx, PLINT maxy, void *plotmem)
void gzax(PLINT &digmax, PLINT &digits)
void stripa(PLINT id, PLINT pen, PLFLT x, PLFLT y)
void sfont(PLINT family, PLINT style, PLINT weight)
void colorbar(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, PLINT *label_opts, const char *const *label, PLINT n_axes, const char *const *axis_opts, PLFLT *ticks, PLINT *sub_ticks, PLINT *n_values, const PLFLT *const *values)
void setcontlabelformat(PLINT lexp, PLINT sigdig)
void gfci(PLUNICODE &pfci)
void scmap0n(PLINT ncol0)
void gdidev(PLFLT &mar, PLFLT &aspect, PLFLT &jx, PLFLT &jy)
void dip2dc(PLFLT &xmin, PLFLT &ymin, PLFLT &xmax, PLFLT &ymax)
void box3(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 sKeyEH(void(*KeyEH)(PLGraphicsIn *, void *, int *), void *KeyEH_data)
PLINT translatecursor(PLGraphicsIn *gin)
void styl(PLINT nms, const PLINT *mark, const PLINT *space)
void vpas(PLFLT xmin, PLFLT xmax, PLFLT ymin, PLFLT ymax, PLFLT aspect)
void map(PLMAPFORM_callback mapform, const char *name, PLFLT minx, PLFLT maxx, PLFLT miny, PLFLT maxy)
void poin(PLINT n, const PLFLT *x, const PLFLT *y, PLINT code)
void erry(PLINT n, const PLFLT *x, const PLFLT *ymin, const PLFLT *ymax)
void slabelfunc(PLLABEL_FUNC_callback label_func, PLPointer label_data)
void sexit(int(*handler)(const char *))
void Alloc2dGrid(PLFLT_NC_MATRIX *f, PLINT nx, PLINT ny)
void ssub(PLINT nx, PLINT ny)
void szax(PLINT digmax, PLINT digits)
void seed(unsigned int s)
void setcontlabelparam(PLFLT offset, PLFLT size, PLFLT spacing, PLINT active)
void sError(PLINT *errcode, char *errmsg)
void bin(PLINT nbin, const PLFLT *x, const PLFLT *y, PLINT center)
void axes(PLFLT x0, PLFLT y0, const char *xopt, PLFLT xtick, PLINT nxsub, const char *yopt, PLFLT ytick, PLINT nysub)
void gxax(PLINT &digmax, PLINT &digits)
void ptex(PLFLT x, PLFLT y, PLFLT dx, PLFLT dy, PLFLT just, const char *text)
void lab(const char *xlabel, const char *ylabel, const char *tlabel)
PLINT MergeOpts(PLOptionTable *options, const char *name, const char **notes)
void rgbhls(PLFLT r, PLFLT g, PLFLT b, PLFLT *p_h, PLFLT *p_l, PLFLT *p_s)
void cpstrm(plstream &pls, bool flags)
void scol0a(PLINT icol0, PLINT r, PLINT g, PLINT b, PLFLT a)
void xormod(bool mode, bool *status)
void hlsrgb(PLFLT h, PLFLT l, PLFLT s, PLFLT *p_r, PLFLT *p_g, PLFLT *p_b)
void gfile(FILE **p_file)
void line(PLINT n, const PLFLT *x, const PLFLT *y)
void gcol0(PLINT icol0, PLINT &r, PLINT &g, PLINT &b)
void fcont(PLFLT(*f2eval)(PLINT, PLINT, PLPointer), PLPointer f2eval_data, PLINT nx, PLINT ny, PLINT kx, PLINT lx, PLINT ky, PLINT ly, const PLFLT *clevel, PLINT nlevel, PLTRANSFORM_callback pltr, PLPointer pltr_data)
void svect(const PLFLT *arrow_x=NULL, const PLFLT *arrow_y=NULL, PLINT npts=0, bool fill=false)
void scmap0(const PLINT *r, const PLINT *g, const PLINT *b, PLINT ncol0)
void cont(const PLFLT *const *f, PLINT nx, PLINT ny, PLINT kx, PLINT lx, PLINT ky, PLINT ly, const PLFLT *clevel, PLINT nlevel, PLTRANSFORM_callback pltr, PLPointer pltr_data)
void smaj(PLFLT def, PLFLT scale)
void box(const char *xopt, PLFLT xtick, PLINT nxsub, const char *yopt, PLFLT ytick, PLINT nysub)
void path(PLINT n, PLFLT x1, PLFLT y1, PLFLT x2, PLFLT y2)
void glevel(PLINT &p_level)
void MinMax2dGrid(PLFLT_MATRIX f, PLINT nx, PLINT ny, PLFLT *fmax, PLFLT *fmin)
void scmap1_range(PLFLT min_color, PLFLT max_color)
void plot3dcl(const PLFLT *x, const PLFLT *y, const PLFLT *const *z, PLINT nx, PLINT ny, PLINT opt, const PLFLT *clevel, PLINT nlevel, PLINT ixstart, PLINT ixn, const PLINT *indexymin, const PLINT *indexymax)
void image(const PLFLT *const *data, PLINT nx, PLINT ny, PLFLT xmin, PLFLT xmax, PLFLT ymin, PLFLT ymax, PLFLT zmin, PLFLT zmax, PLFLT Dxmin, PLFLT Dxmax, PLFLT Dymin, PLFLT Dymax)
void stripc(PLINT *id, const char *xspec, const char *yspec, PLFLT xmin, PLFLT xmax, PLFLT xjump, PLFLT ymin, PLFLT ymax, PLFLT xlpos, PLFLT ylpos, bool y_ascl, bool acc, PLINT colbox, PLINT collab, const PLINT colline[], const PLINT styline[], const char *legline[], const char *labx, const char *laby, const char *labtop)
void imagefr(const PLFLT *const *data, PLINT nx, PLINT ny, PLFLT xmin, PLFLT xmax, PLFLT ymin, PLFLT ymax, PLFLT zmin, PLFLT zmax, PLFLT valuemin, PLFLT valuemax, PLTRANSFORM_callback pltr, PLPointer pltr_data)
void poly3(PLINT n, const PLFLT *x, const PLFLT *y, const PLFLT *z, const bool *draw, bool ifcc)
void gcmap1_range(PLFLT &min_color, PLFLT &max_color)
void surf3d(const PLFLT *x, const PLFLT *y, const PLFLT *const *z, PLINT nx, PLINT ny, PLINT opt, const PLFLT *clevel, PLINT nlevel)
void scmap1la(bool itype, PLINT npts, const PLFLT *intensity, const PLFLT *coord1, const PLFLT *coord2, const PLFLT *coord3, const PLFLT *a, const bool *alt_hue_path=NULL)
void calc_world(PLFLT rx, PLFLT ry, PLFLT &wx, PLFLT &wy, PLINT &window)
void surf3dl(const PLFLT *x, const PLFLT *y, const PLFLT *const *z, PLINT nx, PLINT ny, PLINT opt, const PLFLT *clevel, PLINT nlevel, PLINT ixstart, PLINT ixn, const PLINT *indexymin, const PLINT *indexymax)
void shades(const PLFLT *const *a, PLINT nx, PLINT ny, PLDEFINED_callback defined, PLFLT xmin, PLFLT xmax, PLFLT ymin, PLFLT ymax, const PLFLT *clevel, PLINT nlevel, PLFLT fill_width, PLINT cont_color, PLFLT cont_width, PLFILL_callback fill, bool rectangular, PLTRANSFORM_callback pltr, PLPointer pltr_data)
void gcol0a(PLINT icol0, PLINT &r, PLINT &g, PLINT &b, PLFLT &a)
void lightsource(PLFLT x, PLFLT y, PLFLT z)
void string3(PLINT n, const PLFLT *x, const PLFLT *y, const PLFLT *z, const char *string)
void syax(PLINT digmax, PLINT digits)
void maptex(PLMAPFORM_callback mapform, const char *name, PLFLT dx, PLFLT dy, PLFLT just, const char *text, PLFLT minx, PLFLT maxx, PLFLT miny, PLFLT maxy, PLINT plotentry)
void sdidev(PLFLT mar, PLFLT aspect, PLFLT jx, PLFLT jy)
void gchr(PLFLT &p_def, PLFLT &p_ht)
PLFLT f2evalr(PLINT ix, PLINT iy, PLPointer plf2eval_data)
void mesh(const PLFLT *x, const PLFLT *y, const PLFLT *const *z, PLINT nx, PLINT ny, PLINT opt)
void gyax(PLINT &digmax, PLINT &digits)
void plot3dc(const PLFLT *x, const PLFLT *y, const PLFLT *const *z, PLINT nx, PLINT ny, PLINT opt, const PLFLT *clevel, PLINT nlevel)
void errx(PLINT n, const PLFLT *xmin, const PLFLT *xmax, const PLFLT *y)
void gcompression(PLINT &compression)
void mapline(PLMAPFORM_callback mapform, const char *name, PLFLT minx, PLFLT maxx, PLFLT miny, PLFLT maxy, const PLINT *plotentries, PLINT nplotentries)
void gvpd(PLFLT &xmin, PLFLT &xmax, PLFLT &ymin, PLFLT &ymax)
void scolbga(PLINT r, PLINT g, PLINT b, PLFLT a)
void gpage(PLFLT &xp, PLFLT &yp, PLINT &xleng, PLINT &yleng, PLINT &xoff, PLINT &yoff)
void start(const char *devname, PLINT nx, PLINT ny)
PLFLT f2eval2(PLINT ix, PLINT iy, PLPointer plf2eval_data)
PLFLT f2eval(PLINT ix, PLINT iy, PLPointer plf2eval_data)
void SetUsage(char *program_string, char *usage_string)
PLDLLIMPEXP_CXX void tr2(PLFLT x, PLFLT y, PLFLT *tx, PLFLT *ty, PLPointer pltr_data)
PLDLLIMPEXP_CXX void tr2p(PLFLT x, PLFLT y, PLFLT *tx, PLFLT *ty, PLPointer pltr_data)
PLDLLIMPEXP_CXX void fill(PLINT n, const PLFLT *x, const PLFLT *y)
PLDLLIMPEXP_CXX void tr0(PLFLT x, PLFLT y, PLFLT *tx, PLFLT *ty, PLPointer pltr_data)
PLDLLIMPEXP_CXX void tr1(PLFLT x, PLFLT y, PLFLT *tx, PLFLT *ty, PLPointer pltr_data)
void plSetUsage(PLCHAR_VECTOR program_string, PLCHAR_VECTOR usage_string)
void pltr2p(PLFLT x, PLFLT y, PLFLT *tx, PLFLT *ty, PLPointer pltr_data)
void pltr2(PLFLT x, PLFLT y, PLFLT *tx, PLFLT *ty, PLPointer pltr_data)
void plfcont(PLF2EVAL_callback f2eval, PLPointer f2eval_data, PLINT nx, PLINT ny, PLINT kx, PLINT lx, PLINT ky, PLINT ly, PLFLT_VECTOR clevel, PLINT nlevel, PLTRANSFORM_callback pltr, PLPointer pltr_data)
void pltr1(PLFLT x, PLFLT y, PLFLT *tx, PLFLT *ty, PLPointer pltr_data)
void pltr0(PLFLT x, PLFLT y, PLFLT *tx, PLFLT *ty, PLPointer PL_UNUSED(pltr_data))
void pldip2dc(PLFLT *xmin, PLFLT *ymin, PLFLT *xmax, PLFLT *ymax)
void c_plssub(PLINT nx, PLINT ny)
void plsxwin(PLINT window_id)
void plsError(PLINT *errcode, char *errmsg)
void plsdevdata(void *data)
void c_plsstrm(PLINT strm)
void c_plgstrm(PLINT *p_strm)
void pldid2pc(PLFLT *xmin, PLFLT *ymin, PLFLT *xmax, PLFLT *ymax)
void plgfile(FILE **p_file)
void c_plmkstrm(PLINT *p_strm)
void plgFileDevs(const char ***p_menustr, const char ***p_devname, int *p_ndev)
void c_plsdev(PLCHAR_VECTOR devname)
void c_plsfnam(PLCHAR_VECTOR fnam)
void plsKeyEH(void(*KeyEH)(PLGraphicsIn *, void *, int *), void *KeyEH_data)
static PLStream * pls[PL_NSTREAMS]
void plsexit(int(*handler)(PLCHAR_VECTOR))
PLFLT plGetFlt(PLCHAR_VECTOR s)
void c_plrgbhls(PLFLT r, PLFLT g, PLFLT b, PLFLT *p_h, PLFLT *p_l, PLFLT *p_s)
char * plFindCommand(PLCHAR_VECTOR fn)
PLINT plFindName(char *p)
void plGetName(PLCHAR_VECTOR dir, PLCHAR_VECTOR subdir, PLCHAR_VECTOR filename, char **filespec)
void pl_cmd(PLINT op, void *ptr)
void c_plscolbg(PLINT r, PLINT g, PLINT b)
PLINT plGetInt(PLCHAR_VECTOR s)
void c_plhlsrgb(PLFLT h, PLFLT l, PLFLT s, PLFLT *p_r, PLFLT *p_g, PLFLT *p_b)
void plFree2dGrid(PLFLT **f, PLINT nx, PLINT PL_UNUSED(ny))
void plStatic2dGrid(PLFLT_NC_MATRIX zIliffe, PLFLT_VECTOR zStatic, PLINT nx, PLINT ny)
void plMinMax2dGrid(PLFLT_MATRIX f, PLINT nx, PLINT ny, PLFLT *fnmax, PLFLT *fnmin)
void plAlloc2dGrid(PLFLT ***f, PLINT nx, PLINT ny)
PLINT plTranslateCursor(PLGraphicsIn *plg)
PLINT plGetCursor(PLGraphicsIn *plg)
void(* PLMAPFORM_callback)(PLINT n, PLFLT_NC_VECTOR x, PLFLT_NC_VECTOR y)
void(* PLTRANSFORM_callback)(PLFLT x, PLFLT y, PLFLT_NC_SCALAR xp, PLFLT_NC_SCALAR yp, PLPointer data)
PLINT(* PLDEFINED_callback)(PLFLT x, PLFLT y)
const PLFLT * PLFLT_VECTOR
#define pl_setcontlabelformat
#define pl_setcontlabelparam
void(* PLFILL_callback)(PLINT n, PLFLT_VECTOR x, PLFLT_VECTOR y)
void(* PLLABEL_FUNC_callback)(PLINT axis, PLFLT value, PLCHAR_NC_VECTOR label, PLINT length, PLPointer data)
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
static const char shade or gradient plots n n or n gradient plots(See pllegend for similar functionality for creating\n\ legends with discrete elements). The arguments of plcolorbar provide\n\ control over the location and size of the color bar as well as the\n\ location and characteristics of the elements(most of which are\n\ optional) within that color bar. The resulting color bar is clipped\n\ at the boundaries of the current subpage.(N.B. the adopted coordinate\n\ system used for some of the parameters is defined in the documentation\n\ of the position parameter.)\n\ \n\ Redacted form reads the desired grid location from the input vectors n xg[nptsx] and yg[nptsy]
void(* label_func)(PLINT, PLFLT, char *, PLINT, PLPointer)
void plfshade(PLF2EVAL_callback f2eval, PLPointer f2eval_data, PLF2EVAL_callback c2eval, PLPointer c2eval_data, PLINT nx, PLINT ny, PLFLT xmin, PLFLT xmax, PLFLT ymin, PLFLT ymax, 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, PLFILL_callback fill, PLINT rectangular, PLTRANSFORM_callback pltr, PLPointer pltr_data)
void Coord_Xform_evaluator(PLFLT ox, PLFLT oy, PLFLT *nx, PLFLT *ny, PLPointer p)
PLFLT Contourable_Data_evaluator(PLINT i, PLINT j, PLPointer p)
PLDLLIMPEXP_CXX PLFLT Contourable_Data_evaluator(PLINT i, PLINT j, PLPointer p)
PLDLLIMPEXP_CXX void Coord_Xform_evaluator(PLFLT, PLFLT, PLFLT *, PLFLT *, PLPointer)
void mapform(PLINT n, PLFLT *x, PLFLT *y)
static PLOptionTable options[]