Method: Pgplot.pgconl

Defined in:
ext/rb_pgplot.c

.pgconl(*args) ⇒ Object

PGCONL – label contour map of a 2D data array

pgconl, map, cont, label [,intval, minint, tr]
map    : 2-D array of map data
cont   : contour level tobe labeld
label  : label string
intval : spacing along the contour between labels, in grid cells.
minint : contours that cross less than MININT cells will not be labelled.
tr     : transformation matrix


513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
# File 'ext/rb_pgplot.c', line 513

static VALUE
  rb_pgplot_pgconl( int argc, VALUE *argv, VALUE self )
{
  VALUE vmap, vcnt, vlab, vint, vmin, vtr;
  VALUE na_map;
  float *tr;
  int intval=20, minint=10; /* recomended default */

  rb_scan_args(argc, argv, "33", &vmap,&vcnt,&vlab,&vint,&vmin,&vtr );

  /* Map Data */
  na_map = rb_pgplot_fltary( vmap );
  if (NA_RANK(na_map) != 2)
    rb_raise(rb_eArgError, "Image must be 2-D (N)Array");
  /* spacing of labels */
  if (vint!=Qnil) intval = NUM2INT(vint);
  if (vmin!=Qnil) minint = NUM2INT(vmin);
  /* Transform */
  tr = rb_pgplot_transform( vtr );
  /* Show Contour */
  cpgconl( NA_PTR_FLT(na_map), NA_SHAPE0(na_map), NA_SHAPE1(na_map),
	   1, NA_SHAPE0(na_map), 1, NA_SHAPE1(na_map),
	   NUM2DBL(vcnt), tr, StringValuePtr(vlab), intval, minint);
  return Qtrue;
}