.\
cgconlevels.pro
top cgConLevels
Graphics, Utilities
result = cgConLevels(data [, FACTOR=float] [, MAXVALUE=MAXVALUE] [, MINMAX=MINMAX] [, MINVALUE=MINVALUE] [, NLEVELS=integer] [, /SILENT] [, STEP=STEP] [, SUCCESS=boolen])
This program is designed to create "nicely formatted" contour levels for use in contour plots. The idea is to be able to produce evenly spaced contour intervals with the contour levels rounded off to the preferred degree of accuracy. The program will make a "guess" as to how to do this, but users can also take control of the process if the results are not pleasing enough.
There is no claim that this program always produces the best results. It is more of a tool that can produce decent result in many situations.
The program requires the Coyote Library to be installed on your machine.
Return value
A vector of contour levels of the requested number. Each level is rounded to a predefined or specified degree of accuracy.
Parameters
- data in required
The data for which contour levels are desired.
Keywords
- FACTOR in optional type=float
The program makes a "guess" at how to best round the levels in the data presented to it. This guess is not always what the user wants. This keyword allows the user to "fine tune" the guess, so that it behaves better. See the examples for details on how this keyword can be used. There is some danger, when using the factor keyword that the results will be terrible. Don't dismay! Just try something else.
- MAXVALUE in optional
Normally, the levels are calculated using the minimum and maximum values of the input data. The maximum value used in the calculation can be replaced with this value, if you wish. If both the
MinValue
and MaxValue keywords are used, you do not need to pass the data parameter.- MINMAX out optional
The actual minimum and maximum values used to calculate the levels.
- MINVALUE in optional
Normally, the levels are calculated using the minimum and maximum values of the input data. The minimum value used in the calculation can be replaced with this value, if you wish.
- NLEVELS in optional type=integer default=10
The number of contour levels desired.
- SILENT in optional type=boolean default=0
Set this keyword if you want the program to remain "silent" in the face of errors. If this keyword is set, the user should rely on the
Success
keyword to determine whether the program completed its work.- STEP out optional
The step size actually used in the program to calculate the levels.
- SUCCESS out optional type=boolen
Upon return, will contain a 1 if the program executed succesfully and a 0 otherwise.
Examples
Here is the normal way a contour plot might be created:
cgDisplay, WID=0
data = cgScaleVector(cgDemoData(2), 0.1, 4534.5)
cgLoadCT, 33, NColors=10, Bottom=1
cgContour, data, NLevels=10, /Fill, /Outline, $
Position=[0.1, 0.1, 0.9, 0.75], C_Colors=Indgen(10)+1
cgColorbar, NColors=9, Bottom=1, /Discrete, /Fit, $
Range=[Min(data), Max(data)], OOB_High=10, OOB_Low='white'
cgDisplay, WID=1
data = cgScaleVector(cgDemoData(2), 0.1, 4534.5)
cgLoadCT, 33, NColors=10, Bottom=1
levels = cgConLevels(data, Factor=100, MINVALUE=0)
cgContour, data, Levels=levels, /Fill, /Outline, $
Position=[0.1, 0.1, 0.9, 0.75], C_Colors=Indgen(10)+1
cgColorbar, NColors=9, Bottom=1, /Discrete, /Fit, $
Range=[Min(levels), Max(levels)], OOB_High=10, OOB_Low='white'
cgDisplay, WID=2
data = cgScaleVector(cgDemoData(2), 0.153, 0.986)
cgLoadCT, 33, NColors=10, Bottom=1
levels = cgConLevels(data)
cgContour, data, Levels=levels, /Fill, /Outline, $
Position=[0.1, 0.1, 0.9, 0.75], C_Colors=Indgen(10)+1
cgColorbar, NColors=9, Bottom=1, /Discrete, /Fit, $
Range=[Min(levels), Max(levels)], OOB_High=10, OOB_Low='white'
Factor
keyword:
cgDisplay, WID=3
data = cgScaleVector(cgDemoData(2), 0.153, 0.986)
cgLoadCT, 33, NColors=10, Bottom=1
levels = cgConLevels(data, Factor=0.05)
cgContour, data, Levels=levels, /Fill, /Outline, $
Position=[0.1, 0.1, 0.9, 0.75], C_Colors=Indgen(10)+1
cgColorbar, NColors=9, Bottom=1, /Discrete, /Fit, $
Range=[Min(levels), Max(levels)], OOB_High=10, OOB_Low='white'
Author information
- Author:
FANNING SOFTWARE CONSULTING:
David W. Fanning 1645 Sheely Drive Fort Collins, CO 80526 USA Phone: 970-221-0438 E-mail: david@idlcoyote.com Coyote's Guide to IDL Programming: http://www.idlcoyote.com
- Copyright:
Copyright (c) 2011, Fanning Software Consulting, Inc.
- History:
Change History:
Written, 8 December 2011. David W. Fanning
File attributes
Modification date: | Fri Mar 27 11:07:38 2015 |
Lines: | 290 |
Docformat: | rst rst |