sin函數繪圖示例:python
import numpy as np import matplotlib.pyplot as plt from matplotlib.widgets import Cursor #np.arange()的用法,與range()的區別 #他們的用法相同,返回的對象類型不一樣 #range(5) 返回的是一個list: [0,1,2,3,4] #arange(5) 返回的是一個array: array([0,1,2,3,4]) #接收三個參數時,分別表示起點、終點、間隔 t = np.arange(0.0, 2.0, 0.01) #對t中的每一個值求sin值 s1 = np.sin(2 * np.pi * t) #plot意爲以圖表畫出,兩個參數分別表示x/y軸的值 plt.plot(t, s1) #將光標放在圖片上時,顯示以光標爲原點的十字軸 cursor = Cursor(plt.gca(), horizOn=True, color='r', lw=1) plt.show()
matplotlib.pyplot子庫函數
import matplotlib.pyplot as plt #可接收一個list做爲參數,以list下標爲x軸值,繪出一條直線 plt.plot([1,2,3,4]) #也可接收兩個list做爲參數,分別表示xy軸,繪出一條折線 plt.plot([1,2,3],[1,4,9]) #畫散點圖,加ro參數 plt.plot([1,2,3],[1,4,9],'ro') #同時畫多個函數,第三個參數表示線的顏色,形狀等屬性 t = np.arange(0., 5., 0.2) plt.plot(t, t, 'r--', t, t**2, 'bs', t, t**3, 'g^') #指定座標軸的範圍參數:[xmin,xmax,ymin,ymax] plt.axis([1,3,1,9]) #給x軸y軸加註釋 plt.xlabel('x') plt.ylabel('y') #多個圖像 plt.figure(1)#此行可省略,默認會建立figure(1),一個figure表示一個窗口 plt.subplot(211)#先指明要在哪一個子圖上畫圖,而後再使用plot畫圖 plt.plot() plt.subplot(212)#21分別表示子圖的數目,和列數,肯定多個圖像在窗口如何排列,第三個2指明第幾個圖 #其餘方法 plt.setp() plt.fignum() plt.clf() plt.cla() plt.title() plt.text() plt.grid() plt.
一個窗口繪製兩個圖:code
import numpy as np import matplotlib.pyplot as plt def f(t): return np.exp(-t) * np.cos(2*np.pi*t) t1 = np.arange(0.0, 5.0, 0.1) t2 = np.arange(0.0, 5.0, 0.02) plt.figure(1) plt.subplot(221) plt.plot(t1, f(t1), 'bo', t2, f(t2), 'k') plt.subplot(222) plt.plot(t2, np.cos(2*np.pi*t2), 'r--') plt.show()
matplotlib依賴Python GUI庫,matplotlib支持常見的Python GUI庫有Tkinter,wxPython,Jython等;對象
能夠在C:\Python27\Lib\site-packages\matplotlib\mpl-data\matplotlibrc文件中配置,配置的方法是修改backend : TkAgg的值。圖片
問題:執行matplotlib繪圖程序時,有時會出現一閃而過的狀況get