PLCONT(3plplot)

πŸ’– NAME: plcont β€” Contour plot πŸ’–

Okay so this is PLCONT(3plplot), from the PLplot API, bestie. plcont is the contour plot function β€” yes, the one that draws contours. Main character energy, no cap. 🫢

✨ SYNOPSIS ✨

plcont(f, nx, ny, kx, lx, ky, ly, clevel, nlevel, pltr, pltr_data)

πŸ¦‹ DESCRIPTION πŸ¦‹

So plcont draws a contour plot of the data in f[nx][ny], using the nlevel contour levels specified by clevel. Only the region of the matrix from kx to lx and from ky to ly is plotted out β€” and all those index ranges are interpreted as one-based for historical reasons. Yep. One-based. Historical. We love a legacy choice. πŸ’…

A transformation routine pointed to by pltr, with a generic pointer pltr_data for additional data required by the transformation routine, is used to map indices within the matrix to the world coordinates.

Redacted form: plcont(f, kx, lx, ky, ly, clevel, pltr, pltr_data) β€” where (see above discussion) the pltr, pltr_data callback arguments are sometimes replaced by a tr vector with 6 elements; xg and yg vectors; or xg and yg matrices.

This function is used in examples 9, 14, 16, and 22. Iconic. πŸ”₯

🌸 ARGUMENTS 🌸

  • f (PLFLT_MATRIX(3plplot), input) β€” a matrix containing data to be contoured.
  • nx, ny (PLINT(3plplot), input) β€” the dimensions of the matrix f.
  • kx, lx (PLINT(3plplot), input) β€” range of x indices to consider where 0 <= kx-1 < lx-1 < nx. Values of kx and lx are one-based rather than zero-based for historical backwards-compatibility reasons. Yes, bestie, one-based. It's giving legacy.
  • ky, ly (PLINT(3plplot), input) β€” range of y indices to consider where 0 <= ky-1 < ly-1 < ny. Values of ky and ly are one-based rather than zero-based for historical backwards-compatibility reasons. Same one-based situation, but for y. Periodt.
  • clevel (PLFLT_VECTOR(3plplot), input) β€” a vector specifying the levels at which to draw contours.
  • nlevel (PLINT(3plplot), input) β€” number of contour levels to draw.
  • pltr (PLTRANSFORM_callback(3plplot), input) β€” a callback function that defines the transformation between the zero-based indices of the matrix f and the world coordinates. For the C case, the PLplot library provides transformation functions: pltr0(3plplot) for the identity mapping, and pltr1(3plplot) and pltr2(3plplot) for arbitrary mappings respectively defined by vectors and matrices. In addition, C callback routines for the transformation can be supplied by the user, such as the mypltr function in examples/c/x09c.c, which provides a general linear transformation between index coordinates and world coordinates. For languages other than C you should consult the PLplot documentation for the details concerning how PLTRANSFORM_callback(3plplot) arguments are interfaced. However, in general, a particular pattern of callback-associated arguments such as a tr vector with 6 elements; xg and yg vectors; or xg and yg matrices are respectively interfaced to a linear-transformation routine similar to the above mypltr function; pltr1(3plplot); and pltr2(3plplot). Furthermore, some of our more sophisticated bindings (see, e.g., the PLplot documentation) support native language callbacks for handling index to world-coordinate transformations. Examples of these various approaches are given in examples/<language>x09*, examples/<language>x16*, examples/<language>x20*, examples/<language>x21*, and examples/<language>x22*, for all our supported languages. That's a lot of callback lore, but it's all important, iykyk.
  • pltr_data (PLPointer(3plplot), input) β€” extra parameter to help pass information to pltr0(3plplot), pltr1(3plplot), pltr2(3plplot), or whatever callback routine that is externally supplied.

πŸ‘‘ AUTHORS πŸ‘‘

Many developers (who are credited at http://plplot.sourceforge.net/credits.php) have contributed to PLplot over its long history. Legends, honestly. 🌈

🌈 SEE ALSO 🌈

PLplot documentation at http://plplot.sourceforge.net/documentation.php. Go read the docs, bestie. πŸ“š


Cute sign-off: source/version is the PLplot API, the page is PLCONT(3plplot), and the date is August, 2026. Mwah. Stay contouring. πŸ’‹βœ¨

πŸ“¦ where this page comes from