您好,登錄后才能下訂單哦!
本文小編為大家詳細介紹“怎么在Python中利用matplotlib.pyplot畫出函數圖”,內容詳細,步驟清晰,細節處理妥當,希望這篇“怎么在Python中利用matplotlib.pyplot畫出函數圖”文章能幫助大家解決疑惑,下面跟著小編的思路慢慢深入,一起來學習新知識吧。
為了讓用戶能夠使用python時,方便地繪制 2D 圖表,PYTHON的模塊中提供Matplotlib模塊中所含的子庫pyplot,提供了和 MATLAB 類似的繪圖功能。Pyplot 包含一系列繪圖函數的相關函數,每個函數會對當前的圖像進行一些修改。本文通過繪制三角函數cos()來對其中一些重要函數進行講解。
import numpy as np import matplotlib.pyplot as plt # 用于顯示中文字符 plt.rcParams['font.sans-serif'] = ['SimHei'] plt.rcParams['axes.unicode_minus'] = False
t = np.arange(0, 12, 0.01) s = np.cos(2 * np.pi * t)
figure()函數用于展開和設置畫布相關參數,figure(num, figsize),num設置為數字時為畫布編號,字符串時為畫布名;figsize用于設置畫布大小(長,寬)。兩者不是必須設置的,如果沒有,會自動生成合適的結果。還有其他一些參數可以設置,但不常用,就不介紹了,想了解的自行搜索相關內容。
plt.figure(num=1, figsize=(10, 10))
plot()用于繪制點和線
plt.plot(x, y, format_string, **kwargs),其中:
x:X軸數據,列表或數組,可選
y:Y軸數據,列表或數組
format_string:控制曲線的格式字符串,可選。包括線條的顏色,樣式,寬度等
**kwargs:第二組或更多(x,y,format_string),可畫多條曲線
plt.plot(t, s, color='red', ls='-', label='sinx')
plt.axhline(),plt.axvline()分別用于繪制平行于x軸和y軸的直線,參數設置和plt.plot()相似。
# 畫y=o的直線,平行于x軸; plt.axhline(y=0, color='green', lw=2, label='分割線') # 畫x=4的直線,平行于y軸; plt.axvline(x=0, color='b', lw=2, label='分割線2')
plt.axhspan(),plt.axvspan()用于繪制垂直于y軸和x軸的參考區域
# 繪制垂直于x軸的參考區域 plt.axhspan(ymin=0, ymax=.1, facecolor='r', alpha=0.2) plt.axvspan(xmin=0, xmax=1, facecolor='r', alpha=0.2)
plt.axis([xmin, xmax, ymin, ymax])和plt.xlim(xmin, xmax),plt.ylim(ymin, ymax)功能相同,用于設置坐標軸范圍;plt.xticks(list(range(xmin, xmax, 刻度間距))),plt.yticks(list(range((ymin, ymax, 刻度間距)))能更加精確地設置自己想要刻度。
# plt.axis([x_min, x_max, y_min, y_max]) # plt.xlim(0, 12) # plt.ylim(-1, 1) plt.xticks(list(range(0, 12, 2))) plt.yticks(list(range(-1, 2, 1)))
plt.xlabel('x軸') plt.ylabel('y軸')
plt.legend()' plt.title("正弦函數")
plt.legend()要想正常實現功能效果,plt.plot()中label必須設置。
必須有的函數。在關閉show()函數彈出的圖像窗口前,show()函數后面的代碼不會運行,直到用戶關閉圖像窗口,才會繼續。
完整代碼:
import numpy as np import matplotlib.pyplot as plt # 用于顯示中文字符 plt.rcParams['font.sans-serif'] = ['SimHei'] plt.rcParams['axes.unicode_minus'] = False # 預設參數 t = np.arange(0, 12, 0.01) s = np.cos(2 * np.pi * t) s2 = np.sin(2 * np.pi * t) # 打開一個畫布 plt.figure(num=1, figsize=(10, 10)) # 畫函數線,沒有label,圖例舊無法顯示 plt.plot(t, s, color='red', ls='-', label='cosx', ) # 畫y=o的直線,平行于x軸; plt.axhline(y=0, color='green', lw=2, label='分割線') # 畫x=4的直線,平行于y軸; plt.axvline(x=0, color='b', lw=2, label='分割線2') # 繪制垂直于x軸的參考區域 plt.axhspan(ymin=0, ymax=.1, facecolor='r', alpha=0.2) plt.axvspan(xmin=0, xmax=1, facecolor='r', alpha=0.2) # 設置 x,y 軸的數值范圍 # plt.axis([x_min, x_max, y_min, y_max]) # plt.xlim(0, 12) # plt.ylim(-1, 1) plt.xticks(list(range(0, 12, 2)))# 可調刻度 plt.yticks(list(range(-1, 2, 1))) # 設置 x,y 軸的標題文本 plt.xlabel('x軸') plt.ylabel('y軸') # 設置圖例 #plt.legend(loc='upper left', bbox_to_anchor=(0.2, 0.95)) plt.legend() plt.title("正弦函數") # 在關閉show()函數彈出的圖像窗口前,show()函數后面的代碼不會運行,直到用戶關閉圖像窗口,才會繼續。 plt.show()
讀到這里,這篇“怎么在Python中利用matplotlib.pyplot畫出函數圖”文章已經介紹完畢,想要掌握這篇文章的知識點還需要大家自己動手實踐使用過才能領會,如果想了解更多相關內容的文章,歡迎關注億速云行業資訊頻道。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。