要绘制红绿蓝三种颜色的不重叠矩形,并将绿色矩形的边缘变为黑色,可以使用Python的绘图库matplotlib来实现。

首先,导入必要的库:

import matplotlib.pyplot as plt
import matplotlib.patches as patches

然后,定义一个函数来绘制矩形:

def draw_rectangle(ax, x, y, width, height, color):
    rectangle = patches.Rectangle((x, y), width, height, facecolor=color, edgecolor=color)
    ax.add_patch(rectangle)

接下来,创建一个绘图对象和子图对象:

fig, ax = plt.subplots()

然后,使用上面定义的函数绘制红绿蓝三个矩形:

draw_rectangle(ax, 0.1, 0.1, 0.3, 0.5, 'red')
draw_rectangle(ax, 0.4, 0.3, 0.4, 0.4, 'green')
draw_rectangle(ax, 0.6, 0.2, 0.3, 0.3, 'blue')

最后,通过修改矩形边缘的颜色来将绿色矩形的边缘变为黑色:

for patch in ax.patches:
    if patch.get_facecolor() == (0, 1, 0, 1):  # 绿色
        patch.set_edgecolor('black')

完整的代码如下:

import matplotlib.pyplot as plt
import matplotlib.patches as patches

def draw_rectangle(ax, x, y, width, height, color):
    rectangle = patches.Rectangle((x, y), width, height, facecolor=color, edgecolor=color)
    ax.add_patch(rectangle)

fig, ax = plt.subplots()

draw_rectangle(ax, 0.1, 0.1, 0.3, 0.5, 'red')
draw_rectangle(ax, 0.4, 0.3, 0.4, 0.4, 'green')
draw_rectangle(ax, 0.6, 0.2, 0.3, 0.3, 'blue')

for patch in ax.patches:
    if patch.get_facecolor() == (0, 1, 0, 1):  # 绿色
        patch.set_edgecolor('black')

plt.xlim(0, 1)
plt.ylim(0, 1)
plt.axis('off')
plt.show()

运行代码后,将会显示一个带有红绿蓝三个矩形的图形,其中绿色矩形的边缘变为黑色


原文地址: http://www.cveoy.top/t/topic/hSlZ 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录