在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中绘制各种图形,包括矩形和圆形等。我们可以通过修改对象的参数来改变图形的形状、位置、颜色等属性。