NCL Home > Documentation > Graphics > Graphical Interfaces


Creates and draws a vector plot colored by a given scalar field.


load "$NCARG_ROOT/lib/ncarg/nclscripts/csm/gsn_code.ncl"  ; This library is automatically loaded
                                                          ; from NCL V6.2.0 onward.
                                                          ; No need for user to explicitly load.

	function gsn_vector_scalar (
		wks     [1] : graphic,  
		u    [*][*] : numeric,  
		v    [*][*] : numeric,  
		data [*][*] : numeric,  
		res     [1] : logical   

	return_val [1] :  graphic



A Workstation identifier. The identifier is one returned either from calling gsn_open_wks or calling create to create a Workstation object.


The u and v data for the vector plot; must be two-dimensional.


The data for which to color the vectors by; must be two-dimensional.


A variable containing an optional list of plot resources, attached as attributes. Set to True if you want the attached attributes to be applied, and False if you either don't have any resources to set, or you don't want the resources applied.

Return value

A scalar id of the vector plot created is returned. The id of the vector data object is returned as an attribute called vfdata, and the id of the scalar data object is returned as an attribute called sfdata. This is useful if you want to use setvalues to change some data options after this function has been called.


This function creates and draws a vector plot colored by a scalar field on the given workstation.

If u, v, or data have a _FillValue attribute, these values will be used as missing values.

You should use gsn_csm_vector_scalar if you want a more customized vector plot, if you want the scalar field to be represented as a separate contour plot, and/or if any of your data has coordinate arrays.

To maximize the area that the plot is drawn in, set the special resource gsnMaximize to True.

Important note: by default, NCL maps the vector direction into the underlying coordinate space. This works well when drawing vectors on a map projection, but for vertical plots where the two coordinate axes have different units with very different numerical spacing between the coordinate values, it leads to distortion. If you are seeing this issue, try setting the resource vcMapDirection to False.

See Also

Special gsn resources


For some application examples, see:

See also the suite of vector/scalar examples.