【Python】Matplotlib绘制蓝天下的普通房屋
生活随笔
收集整理的这篇文章主要介绍了
【Python】Matplotlib绘制蓝天下的普通房屋
小编觉得挺不错的,现在分享给大家,帮大家做个参考.
Demo
颜色说明
- lightskyblue:天蓝色
- darkred:深红色
- black:黑色
- w:白色
- rosybrown:棕褐色
绘制思路
我们需要填充颜色的部分是砖红色房顶、房外的蓝天。
需要描边的是房顶的砖红色轮廓、棕褐色窗框&门框、黑色的房体轮廓
基本上,可以使用矩形和直线完成图形组合。
Matplotlib编程实现
import matplotlib.pyplot as plt import numpy as np from matplotlib.patches import Rectanglefig, ax = plt.subplots(subplot_kw={"aspect": "equal"})x1 = np.arange(1, 2.6, 0.1) y1 = x1+2x2 = np.arange(2.5, 4.1, 0.1) y2 = 7-x2# 设置背景色 rectangle = ax.patch rectangle.set_facecolor("lightskyblue")# 屋顶的绘制 array_x = [1, 4, 7] array_y = [3, 4.5, 3] ax.plot(array_x, array_y, color="darkred") ax.fill_between(array_x, 3, array_y, color="darkred", interpolate=True)# 生成房屋屋体轮廓 rectangle1 = Rectangle((1, 0), 6, 3, facecolor="w", edgecolor="black")# 生成房门 rectangle2 = Rectangle((2, 0), 1, 1.5, facecolor="w", edgecolor="rosybrown", hatch="|||", linewidth=2)# 生成窗体外边框 rectangle3 = Rectangle((5.0, 1.7), 0.6, 0.6, facecolor="w", edgecolor="rosybrown", linewidth=3)# 绘制窗户内边框 ax.plot([5.3, 5.3], [1.7, 2.3], color="rosybrown", linewidth=3) ax.plot([5.0, 5.6], [2.0, 2.0], color="rosybrown", linewidth=3)rectangle_list = [rectangle1, rectangle2, rectangle3]# 绘制矩形图案 for r in rectangle_list:ax.add_patch(r)ax.axis([0, 8, 0, 6])plt.show()成品图
总结
以上是生活随笔为你收集整理的【Python】Matplotlib绘制蓝天下的普通房屋的全部内容,希望文章能够帮你解决所遇到的问题。
- 上一篇: 统计方格区域内正方形和长方形的个数(洛谷
- 下一篇: 【Python】Matplotlib使用