PlotSurfaceAnalysis#
- class metpy.plots.PlotSurfaceAnalysis(**kwargs: Any)[source]#
Plot Surface Analysis Features.
This class visualizes Surface Analysis features, including the parsed WPC Surface Analysis bulletins processed by the parse_wpc_surface_bulletin() function.
Attributes Summary
Color for plotting cold fronts.
A trait type representing a Union type.
Size of symbols in front lines.
Color for plotting high-pressure systems.
Label used to plot high-pressure systems.
Color for plotting low-pressure systems.
Label used to plot low-pressure systems.
Color for plotting occluded fronts.
Color for plotting trough lines.
Linestyle of Trough lines.
Stroke width for front lines.
Color for plotting warm fronts.
A contextmanager for running a block with our cross validation lock set to True.
Collection of names of features to be plotted.
A collection of Shapely objects to plot.
Font sizes of pressure systems labels.
Supply a dictionary of valid Matplotlib keyword arguments to modify how the plot variable is drawn.
Generate a name for the plot.
A trait whose value must be an instance of a specified class.
Collection of strengths corresponding to pressure systems.
Offset between label of pressure system and its corresponding strength.
Methods Summary
__init__
(*args, **kwargs)add_traits
(**traits)Dynamically add trait attributes to the HasTraits instance.
class_own_trait_events
(name)Get a dict of all event handlers defined on this class, not a parent.
class_own_traits
(**metadata)Get a dict of all the traitlets defined on this class, not a parent.
class_trait_names
(**metadata)Get a list of all the names of this class' traits.
class_traits
(**metadata)Get a
dict
of all the traits of this class.copy
()Return a copy of the plot.
draw
()Draw the plot.
has_trait
(name)Returns True if the object has a trait with the specified name.
Context manager for bundling trait change notifications and cross validation.
notify_change
(change)Notify observers of a change event
observe
(handler[, names, type])Setup a handler to be called when a trait changes.
on_trait_change
([handler, name, remove])DEPRECATED: Setup a handler to be called when a trait changes.
set_trait
(name, value)Forcibly sets trait attribute, including read-only attributes.
setup_instance
(**kwargs)This is called before self.__init__ is called.
trait_defaults
(*names, **metadata)Return a trait's default value or a dictionary of them
trait_events
([name])Get a
dict
of all the event handlers of this class.trait_has_value
(name)Returns True if the specified trait has a value.
trait_metadata
(traitname, key[, default])Get metadata values for trait by key.
trait_names
(**metadata)Get a list of all the names of this class' traits.
trait_values
(**metadata)A
dict
of trait names and their values.traits
(**metadata)Get a
dict
of all the traits of this class.unobserve
(handler[, names, type])Remove a trait change handler.
unobserve_all
([name])Remove trait change handlers of any type for the specified name.
Attributes Documentation
- COLD_color#
Color for plotting cold fronts.
A single string (color name or hex code) used to plot cold fronts. Default color is ‘blue’, which is used by ColdFront() class.
COLD_color
alternates withWARM_color
to plot stationary fronts.
- FRONT_linewidth#
A trait type representing a Union type.
- FRONT_markersize#
Size of symbols in front lines.
Accepts size in points or relative size. Default value is 3. Allowed relative sizes are those of Matplotlib: ‘xx-small’, ‘x-small’, ‘small’, ‘medium’, ‘large’, ‘x-large’, ‘xx-large’.
- HIGH_color#
Color for plotting high-pressure systems.
A single string (color name or hex code) used to plot label of high-pressure system and their strength, if provided. Default value is ‘blue’.
- HIGH_label#
Label used to plot high-pressure systems.
Single string used as marker to plot high-pressure systems. Default value is ‘H’.
- LOW_color#
Color for plotting low-pressure systems.
A single string (color name or hex code) used to plot label of low-pressure system and their strength, if provided. Default value is ‘red’.
- LOW_label#
Label used to plot low-pressure systems.
Single string used as marker to plot low-pressure systems. Default value is ‘L’.
- OCFNT_color#
Color for plotting occluded fronts.
A single string (color name or hex code) used to plot Occluded fronts. Default color is ‘purple’, which is used by OccludedFront() class.
- TROF_color#
Color for plotting trough lines.
A single string (color name or hex code) used to plot trough lines. Default color is ‘darkorange’.
- TROF_linestyle#
Linestyle of Trough lines.
Single string, default value is ‘dashed’. Accept matplotlib linestyles: ‘solid’, ‘dotted’, ‘dashdot’.
- TROF_linewidth#
Stroke width for front lines.
A single floating point value representing the size of the stroke width.
- WARM_color#
Color for plotting warm fronts.
A single string (color name or hex code) used to plot warm fronts. Default color is ‘red’, which is used by WarmFront() class.
WARM_color
alternates withCOLD_color
to plot stationary fronts.
- cross_validation_lock[source]#
A contextmanager for running a block with our cross validation lock set to True.
At the end of the block, the lock’s value is restored to its value prior to entering the block.
- feature#
Collection of names of features to be plotted.
Collection of strings, each corresponding one-to-one with geometries, such as the ‘features’ column from a bulletin parsed with parse_wpc_surface_bulletin(). Acceptable feature names include: ‘HIGH’, ‘LOW’, ‘WARM’, ‘COLD’, ‘OCFNT’, ‘STNRY’, ‘TROF’.
- geometry#
A collection of Shapely objects to plot.
A collection of Shapely objects, such as the ‘geometry’ column from a bulletin parsed with parse_wpc_surface_bulletin(). Acceptable Shapely objects are
shapely.LineString
, andshapely.Point
.
- label_fontsize#
Font sizes of pressure systems labels.
Accepts size in points or relative size. Allowed relative sizes are those of Matplotlib: ‘xx-small’, ‘x-small’, ‘small’, ‘medium’, ‘large’, ‘x-large’, ‘xx-large’.
- mpl_args#
Supply a dictionary of valid Matplotlib keyword arguments to modify how the plot variable is drawn.
Using this attribute you must choose the appropriate keyword arguments (kwargs) based on what you are plotting (e.g., contours, color-filled contours, image plot, etc.). This is available for all plot types (ContourPlot, FilledContourPlot, RasterPlot, ImagePlot, BarbPlot, ArrowPlot, PlotGeometry, and PlotObs). For PlotObs, the kwargs are those to specify the StationPlot object. NOTE: Setting the mpl_args trait will override any other trait that corresponds to a specific kwarg for the particular plot type (e.g., linecolor, linewidth).
- parent#
A trait whose value must be an instance of a specified class.
The value can also be an instance of a subclass of the specified class.
Subclasses can declare default classes by overriding the klass attribute
- strength#
Collection of strengths corresponding to pressure systems.
Collection of floats, each corresponding one-to-one with pressure system features. Such as the ‘strength’ column from a bulletin parsed with parse_wpc_surface_bulletin().
- strength_offset#
Offset between label of pressure system and its corresponding strength.
Tuple representing the relative position of strength value with respect to label of pressure system. Default value is (0,-1). Scaled by multiplying times 80% of label_fontsize value.
Methods Documentation
- add_traits(**traits: Any) None [source]#
Dynamically add trait attributes to the HasTraits instance.
- classmethod class_own_trait_events(name: str) dict[str, EventHandler] [source]#
Get a dict of all event handlers defined on this class, not a parent.
Works like
event_handlers
, except for excluding traits from parents.
- classmethod class_own_traits(**metadata: Any) dict[str, TraitType[Any, Any]] [source]#
Get a dict of all the traitlets defined on this class, not a parent.
Works like
class_traits
, except for excluding traits from parents.
- classmethod class_trait_names(**metadata: Any) list[str] [source]#
Get a list of all the names of this class’ traits.
This method is just like the
trait_names()
method, but is unbound.
- classmethod class_traits(**metadata: Any) dict[str, TraitType[Any, Any]] [source]#
Get a
dict
of all the traits of this class. The dictionary is keyed on the name and the values are the TraitType objects.This method is just like the
traits()
method, but is unbound.The TraitTypes returned don’t know anything about the values that the various HasTrait’s instances are holding.
The metadata kwargs allow functions to be passed in which filter traits based on metadata values. The functions should take a single value as an argument and return a boolean. If any function returns False, then the trait is not included in the output. If a metadata key doesn’t exist, None will be passed to the function.
- hold_trait_notifications() Any [source]#
Context manager for bundling trait change notifications and cross validation.
Use this when doing multiple trait assignments (init, config), to avoid race conditions in trait notifiers requesting other trait values. All trait notifications will fire after all values have been assigned.
- observe(handler: Callable[[...], Any], names: Sentinel | str | Iterable[Sentinel | str] = traitlets.All, type: Sentinel | str = 'change') None [source]#
Setup a handler to be called when a trait changes.
This is used to setup dynamic notifications of trait changes.
- Parameters:
handler (callable) – A callable that is called when a trait changes. Its signature should be
handler(change)
, wherechange
is a dictionary. The change dictionary at least holds a ‘type’ key. *type
: the type of notification. Other keys may be passed depending on the value of ‘type’. In the case where type is ‘change’, we also have the following keys: *owner
: the HasTraits instance *old
: the old value of the modified trait attribute *new
: the new value of the modified trait attribute *name
: the name of the modified trait attribute.names (list, str, All) – If names is All, the handler will apply to all traits. If a list of str, handler will apply to all names in the list. If a str, the handler will apply just to that name.
type (str, All (default: 'change')) – The type of notification to filter by. If equal to All, then all notifications are passed to the observe handler.
- on_trait_change(handler: EventHandler | None = None, name: Sentinel | str | None = None, remove: bool = False) None [source]#
DEPRECATED: Setup a handler to be called when a trait changes.
This is used to setup dynamic notifications of trait changes.
Static handlers can be created by creating methods on a HasTraits subclass with the naming convention ‘_[traitname]_changed’. Thus, to create static handler for the trait ‘a’, create the method _a_changed(self, name, old, new) (fewer arguments can be used, see below).
If remove is True and handler is not specified, all change handlers for the specified name are uninstalled.
- Parameters:
handler (callable, None) – A callable that is called when a trait changes. Its signature can be handler(), handler(name), handler(name, new), handler(name, old, new), or handler(name, old, new, self).
name (list, str, None) – If None, the handler will apply to all traits. If a list of str, handler will apply to all names in the list. If a str, the handler will apply just to that name.
remove (bool) – If False (the default), then install the handler. If True then unintall it.
- set_trait(name: str, value: Any) None [source]#
Forcibly sets trait attribute, including read-only attributes.
- trait_defaults(*names: str, **metadata: Any) dict[str, Any] | Sentinel [source]#
Return a trait’s default value or a dictionary of them
Notes
Dynamically generated default values may depend on the current state of the object.
- classmethod trait_events(name: str | None = None) dict[str, EventHandler] [source]#
Get a
dict
of all the event handlers of this class.- Parameters:
name (str (default: None)) – The name of a trait of this class. If name is
None
then all the event handlers of this class will be returned instead.- Returns:
The event handlers associated with a trait name, or all event handlers.
- trait_has_value(name: str) bool [source]#
Returns True if the specified trait has a value.
This will return false even if
getattr
would return a dynamically generated default value. These default values will be recognized as existing only after they have been generated.Example
class MyClass(HasTraits): i = Int() mc = MyClass() assert not mc.trait_has_value("i") mc.i # generates a default value assert mc.trait_has_value("i")
- trait_metadata(traitname: str, key: str, default: Any = None) Any [source]#
Get metadata values for trait by key.
- trait_values(**metadata: Any) dict[str, Any] [source]#
A
dict
of trait names and their values.The metadata kwargs allow functions to be passed in which filter traits based on metadata values. The functions should take a single value as an argument and return a boolean. If any function returns False, then the trait is not included in the output. If a metadata key doesn’t exist, None will be passed to the function.
- Returns:
A
dict
of trait names and their values.
Notes
Trait values are retrieved via
getattr
, any exceptions raised by traits or the operations they may trigger will result in the absence of a trait value in the resultdict
.
- traits(**metadata: Any) dict[str, TraitType[Any, Any]] [source]#
Get a
dict
of all the traits of this class. The dictionary is keyed on the name and the values are the TraitType objects.The TraitTypes returned don’t know anything about the values that the various HasTrait’s instances are holding.
The metadata kwargs allow functions to be passed in which filter traits based on metadata values. The functions should take a single value as an argument and return a boolean. If any function returns False, then the trait is not included in the output. If a metadata key doesn’t exist, None will be passed to the function.
- unobserve(handler: Callable[[...], Any], names: Sentinel | str | Iterable[Sentinel | str] = traitlets.All, type: Sentinel | str = 'change') None [source]#
Remove a trait change handler.
This is used to unregister handlers to trait change notifications.
- Parameters:
handler (callable) – The callable called when a trait attribute changes.
names (list, str, All (default: All)) – The names of the traits for which the specified handler should be uninstalled. If names is All, the specified handler is uninstalled from the list of notifiers corresponding to all changes.
type (str or All (default: 'change')) – The type of notification to filter by. If All, the specified handler is uninstalled from the list of notifiers corresponding to all types.