Matplotlib 中如何在图像上绘制矩形 您所在的位置:网站首页 在word中用矩形画正方形 Matplotlib 中如何在图像上绘制矩形

Matplotlib 中如何在图像上绘制矩形

2024-05-31 02:56| 来源: 网络整理| 查看: 265

在 Matplotlib 中绘制矩形 在 Matplotlib 中的图像上绘制矩形

当我们需要在 Matplotlib 中的图像或纯图形上绘制矩形时,应通过 add_patch 方法将 matplotlib.patches 中的 rectangle patch 添加到轴上。

matpotlib patch 是具有外观和边缘颜色的 2D artist。Matplotlib 具有如下的 patch,

Arc Arrow ArrowStyle BoxStyle Circle CirclePolygon ConnectionPatch ConnectionStyle Ellipse FancyArrow FancyArrowPatch FancyBboxPatch Patch Path PathPatch Polygon Rectangle RegularPolygon Shadow Wedge

Rectangle patch 绘制一个指定左下角坐标和指定宽度和高度的矩形。

Rectangle(xy, width, height, angle=0.0, fill=True, **kwargs)

xy 是一个长度为 2 的元组,用于指定要绘制的矩形的左下角的坐标,

width 是矩形的宽度

height 是矩形的高度,

angle 是逆时针角度,以度为单位。

fill 指定矩形是否用 facecolor 填充。

一些有效的 kwargs 如下,

edgecolor:矩形边缘的颜色 facecolor:矩形的填充色 在 Matplotlib 中绘制矩形 import matplotlib.pyplot as plt import matplotlib.patches as patches fig, ax = plt.subplots() ax.plot([1, 4], [1, 4]) ax.add_patch( patches.Rectangle((1, 1), 0.5, 0.5, edgecolor="blue", facecolor="red", fill=True) ) plt.show()

矩形 patch 由构造函数创建,

patches.Rectangle((1, 1), 1, 2, edgecolor="blue", facecolor="red", fill=True)

其左下角的坐标为 (1, 1),其宽度为 1,高度为 2。

边缘颜色指定为 blue,同时填充颜色为 red。

轴对象的 add_patch(P) 方法在轴上添加一个 Patch。

如果将 fill 设置为 False,即使 facecolor 已经指定了某些颜色了,矩形也不会被填充。

import matplotlib.pyplot as plt import matplotlib.patches as patches fig, ax = plt.subplots() ax.plot([1, 4], [1, 4]) ax.add_patch( patches.Rectangle((1, 1), 1, 2, edgecolor="blue", facecolor="red", fill=False) ) plt.show()

在 Matplotlib 中的图像上绘制矩形

如果我们需要在 Matplotlib 中的图像上绘制一个矩形,则它与上述方法类似,但是需要额外的步骤来获取轴 Axes 句柄。

import matplotlib.pyplot as plt import matplotlib.patches as patches from PIL import Image im = Image.open("butterfly.jpg") plt.imshow(im) ax = plt.gca() rect = patches.Rectangle((80, 10), 70, 100, linewidth=2, edgecolor="cyan", fill=False) ax.add_patch(rect) plt.show()

plt.imshow(im) 显示图像 butterfly.jpg,而轴 Axes 的句柄可以通过函数 plt.gca() 获得,gca 是获取当前轴 get current axes 的首字母缩写。



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有