Python是一種高效的編程語言,而且它還有豐富的工具包和庫,能夠支持各種各樣的計算。在這些工具包和庫中,有一個被廣泛使用的叫做matplotlib的數據可視化庫,它可以幫助我們將數據用圖像的形式進行呈現。在這篇文章中,我們將學習如何使用matplotlib和Python生成一張著名的慈云圖。
# 導入必要的庫
import matplotlib.pyplot as plt
import numpy as np
# 定義橫向和縱向各有50個點的網格
x = np.linspace(-2, 2, 50)
y = np.linspace(-2, 2, 50)
X, Y = np.meshgrid(x, y)
# 定義慈云的函數
def f(x, y):
return (np.sin(x**2 + y**2) - np.cos(x*y))
# 用函數的值填充網格
Z = f(X, Y)
# 繪制慈云圖
plt.contourf(X, Y, Z, 10, alpha=1, cmap=plt.cm.hot)
C = plt.contour(X, Y, Z, 10, colors='black', linewidths=1)
# 添加等高線標簽
plt.clabel(C, inline=True, fontsize=10)
# 添加圖像標題
plt.title('Ci Yun Tu - Tian Yuan Tu')
# 顯示圖像
plt.show()
在上述代碼中,我們首先導入了必要的庫。然后,我們定義了一組橫向和縱向各有50個點的網格,并使用這個網格來計算慈云函數的值。接著,我們用函數的值填充網格,使用matplotlib的contourf函數來繪制慈云圖。為了使圖像更加美觀,我們使用了一個熱色圖來進行顏色渲染。
最后,我們添加了等高線標簽和圖像標題,然后使用plt.show()函數來顯示圖像。
運行代碼,我們可以得到一張美麗的慈云圖。通過這個例子,我們可以看到Python語言的強大之處,以及matplotlib的便捷和實用性。