天天看點

matplotlib繪圖基礎

 sin函數繪圖示例:

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.



           

一個視窗繪制兩個圖:

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繪圖程式時,有時會出現一閃而過的情況

版權聲明:本文為CSDN部落客「weixin_33853827」的原創文章,遵循CC 4.0 BY-SA版權協定,轉載請附上原文出處連結及本聲明。

原文連結:https://blog.csdn.net/weixin_33853827/article/details/92377527