【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绘制蓝天下的普通房屋的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 统计方格区域内正方形和长方形的个数(洛谷
- 下一篇: 注意满足循环终止条件时counter是否