StationPlotLayout¶
-
class
metpy.plots.
StationPlotLayout
[source]¶ make a layout to encapsulate plotting using
StationPlot
.This class keeps a collection of offsets, plot formats, etc. for a parameter based on its name. This then allows a dictionary of data (or any object that allows looking up of arrays based on a name) to be passed to
plot()
to plot the data all at once.See also
Methods Summary
Initialize self.
add_barb
(u_name, v_name[, units])Add a wind barb to the center of the station layout.
add_symbol
(location, name, symbol_mapper, …)Add a symbol to the station layout.
add_text
(location, name, **kwargs)Add a text field to the station layout.
add_value
(location, name[, fmt, units])Add a numeric value to the station layout.
clear
()copy
()Create a new dictionary with keys from iterable and values set to value.
Return the value for key if key is in the dictionary, else default.
items
()keys
()names
()Get the list of names used by the layout.
plot
(plotter, data_dict)Plot a collection of data using this layout for a station plot.
pop
(k[,d])If key is not found, d is returned if given, otherwise KeyError is raised
popitem
()2-tuple; but raise KeyError if D is empty.
Insert key with a value of default if key is not in the dictionary.
update
([E, ]**F)If E is present and has a .keys() method, then does: for k in E: D[k] = E[k] If E is present and lacks a .keys() method, then does: for k, v in E: D[k] = v In either case, this is followed by: for k in F: D[k] = F[k]
values
()Methods Documentation
-
__init__
()¶ Initialize self. See help(type(self)) for accurate signature.
-
add_barb
(u_name, v_name, units=None, **kwargs)[source]¶ Add a wind barb to the center of the station layout.
This specifies that u- and v-component data should be pulled from the data container using the keys u_name and v_name, respectively, and plotted as a wind barb at the center of the station plot. If units are given, both components will be converted to these units.
Additional keyword arguments given will be passed onto the actual plotting code; this is useful for specifying things like color or line width.
- Parameters
u_name (str) – The name of the parameter for the u-component for barbs, which is used as a key to pull data out of the data container passed to
plot()
.v_name (str) – The name of the parameter for the v-component for barbs, which is used as a key to pull data out of the data container passed to
plot()
.units (pint-compatible unit, optional) – The units to use for plotting. Data will be converted to this unit before conversion to a string. If not specified, no conversion is done.
kwargs – Additional keyword arguments to use for matplotlib’s
barbs()
function.
See also
-
add_symbol
(location, name, symbol_mapper, **kwargs)[source]¶ Add a symbol to the station layout.
This specifies that at the offset location, data should be pulled from the data container using the key name and plotted. Data values will converted to glyphs appropriate for MetPy’s symbol font using the callable symbol_mapper.
Additional keyword arguments given will be passed onto the actual plotting code; this is useful for specifying things like color or font properties.
- Parameters
location (str or tuple[float, float]) – The offset (relative to center) to plot this value. If str, should be one of ‘C’, ‘N’, ‘NE’, ‘E’, ‘SE’, ‘S’, ‘SW’, ‘W’, or ‘NW’. Otherwise, should be a tuple specifying the number of increments in the x and y directions.
name (str) – The name of the parameter, which is used as a key to pull data out of the data container passed to
plot()
.symbol_mapper (callable) – Controls converting data values to unicode code points for the
wx_symbol_font
font. This should take a value and return a single unicode character. Seemetpy.plots.wx_symbols
for included mappers.kwargs – Additional keyword arguments to use for matplotlib’s plotting functions.
See also
-
add_text
(location, name, **kwargs)[source]¶ Add a text field to the station layout.
This specifies that at the offset location, data should be pulled from the data container using the key name and plotted directly as text with no conversion applied.
Additional keyword arguments given will be passed onto the actual plotting code; this is useful for specifying things like color or font properties.
- Parameters
location (str or tuple(float, float)) – The offset (relative to center) to plot this value. If str, should be one of ‘C’, ‘N’, ‘NE’, ‘E’, ‘SE’, ‘S’, ‘SW’, ‘W’, or ‘NW’. Otherwise, should be a tuple specifying the number of increments in the x and y directions.
name (str) – The name of the parameter, which is used as a key to pull data out of the data container passed to
plot()
.kwargs – Additional keyword arguments to use for matplotlib’s plotting functions.
See also
-
add_value
(location, name, fmt='.0f', units=None, **kwargs)[source]¶ Add a numeric value to the station layout.
This specifies that at the offset location, data should be pulled from the data container using the key name and plotted. The conversion of the data values to a string is controlled by fmt. The units required for plotting can also be passed in using units, which will cause the data to be converted before plotting.
Additional keyword arguments given will be passed onto the actual plotting code; this is useful for specifying things like color or font properties.
- Parameters
location (str or tuple[float, float]) – The offset (relative to center) to plot this value. If str, should be one of ‘C’, ‘N’, ‘NE’, ‘E’, ‘SE’, ‘S’, ‘SW’, ‘W’, or ‘NW’. Otherwise, should be a tuple specifying the number of increments in the x and y directions.
name (str) – The name of the parameter, which is used as a key to pull data out of the data container passed to
plot()
.fmt (str or callable, optional) – How to format the data as a string for plotting. If a string, it should be compatible with the
format()
builtin. If a callable, this should take a value and return a string. Defaults to ‘0.f’.units (pint-compatible unit, optional) – The units to use for plotting. Data will be converted to this unit before conversion to a string. If not specified, no conversion is done.
kwargs – Additional keyword arguments to use for matplotlib’s plotting functions.
See also
-
clear
() → None. Remove all items from D.¶
-
copy
() → a shallow copy of D¶
-
fromkeys
()¶ Create a new dictionary with keys from iterable and values set to value.
-
get
()¶ Return the value for key if key is in the dictionary, else default.
-
items
() → a set-like object providing a view on D's items¶
-
keys
() → a set-like object providing a view on D's keys¶
-
names
()[source]¶ Get the list of names used by the layout.
- Returns
list[str] – the list of names of variables used by the layout
-
plot
(plotter, data_dict)[source]¶ Plot a collection of data using this layout for a station plot.
This function iterates through the entire specified layout, pulling the fields named in the layout from data_dict and plotting them using plotter as specified in the layout. Fields present in the layout, but not in data_dict, are ignored.
- Parameters
plotter (StationPlot) –
StationPlot
to use to plot the data. This controls the axes, spacing, station locations, etc.data_dict (dict[str, array-like]) – Data container that maps a name to an array of data. Data from this object will be used to fill out the station plot.
-
pop
(k[, d]) → v, remove specified key and return the corresponding value.¶ If key is not found, d is returned if given, otherwise KeyError is raised
-
popitem
() → (k, v), remove and return some (key, value) pair as a¶ 2-tuple; but raise KeyError if D is empty.
-
setdefault
()¶ Insert key with a value of default if key is not in the dictionary.
Return the value for key if key is in the dictionary, else default.
-
update
([E, ]**F) → None. Update D from dict/iterable E and F.¶ If E is present and has a .keys() method, then does: for k in E: D[k] = E[k] If E is present and lacks a .keys() method, then does: for k, v in E: D[k] = v In either case, this is followed by: for k in F: D[k] = F[k]
-
values
() → an object providing a view on D's values¶
-