在Matplotlib中绘制一个矩形内的圆
在Matplotlib中,我们可以使用patches库来绘制矩形和圆形等各种图形,其中Rectangle可以绘制矩形,Circle可以绘制圆形。
首先,我们需要引入patches库和matplotlib.pyplot库。
import matplotlib.pyplot as plt
import matplotlib.patches as patches
然后,我们可以定义一个矩形对象,并将其添加到图形中。
fig, ax = plt.subplots()
rect = patches.Rectangle((0.2, 0.2), 0.6, 0.6, linewidth=1, edgecolor='r', facecolor='none')
ax.add_patch(rect)
plt.show()
上面的代码定义了一个矩形,左上角的坐标为(0.2, 0.2),宽度和高度分别为0.6,边框颜色为red,填充颜色为空。然后将矩形对象rect添加到图形中。最后通过plt.show()显示图形。
接下来,我们需要在矩形内部绘制一个圆形。我们可以使用Circle对象来绘制。
fig, ax = plt.subplots()
rect = patches.Rectangle((0.2, 0.2), 0.6, 0.6, linewidth=1, edgecolor='r', facecolor='none')
ax.add_patch(rect)
circle = patches.Circle((0.5, 0.5), 0.2, linewidth=1, edgecolor='b', facecolor='none')
ax.add_patch(circle)
plt.show()
上面的代码定义了一个圆形,圆心坐标为(0.5, 0.5),半径为0.2,边框颜色为blue,填充颜色为空。然后将圆形对象circle添加到图形中。
完整的代码如下:
import matplotlib.pyplot as plt
import matplotlib.patches as patches
fig, ax = plt.subplots()
rect = patches.Rectangle((0.2, 0.2), 0.6, 0.6, linewidth=1, edgecolor='r', facecolor='none')
ax.add_patch(rect)
circle = patches.Circle((0.5, 0.5), 0.2, linewidth=1, edgecolor='b', facecolor='none')
ax.add_patch(circle)
plt.show()
结论
使用patches库可以方便地在Matplotlib中绘制各种图形,包括矩形和圆形等。我们可以通过修改对象的参数来改变图形的形状、位置、颜色等属性。
极客笔记