📜  Python中的 matplotlib.patches.Rectangle

📅  最后修改于: 2022-05-13 01:55:21.575000             🧑  作者: Mango

Python中的 matplotlib.patches.Rectangle

Matplotlib是Python中用于数组二维图的惊人可视化库。 Matplotlib 是一个基于 NumPy 数组的多平台数据可视化库,旨在与更广泛的 SciPy 堆栈一起使用。

matplotlib.patches.Rectangle

matplotlib.patches.Rectangle类用于在左下方 xy = (x, y) 处以指定的宽度、高度和旋转角度将补丁矩形化。

下表列出了有效的 kwargs;

PROPERTYDESCRIPTION
agg_filtera filter function that takes a (m, n, 3) float array and a dpi value that returns a (m, n, 3) array
alphafloat or None
animatedbool
antialiased or aaunknown
capstyle{‘butt’, ’round’, ‘projecting’}
clip_boxBbox
clip_onbool
clip_path[(Path, Transform)|Patch|None]
colorcolor or sequence of rgba tuples
containscallable
edgecolor or ec or edgecolorscolor or None or ‘auto’
facecolor or fc or facecolorscolor or None
figurefigure
fillbool
gidstr
hatch{‘/’, ‘\’, ‘|’, ‘-‘, ‘+’, ‘x’, ‘o’, ‘O’, ‘.’, ‘*’}
in_layoutbool
joinstyle{‘miter’, ’round’, ‘bevel’}
linestyle or ls{‘-‘, ‘–‘, ‘-.’, ‘:’, ”, (offset, on-off-seq), …}
linewidth or linewidths or lwfloat or None
path_effectsAbstractPathEffect
pickerNone or bool or float or callable
path_effectsAbstractPathEffect
pickerfloat or callable[[Artist, Event], Tuple[bool, dict]]
rasterizedbool or None
sketch_params(scale: float, length: float, randomness: float)
snapbool or None
transformmatplotlib.transforms.Transform
urlstr
visiblebool
zorderfloat

示例 1:

import numpy as np
import matplotlib.pyplot as plt
from matplotlib.patches import Rectangle
  
  
# The image
X = np.arange(16).reshape(4, 4)
  
# highlight some feature in the
# middle boxes.
fig = plt.figure()
  
ax = fig.add_subplot(111)
ax.imshow(X, cmap = plt.cm.gray,
          interpolation ='nearest')
ax.add_patch( Rectangle((0.5, 0.5),
                        2, 2,
                        fc ='none', 
                        ec ='g',
                        lw = 10) )
  
plt.show()

输出:

示例 2:

import matplotlib
import matplotlib.pyplot as plt
  
  
fig = plt.figure()
ax = fig.add_subplot(111)
  
rect1 = matplotlib.patches.Rectangle((-200, -100),
                                     400, 200,
                                     color ='green')
  
rect2 = matplotlib.patches.Rectangle((0, 150),
                                     300, 20,
                                     color ='pink')
  
rect3 = matplotlib.patches.Rectangle((-300, -50),
                                     40, 200,
                                     color ='yellow')
  
ax.add_patch(rect1)
ax.add_patch(rect2)
ax.add_patch(rect3)
  
plt.xlim([-400, 400])
plt.ylim([-400, 400])
  
plt.show()

输出: