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()

輸出

執行以上程式碼將得到以下結果:

更新於: 2020年2月4日

2K+ 閱讀量

開啟你的 職業生涯

透過完成課程獲得認證

開始學習
廣告