ScaleBar¶
-
class
cosmoplotian.ScaleBar(ax, xy, length, *args, **kwargs)[source] [edit on github]¶ Bases:
matplotlib.patches.FancyArrowPatchThere are two ways for defining an arrow:
If posA and posB are given, a path connecting two points is created according to connectionstyle. The path will be clipped with patchA and patchB and further shrunken by shrinkA and shrinkB. An arrow is drawn along this resulting path using the arrowstyle parameter.
Alternatively if path is provided, an arrow is drawn along this path and patchA, patchB, shrinkA, and shrinkB are ignored.
- Parameters
- posA, posB(float, float), default: None
(x, y) coordinates of arrow tail and arrow head respectively.
- path
Path, default: None If provided, an arrow is drawn along this path and patchA, patchB, shrinkA, and shrinkB are ignored.
- arrowstylestr or
ArrowStyle, default: ‘simple’ The
ArrowStylewith which the fancy arrow is drawn. If a string, it should be one of the available arrowstyle names, with optional comma-separated attributes. The optional attributes are meant to be scaled with the mutation_scale. The following arrow styles are available:Class
Name
Attrs
Curve
-None
CurveB
->head_length=0.4, head_width=0.2
BracketB
-[widthB=1.0, lengthB=0.2, angleB=None
CurveFilledB
-|>head_length=0.4, head_width=0.2
CurveA
<-head_length=0.4, head_width=0.2
CurveAB
<->head_length=0.4, head_width=0.2
CurveFilledA
<|-head_length=0.4, head_width=0.2
CurveFilledAB
<|-|>head_length=0.4, head_width=0.2
BracketA
]-widthA=1.0, lengthA=0.2, angleA=None
BracketAB
]-[widthA=1.0, lengthA=0.2, angleA=None, widthB=1.0, lengthB=0.2, angleB=None
Fancy
fancyhead_length=0.4, head_width=0.4, tail_width=0.4
Simple
simplehead_length=0.5, head_width=0.5, tail_width=0.2
Wedge
wedgetail_width=0.3, shrink_factor=0.5
BarAB
|-|widthA=1.0, angleA=None, widthB=1.0, angleB=None
- connectionstylestr or
ConnectionStyleor None, optional, default: ‘arc3’ The
ConnectionStylewith which posA and posB are connected. If a string, it should be one of the available connectionstyle names, with optional comma-separated attributes. The following connection styles are available:Class
Name
Attrs
Angle
angleangleA=90, angleB=0, rad=0.0
Angle3
angle3angleA=90, angleB=0
Arc
arcangleA=0, angleB=0, armA=None, armB=None, rad=0.0
Arc3
arc3rad=0.0
Bar
bararmA=0.0, armB=0.0, fraction=0.3, angle=None
- patchA, patchB
Patch, default: None Head and tail patches, respectively.
- shrinkA, shrinkBfloat, default: 2
Shrinking factor of the tail and head of the arrow respectively.
- mutation_scalefloat, default: 1
Value with which attributes of arrowstyle (e.g., head_length) will be scaled.
- mutation_aspectNone or float, default: None
The height of the rectangle will be squeezed by this value before the mutation and the mutated box will be stretched by the inverse of it.
- dpi_corfloat, default: 1
dpi_cor is currently used for linewidth-related things and shrink factor. Mutation scale is affected by this.
- Other Parameters
- **kwargs
Patchproperties, optional Here is a list of available
Patchproperties:- Properties:
agg_filter: a filter function, which takes a (m, n, 3) float array and a dpi value, and returns a (m, n, 3) array alpha: float or None animated: bool antialiased or aa: unknown capstyle: {‘butt’, ‘round’, ‘projecting’} clip_box:
Bboxclip_on: bool clip_path: Patch or (Path, Transform) or None color: color contains: unknown edgecolor or ec: color or None or ‘auto’ facecolor or fc: color or None figure:Figurefill: bool gid: str hatch: {‘/’, ‘\’, ‘|’, ‘-‘, ‘+’, ‘x’, ‘o’, ‘O’, ‘.’, ‘*’} in_layout: bool joinstyle: {‘miter’, ‘round’, ‘bevel’} label: object linestyle or ls: {‘-‘, ‘–’, ‘-.’, ‘:’, ‘’, (offset, on-off-seq), …} linewidth or lw: float or None path_effects:AbstractPathEffectpicker: None or bool or callable rasterized: bool or None sketch_params: (scale: float, length: float, randomness: float) snap: bool or None transform:Transformurl: str visible: bool zorder: floatIn contrast to other patches, the default
capstyleandjoinstyleforFancyArrowPatchare set to"round".
- **kwargs
Methods Summary
label(**kwargs)Methods Documentation
-
label(**kwargs)[source] [edit on github]¶