python 用 matplotlib 的 patch 模块绘制矩形,画一所房子
软件信息:
0、import
import numpy as np
import matplotlib.pyplot as plt
from matplotlib.patches import Rectangle
1 、绘图
# 创建画布
fig, ax = plt.subplots(nrows=1,
ncols=1,
subplot_kw=dict(aspect='equal'),
figsize=(12, 8),
facecolor='beige', # 米黄色
)
# 绘图区的背景色
rectangle = ax.patch
rectangle.set(facecolor='lightskyblue')
# 墙
rectangle1 = Rectangle(xy=(1, 0), # The bottom and left rectangle coordinates
width=3,
height=3,
fc='lightyellow', # facecolor, white
ec='rosybrown', # edgecolor, 玫瑰棕色
)
# 门
rectangle2 = Rectangle(xy=(1.5, 0.1), # 矩形块左下角坐标
width=1,
height=1.5,
fc='w', # facecolor
ec='rosybrown', # edgecolor
hatch='|||' # 填充纹理
)
# 窗户
rectangle3 = Rectangle(xy=(2.9, 1.7), # 矩形左下角坐标
width=0.6,
height=0.6,
fc='w',
ec='rosybrown',
)
rectangle_list = [eval(f'rectangle{i}') for i in range(1, 4)]
# 添加形状
for rect in rectangle_list:
ax.add_patch(rect)
# 屋顶
ax.fill([0.8, 2.5, 4.2], [2.8, 4.5, 2.8],
fc='red',
ec='grey',
hatch='-/',
)
# 烟囱
ax.fill([3.5, 3.5, 3.6, 3.6], [3.5, 3.8, 3.8, 3.4],
fc='rosybrown',
)
# 窗格线
ax.plot([2.9, 3.5], [2.0, 2.0], # 水平线
[3.2, 3.2], [1.7, 2.3], # 垂直线
color='rosybrown'
)
# 门把手
ax.plot(2.4, 0.7,
'ko',
ms=6
)
# 隐藏轴脊
for position in ['left', 'top', 'right', 'bottom']:
ax.spines[position].set_visible(False)
# 隐藏刻度
ax.set(xticks=(),
yticks=()
)
# 显示图形
plt.show()
图形:
非学无以广才,非志无以成学。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 提示词工程——AI应用必不可少的技术
· Open-Sora 2.0 重磅开源!
· 周边上新:园子的第一款马克杯温暖上架