Python程序绘制印度国旗
Python 的绘图库拥有非常广泛的功能,不仅可以生成图表,还可以灵活地绘制其他图形,例如国旗。从这个意义上说,这些模块具有一定的艺术性。在本文中,我们将了解如何使用 numpy 和 matplotlib 库绘制印度国旗。
方法
我们创建三个相同宽度的矩形,并使用适当的颜色和边框绘制它们。
使用 pyplot 函数在中间矩形的中心绘制阿育王法轮的圆形。
使用 numpy 和 matplotlib 绘制阿育王法轮内部的 24 条线。
在以上所有绘图中,我们都会指定颜色、边框、半径和线长,以满足我们所需国旗最终尺寸的要求。
程序
我们使用以下程序实现上述方法。
示例
import numpy as np import matplotlib.pyplot as py import matplotlib.patches as patch #Plotting the tri colours in national flag a = patch.Rectangle((0,1), width=12, height=2, facecolor='green', edgecolor='grey') b = patch.Rectangle((0,3), width=12, height=2, facecolor='white', edgecolor='grey') c = patch.Rectangle((0,5), width=12, height=2, facecolor='#FF9933', edgecolor='grey') m,n = py.subplots() n.add_patch(a) n.add_patch(b) n.add_patch(c) #AshokChakra Circle radius=0.8 py.plot(6,4, marker = 'o', markerfacecolor = '#000088ff', markersize = 9.5) chakra = py.Circle((6, 4), radius, color='#000088ff', fill=False, linewidth=7) n.add_artist(chakra) #24 spokes in AshokChakra for i in range(0,24): p = 6 + radius/2 * np.cos(np.pi*i/12 + np.pi/48) q = 6 + radius/2 * np.cos(np.pi*i/12 - np.pi/48) r = 4 + radius/2 * np.sin(np.pi*i/12 + np.pi/48) s = 4 + radius/2 * np.sin(np.pi*i/12 - np.pi/48) t = 6 + radius * np.cos(np.pi*i/12) u = 4 + radius * np.sin(np.pi*i/12) n.add_patch(patch.Polygon([[6,4], [p,r], [t,u],[q,s]], fill=True, closed=True, color='#000088ff')) py.axis('equal') py.show()
输出
运行以上代码将得到以下结果:
广告