matplotlib.pyplot 是命令行風格的函數集,讓matplotlib看起來像MATLAB.Each一樣工作。pyplot函數能夠對畫布(figure)進行一些改變,例如:創建一個畫布(figure), 在畫布中創建一個繪圖區域,在繪圖區域中畫圖,使用文字標簽修飾圖形。
matplotlib.pyplot中的許多狀態可以通過函數調用維護,它會對這些狀態進行跟蹤,比如當前的畫布和繪圖區域,繪圖函數會指向當前的坐標系(Axes)。
這里的坐標系,是指畫布的一部分,有多個坐標軸,不是嚴格意義的數學概念
一般來說pyplot的API沒有對象的API靈活。大多數在這里看到的函數同樣可以使用Axes對象的方法。推薦你先通過本教程和示例來了解它是怎樣工作的。
使用pylot生成可視化的圖形是很快的:
import matplotlib.pyplot as plt
plt.plot([1, 2, 3, 4])
plt.ylabel('some numbers')
plt.show()
你可能會奇怪,為什么x軸發范圍是[0,3],而y軸的范圍是[1,4]。如果你只為plot()命令提供一個list或者array參數,matplotlib會把它當成y值序列,同時會自動生成對應的x值序列。默認的x向量和y的長度一樣,但會從0開始。生成x值的python代碼是range(len(y)), 結果:[0, 1, 2, 3].
plot()命令是多才多藝的,可以有多個參數。例如,可以同時繪制有x和y參數的圖形,添加代碼::
plt.plot([1, 2, 3, 4], [1, 4, 9, 16])
圖中紅色的線就是新添加的代碼繪制的。
完整代碼
import matplotlib.pyplot as plt
plt.plot([1, 2, 3, 4])
plt.ylabel('some numbers')
#plt.show()
plt.savefig("intro-0.png")
plt.plot([1, 2, 3, 4], [1, 4, 9, 16], 'r')
plt.savefig("intro-1.png")