mirror of
https://github.com/Estom/notes.git
synced 2026-04-14 02:10:47 +08:00
matplotlib & pandas
This commit is contained in:
362
Python/matplotlab/gallery/misc/set_and_get.md
Normal file
362
Python/matplotlab/gallery/misc/set_and_get.md
Normal file
@@ -0,0 +1,362 @@
|
||||
# 设置和获取
|
||||
|
||||
pylot接口允许您使用setp和getp来设置和获取对象属性,以及对象进行内省。
|
||||
|
||||
## 设置
|
||||
|
||||
要将线条的线型设置为虚线,您可以执行以下操作:
|
||||
|
||||
```python
|
||||
>>> line, = plt.plot([1,2,3])
|
||||
>>> plt.setp(line, linestyle='--')
|
||||
```
|
||||
|
||||
如果要了解有效的参数类型,可以提供要设置的属性的名称而不使用值:
|
||||
|
||||
```python
|
||||
>>> plt.setp(line, 'linestyle')
|
||||
linestyle: [ '-' | '--' | '-.' | ':' | 'steps' | 'None' ]
|
||||
```
|
||||
|
||||
如果要查看可以设置的所有属性及其可能的值,您可以执行以下操作:
|
||||
|
||||
```python
|
||||
>>> plt.setp(line)
|
||||
```
|
||||
|
||||
set在单个实例或实例列表上运行。如果您处于查询模式内省可能的值,则仅使用序列中的第一个实例。实际设置值时,全部
|
||||
实例将被设置。 例如,假设您有两行的列表,以下将使两行变粗和变红:
|
||||
|
||||
```python
|
||||
>>> x = np.arange(0,1.0,0.01)
|
||||
>>> y1 = np.sin(2*np.pi*x)
|
||||
>>> y2 = np.sin(4*np.pi*x)
|
||||
>>> lines = plt.plot(x, y1, x, y2)
|
||||
>>> plt.setp(lines, linewidth=2, color='r')
|
||||
```
|
||||
|
||||
## 获取
|
||||
|
||||
get返回给定属性的值。 您可以使用get来查询单个属性的值:
|
||||
|
||||
```python
|
||||
>>> plt.getp(line, 'linewidth')
|
||||
0.5
|
||||
```
|
||||
|
||||
或所有属性/值对:
|
||||
|
||||
```python
|
||||
>>> plt.getp(line)
|
||||
aa = True
|
||||
alpha = 1.0
|
||||
antialiased = True
|
||||
c = b
|
||||
clip_on = True
|
||||
color = b
|
||||
... long listing skipped ...
|
||||
```
|
||||
|
||||
## 别名
|
||||
|
||||
为了减少交互模式中的击键,许多属性具有短的别名,例如,'linew'为'lw','markeredgecolor'为'mec'。 当调用set或get in introspection模式时,这些属性将被列为'fullname或aliasname'。
|
||||
|
||||

|
||||
|
||||
输出:
|
||||
|
||||
```python
|
||||
Line setters
|
||||
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
|
||||
animated: bool
|
||||
antialiased: bool
|
||||
clip_box: `.Bbox`
|
||||
clip_on: bool
|
||||
clip_path: [(`~matplotlib.path.Path`, `.Transform`) | `.Patch` | None]
|
||||
color: color
|
||||
contains: callable
|
||||
dash_capstyle: {'butt', 'round', 'projecting'}
|
||||
dash_joinstyle: {'miter', 'round', 'bevel'}
|
||||
dashes: sequence of floats (on/off ink in points) or (None, None)
|
||||
drawstyle: {'default', 'steps', 'steps-pre', 'steps-mid', 'steps-post'}
|
||||
figure: `.Figure`
|
||||
fillstyle: {'full', 'left', 'right', 'bottom', 'top', 'none'}
|
||||
gid: str
|
||||
in_layout: bool
|
||||
label: object
|
||||
linestyle: {'-', '--', '-.', ':', '', (offset, on-off-seq), ...}
|
||||
linewidth: float
|
||||
marker: unknown
|
||||
markeredgecolor: color
|
||||
markeredgewidth: float
|
||||
markerfacecolor: color
|
||||
markerfacecoloralt: color
|
||||
markersize: float
|
||||
markevery: unknown
|
||||
path_effects: `.AbstractPathEffect`
|
||||
picker: float or callable[[Artist, Event], Tuple[bool, dict]]
|
||||
pickradius: float
|
||||
rasterized: bool or None
|
||||
sketch_params: (scale: float, length: float, randomness: float)
|
||||
snap: bool or None
|
||||
solid_capstyle: {'butt', 'round', 'projecting'}
|
||||
solid_joinstyle: {'miter', 'round', 'bevel'}
|
||||
transform: matplotlib.transforms.Transform
|
||||
url: str
|
||||
visible: bool
|
||||
xdata: 1D array
|
||||
ydata: 1D array
|
||||
zorder: float
|
||||
Line getters
|
||||
agg_filter = None
|
||||
alpha = None
|
||||
animated = False
|
||||
antialiased = True
|
||||
children = []
|
||||
clip_box = TransformedBbox( Bbox(x0=0.0, y0=0.0, x1=1.0, ...
|
||||
clip_on = True
|
||||
clip_path = None
|
||||
color = r
|
||||
contains = None
|
||||
dash_capstyle = butt
|
||||
dash_joinstyle = round
|
||||
data = (array([0. , 0.01, 0.02, 0.03, 0.04, 0.05, 0.06, ...
|
||||
drawstyle = default
|
||||
figure = Figure(640x480)
|
||||
fillstyle = full
|
||||
gid = None
|
||||
in_layout = True
|
||||
label = _line0
|
||||
linestyle = --
|
||||
linewidth = 2.0
|
||||
marker = None
|
||||
markeredgecolor = r
|
||||
markeredgewidth = 1.0
|
||||
markerfacecolor = r
|
||||
markerfacecoloralt = none
|
||||
markersize = 6.0
|
||||
markevery = None
|
||||
path = Path(array([[ 0.00000000e+00, 0.00000000e+00], ...
|
||||
path_effects = []
|
||||
picker = None
|
||||
pickradius = 5
|
||||
rasterized = None
|
||||
sketch_params = None
|
||||
snap = None
|
||||
solid_capstyle = projecting
|
||||
solid_joinstyle = round
|
||||
transform = CompositeGenericTransform( TransformWrapper( ...
|
||||
transformed_clip_path_and_affine = (None, None)
|
||||
url = None
|
||||
visible = True
|
||||
xdata = [0. 0.01 0.02 0.03 0.04 0.05]...
|
||||
xydata = [[0. 0. ] [0.01 0.06279052] ...
|
||||
ydata = [0. 0.06279052 0.12533323 0.18738131 0.248...
|
||||
zorder = 2
|
||||
Rectangle setters
|
||||
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: unknown
|
||||
capstyle: {'butt', 'round', 'projecting'}
|
||||
clip_box: `.Bbox`
|
||||
clip_on: bool
|
||||
clip_path: [(`~matplotlib.path.Path`, `.Transform`) | `.Patch` | None]
|
||||
color: color
|
||||
contains: callable
|
||||
edgecolor: color or None or 'auto'
|
||||
facecolor: color or None
|
||||
figure: `.Figure`
|
||||
fill: bool
|
||||
gid: str
|
||||
hatch: {'/', '\\', '|', '-', '+', 'x', 'o', 'O', '.', '*'}
|
||||
height: unknown
|
||||
in_layout: bool
|
||||
joinstyle: {'miter', 'round', 'bevel'}
|
||||
label: object
|
||||
linestyle: {'-', '--', '-.', ':', '', (offset, on-off-seq), ...}
|
||||
linewidth: float or None for default
|
||||
path_effects: `.AbstractPathEffect`
|
||||
picker: None or bool or float or callable
|
||||
rasterized: bool or None
|
||||
sketch_params: (scale: float, length: float, randomness: float)
|
||||
snap: bool or None
|
||||
transform: `.Transform`
|
||||
url: str
|
||||
visible: bool
|
||||
width: unknown
|
||||
x: unknown
|
||||
xy: (float, float)
|
||||
y: unknown
|
||||
zorder: float
|
||||
Rectangle getters
|
||||
agg_filter = None
|
||||
alpha = None
|
||||
animated = False
|
||||
antialiased = True
|
||||
bbox = Bbox(x0=0.0, y0=0.0, x1=1.0, y1=1.0)
|
||||
capstyle = butt
|
||||
children = []
|
||||
clip_box = None
|
||||
clip_on = True
|
||||
clip_path = None
|
||||
contains = None
|
||||
data_transform = BboxTransformTo( TransformedBbox( Bbox...
|
||||
edgecolor = (0.0, 0.0, 0.0, 0.0)
|
||||
extents = Bbox(x0=80.0, y0=52.8, x1=576.0, y1=422.4)
|
||||
facecolor = (1.0, 1.0, 1.0, 1.0)
|
||||
figure = Figure(640x480)
|
||||
fill = True
|
||||
gid = None
|
||||
hatch = None
|
||||
height = 1.0
|
||||
in_layout = True
|
||||
joinstyle = miter
|
||||
label =
|
||||
linestyle = solid
|
||||
linewidth = 0.0
|
||||
patch_transform = CompositeGenericTransform( BboxTransformTo( ...
|
||||
path = Path(array([[0., 0.], [1., 0.], [1.,...
|
||||
path_effects = []
|
||||
picker = None
|
||||
rasterized = None
|
||||
sketch_params = None
|
||||
snap = None
|
||||
transform = CompositeGenericTransform( CompositeGenericTra...
|
||||
transformed_clip_path_and_affine = (None, None)
|
||||
url = None
|
||||
verts = [[ 80. 52.8] [576. 52.8] [576. 422.4] [ 80...
|
||||
visible = True
|
||||
width = 1.0
|
||||
window_extent = Bbox(x0=80.0, y0=52.8, x1=576.0, y1=422.4)
|
||||
x = 0.0
|
||||
xy = (0.0, 0.0)
|
||||
y = 0.0
|
||||
zorder = 1
|
||||
Text setters
|
||||
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
|
||||
animated: bool
|
||||
backgroundcolor: color
|
||||
bbox: dict with properties for `.patches.FancyBboxPatch`
|
||||
clip_box: `matplotlib.transforms.Bbox`
|
||||
clip_on: bool
|
||||
clip_path: { (`.path.Path`, `.transforms.Transform`), `.patches.Patch`, None }
|
||||
color: color
|
||||
contains: callable
|
||||
figure: `.Figure`
|
||||
fontfamily: {FONTNAME, 'serif', 'sans-serif', 'cursive', 'fantasy', 'monospace'}
|
||||
fontname: {FONTNAME, 'serif', 'sans-serif', 'cursive', 'fantasy', 'monospace'}
|
||||
fontproperties: `.font_manager.FontProperties`
|
||||
fontsize: {size in points, 'xx-small', 'x-small', 'small', 'medium', 'large', 'x-large', 'xx-large'}
|
||||
fontstretch: {a numeric value in range 0-1000, 'ultra-condensed', 'extra-condensed', 'condensed', 'semi-condensed', 'normal', 'semi-expanded', 'expanded', 'extra-expanded', 'ultra-expanded'}
|
||||
fontstyle: {'normal', 'italic', 'oblique'}
|
||||
fontvariant: {'normal', 'small-caps'}
|
||||
fontweight: {a numeric value in range 0-1000, 'ultralight', 'light', 'normal', 'regular', 'book', 'medium', 'roman', 'semibold', 'demibold', 'demi', 'bold', 'heavy', 'extra bold', 'black'}
|
||||
gid: str
|
||||
horizontalalignment: {'center', 'right', 'left'}
|
||||
in_layout: bool
|
||||
label: object
|
||||
linespacing: float (multiple of font size)
|
||||
multialignment: {'left', 'right', 'center'}
|
||||
path_effects: `.AbstractPathEffect`
|
||||
picker: None or bool or float or callable
|
||||
position: (float, float)
|
||||
rasterized: bool or None
|
||||
rotation: {angle in degrees, 'vertical', 'horizontal'}
|
||||
rotation_mode: {None, 'default', 'anchor'}
|
||||
sketch_params: (scale: float, length: float, randomness: float)
|
||||
snap: bool or None
|
||||
text: string or object castable to string (but ``None`` becomes ``''``)
|
||||
transform: `.Transform`
|
||||
url: str
|
||||
usetex: bool or None
|
||||
verticalalignment: {'center', 'top', 'bottom', 'baseline', 'center_baseline'}
|
||||
visible: bool
|
||||
wrap: bool
|
||||
x: float
|
||||
y: float
|
||||
zorder: float
|
||||
Text getters
|
||||
agg_filter = None
|
||||
alpha = None
|
||||
animated = False
|
||||
bbox_patch = None
|
||||
children = []
|
||||
clip_box = None
|
||||
clip_on = True
|
||||
clip_path = None
|
||||
color = black
|
||||
contains = None
|
||||
figure = Figure(640x480)
|
||||
fontfamily = ['sans-serif']
|
||||
fontname = DejaVu Sans
|
||||
fontproperties = :family=sans-serif:style=normal:variant=normal:wei...
|
||||
fontsize = 12.0
|
||||
fontstyle = normal
|
||||
fontvariant = normal
|
||||
fontweight = normal
|
||||
gid = None
|
||||
horizontalalignment = center
|
||||
in_layout = True
|
||||
label =
|
||||
path_effects = []
|
||||
picker = None
|
||||
position = (0.5, 1.0)
|
||||
rasterized = None
|
||||
rotation = 0.0
|
||||
rotation_mode = None
|
||||
sketch_params = None
|
||||
snap = None
|
||||
stretch = normal
|
||||
text = Hi mom
|
||||
transform = CompositeGenericTransform( BboxTransformTo( ...
|
||||
transformed_clip_path_and_affine = (None, None)
|
||||
unitless_position = (0.5, 1.0)
|
||||
url = None
|
||||
usetex = False
|
||||
verticalalignment = baseline
|
||||
visible = True
|
||||
wrap = False
|
||||
zorder = 3
|
||||
```
|
||||
|
||||
```python
|
||||
import matplotlib.pyplot as plt
|
||||
import numpy as np
|
||||
|
||||
|
||||
x = np.arange(0, 1.0, 0.01)
|
||||
y1 = np.sin(2*np.pi*x)
|
||||
y2 = np.sin(4*np.pi*x)
|
||||
lines = plt.plot(x, y1, x, y2)
|
||||
l1, l2 = lines
|
||||
plt.setp(lines, linestyle='--') # set both to dashed
|
||||
plt.setp(l1, linewidth=2, color='r') # line1 is thick and red
|
||||
plt.setp(l2, linewidth=1, color='g') # line2 is thinner and green
|
||||
|
||||
|
||||
print('Line setters')
|
||||
plt.setp(l1)
|
||||
print('Line getters')
|
||||
plt.getp(l1)
|
||||
|
||||
print('Rectangle setters')
|
||||
plt.setp(plt.gca().patch)
|
||||
print('Rectangle getters')
|
||||
plt.getp(plt.gca().patch)
|
||||
|
||||
t = plt.title('Hi mom')
|
||||
print('Text setters')
|
||||
plt.setp(t)
|
||||
print('Text getters')
|
||||
plt.getp(t)
|
||||
|
||||
plt.show()
|
||||
```
|
||||
|
||||
## 下载这个示例
|
||||
|
||||
- [下载python源码: set_and_get.py](https://matplotlib.org/_downloads/set_and_get.py)
|
||||
- [下载Jupyter notebook: set_and_get.ipynb](https://matplotlib.org/_downloads/set_and_get.ipynb)
|
||||
Reference in New Issue
Block a user