python3 的matplotlib的三角函數sin和cos的靜態做圖詳述

感謝做者分享-http://bjbsair.com/2020-04-07/tech-info/30778.htmlhtml

1.說明:python

1.1 推薦指數:★★★編程

1.2 基礎知識:三角函數sin和cos,在計算機編程中,尤爲python中,應用到畫圓很重要。函數

1.3 用通俗易懂的方式,來說解,三角函數的matplotlib做圖,靜態圖,爲之後的畫圓打基礎。佈局

1.4 爲了突出重點,暫時不提中文設置。複習matplotlib做圖的基礎知識,深刻了解sin和cos的關係。學習

1.5 適合學習人羣:小白、學生、老師、愛好做圖人員和計算機編程人員閱讀。字體

python的matplotlib的三角函數sin和cos的靜態做圖詳解

2.理論:spa

好比:code

r = 1 #假設半徑爲1  
  
# 0~2π(一圈,一個π是半圈,步長=0.01,步長越小圖線越平滑)  
  
a = np.arange(0,2*np.pi,0.01)   
  
#圓的座標點與三角函數的關係  
  
x = r*np.cos(a)  
  
y = r*np.sin(a)  
  
#畫圓  
  
plt.plot(x,y,color='red')

3.sin正弦函數htm

3.1 靜態:sin-s

3.2 代碼:簡潔版

#---導出模塊---  
  
import matplotlib.pyplot as plt  
  
import numpy as np  
  
#定義座標關係  
  
x = np.arange(-2*np.pi,2*np.pi,0.1)  
  
y = np.sin(x)  
  
#畫線  
  
plt.plot(x,y,color='blue')  
  
plt.title('sin-s') #標題  
  
plt.legend(['sin']) #圖例,注意中括號  
  
plt.show()  #圖片展現

3.3 圖

sin-s-1

python的matplotlib的三角函數sin和cos的靜態做圖詳解

3.4 代碼:註釋版

#---導出模塊---  
  
import matplotlib.pyplot as plt  
  
import numpy as np  
  
#---定義畫布大小和分辨率  
  
#fig = plt.figure(figsize=(8,8),dpi=80) #自定義  
  
#fig = plt.figure() #這是默認的,也能夠這一行不設,就是默認  
  
#---畫正弦sin曲線---  
  
#0.001越小,線條越平滑好看  
  
#從-2*np.pi到2*np.pi=就是2個2π,4個波=2個波峯+2個波底  
  
#x = np.arange(-2*np.pi,2*np.pi,0.001)  
  
x = np.arange(-2*np.pi,2*np.pi,0.1)  
  
y = np.sin(x)  
  
#畫線  
  
plt.plot(x,y,color='blue')  
  
#默認顯示2個2π,4個波=2個波峯+2個波底  
  
#plt.ylim(-2, 2)  
  
#plt.xlim(-2, 2)  
  
plt.title('sin-s') #標題  
  
plt.legend(['sin']) #圖例,注意中括號  
  
plt.show()  #圖片展現

4.cos餘弦函數:

4.1 將上面的sin函數的簡潔版的代碼中,sin改成cos便可,顏色定義爲綠色=green。

4.2 代碼:簡潔版

#---導出模塊---  
  
import matplotlib.pyplot as plt  
  
import numpy as np  
  
#---畫正弦cos曲線---  
  
x = np.arange(-2*np.pi,2*np.pi,0.1)  
  
y = np.cos(x)  
  
#畫線  
  
plt.plot(x,y,color='green')  
  
plt.title('cos-s') #標題  
  
plt.legend(['cos']) #圖例,注意中括號  
  
plt.show()  #圖片展現

4.3 圖:cos-s-1

python的matplotlib的三角函數sin和cos的靜態做圖詳解

5.一個座標系展現sin和cos做圖法

5.1 代碼1:

#---導出模塊---  
  
import matplotlib.pyplot as plt  
  
import numpy as np  
  
#plt.figure() #能夠不要,採用默認  
  
#取值範圍-2π~2π,比較能展示sin和cos的特色  
  
#0.1~0.001,最好越小越好,線條越平滑  
  
x=np.arange(-2*np.pi,2*np.pi,0.1)  
  
y1=np.sin(x)  #正弦sin函數線條  
  
y2=np.cos(x)  #餘弦cos函數線條  
  
#繪製兩個圖形,須要繪製兩次  
  
#不設置顏色,採用默認的2種不一樣顏色,也能夠單獨設置顏色  
  
#本講解中sin設置藍色=blue,cos設置爲綠色=green  
  
plt.plot(x,y1,color='blue')  
  
plt.plot(x,y2,color='green')  
  
#增長標題  
  
plt.title('x‘sin and cos')  
  
#增長圖例  
  
plt.legend(['y=sinx','y=cosx'])  
  
#增長x軸和y軸標籤名  
  
plt.xlabel('x-v')  
  
plt.ylabel('y-v',rotation=0)  
  
#圖片展現  
  
plt.show()

5.2 圖:sin-cos-s-1

python的matplotlib的三角函數sin和cos的靜態做圖詳解

5.3 升級版,代碼:

#---導出模塊---  
  
import numpy as np  
  
from matplotlib import pyplot as plt  
  
#---sin和cos的座標值定義---  
  
#---注意np的arrange和linspace的含義,在這裏區別不大  
  
##在-np.pi~np.pi之間選擇256個等差數  
  
#x = np.linspace(-2*np.pi, 2*np.pi, 512, endpoint=True)  
  
x =np.arange(-2*np.pi,2*np.pi,0.001)  
  
#y1=sin,y2=cos  
  
y1, y2 = np.sin(x), np.cos(x)  
  
#定義畫布大小,不設置就是默認  
  
#plt.figure(figsize=(10, 7))#取出一張10*7的白紙  
  
#畫sin和cos,自定義顏色blue和green,label="sin",label="cos"  
  
plt.plot(x, y1, "-", color='blue',lw=2, aa=False, ms=50)#設置線寬5 aa關閉抗鋸齒 默認開啓  
  
plt.plot(x, y2, "-", color='green',lw=2, aa=True)#默認線寬10,不設置就是默認  
  
#去掉就是默認  
  
#自定義刻度法,取最大值×1.2  
  
plt.xlim(x.min() * 1.2, x.max() * 1.2)#橫座標範圍  
  
plt.ylim(y1.min() * 1.2, y1.max() * 1.2)#縱座標範圍  
  
plt.xticks([0, x.max(), x.min()], [0, r"$\pi$", "$-\pi$"])#橫座標刻度  
  
plt.yticks([y1.min(), y1.max()])#縱座標刻度  
  
#圖例個性設置,自定義字體大小,位置默認是最佳,顯示內容是label內容  
  
#也能夠這樣  
  
plt.legend(['sin','cos'],fontsize=20)  
  
#plt.legend(fontsize=20) #如何這樣的話,那麼須要在上面加入label  
  
#標註設置  
  
t = 2 / 3 * np.pi  
  
#標註藍色點垂直線  
  
plt.plot([t, t], [0, np.sin(t)], "--", color="b")  
  
plt.scatter([t], [np.sin(t)], s=100)#散點圖  
  
#標註紅色點垂直線  
  
plt.plot([t, t], [0, np.cos(t)], "--", color="r")  
  
plt.scatter([t], [np.cos(t)], s=100)#散點圖  
  
#設置標註  
  
plt.annotate(r"$\sin(\frac{2\pi}{3})=\frac{\sqrt{3}}{2}$",  
  
             (t, np.sin(t)),  
  
             xycoords="data", textcoords="offset pixels",  
  
             xytext=(20, 20),  
  
             arrowprops=dict(arrowstyle="->" , connectionstyle="arc3,rad=.2"),#箭頭屬性  
  
             fontsize=16,#zi字體大小  
  
            )  
  
#設置標註  
  
plt.annotate(r"$\cos(\frac{2\pi}{3})=-\frac{1}{2}$",  
  
             (t, np.cos(t)),  
  
             xycoords="data", textcoords="offset pixels",  
  
             xytext=(20, 0),  
  
             arrowprops=dict(arrowstyle="->" , connectionstyle="arc3,rad=.2"),#箭頭屬性  
  
             fontsize=16,#zi字體大小  
  
            )  
  
#ax定義和邊框線,也能夠註釋掉,那就是默認  
  
ax = plt.gca()  
  
#去除圖片的四邊黑框線  
  
ax.spines["bottom"].set_position(("data", 0))  
  
ax.spines["left"].set_position(("data", 0))  
  
ax.spines["top"].set_color("none")  
  
ax.spines["right"].set_color("none")  
  
#圖片展現  
  
plt.show()

5.4 圖:sin-cos-s-2

python的matplotlib的三角函數sin和cos的靜態做圖詳解

5.5 豪華版代碼:

#---導出模塊---  
  
import numpy as np  
  
import matplotlib.pyplot as plt  
  
#---函數定義和畫函數線---  
  
#x座標的取值範圍:linspace是等差數列法  
  
x=np.linspace(-2*np.pi,2*np.pi,256,endpoint=True)  
  
#arrange法,由於0.001取值很小很平滑,因此可能☆就不能顯示  
  
#x =np.arange(-2*np.pi,2*np.pi,0.001)  
  
#定義餘弦函數正弦函數,一行定義法,也能夠y1和y2  
  
c,s=np.cos(x),np.sin(x)  
  
#畫三角函數曲線,以x爲橫座標,以s和c爲縱座標  
  
#plt.plot(x,s,"r*",label="sin-s-3")  #r*=red的*,至關於color='red',linestyle="*"  
  
plt.plot(x,s,color="blue",label="sin-s-3")  
  
plt.plot(x,c,color="green",linestyle="-",label="cos-s-3",alpha=0.5)  
  
ax=plt.gca()  
  
#去除圖片的四邊的邊框黑線  
  
ax.spines["right"].set_color("none")  
  
ax.spines["top"].set_color("none")  
  
ax.spines["left"].set_position(("data",0))  
  
ax.spines["bottom"].set_position(("data",0))  
  
#自定義標籤文字  
  
#x軸標籤依次是:,若是註釋掉就是-6~6,間隔2  
  
plt.xticks([-np.pi,-np.pi/2,0,np.pi/2,np.pi],[r'$-\pi$',r'$-\pi/2$',r'$0$',r'$+\pi/2$',r'$+\pi$'])  
  
#y軸的標籤,取值從-1~1,分5個等差  
  
plt.yticks(np.linspace(-1,1,5,endpoint=True))  
  
#默認標籤位置也是這樣,因此能夠不要,註釋掉  
  
#ax.xaxis.set_ticks_position("bottom")  #線下  
  
#ax.yaxis.set_ticks_position("left")  #線左邊  
  
'''  
  
#若是上面的2行註釋掉,那麼下面的存在乎義不大,也能夠註釋掉  
  
for label in ax.get_xticklabels()+ax.get_yticklabels():  
  
    label.set_fontsize(16)  
  
    label.set_bbox(dict(facecolor="white",edgecolor="None",alpha=0.2))  
  
'''  
  
#固定面積顯示  
  
plt.fill_between(x,np.abs(x)<0.5,c,c>0.5,color="yellow",alpha=0.25)  
  
#固定垂直虛線標註  
  
t=1  
  
plt.plot([t,t],[0,np.cos(t)],"y",linewidth=3,linestyle="--")  
  
#箭頭標註  
  
plt.annotate("cos(1)",xy=(t,np.cos(1)),xycoords="data",xytext=(+10,+30),  
  
textcoords="offset points",arrowprops=dict(arrowstyle="->",connectionstyle="arc3,rad=.2"))  
  
#增長標題  
  
plt.title("sin-cos-s-3")  
  
#plt.figure(1)  #能夠註釋掉,採用默認  
  
#圖例顯示,loc表明位置,這是固定左上角位置,默認best,最佳位置,能夠自動調節空擋顯示  
  
plt.legend(loc="upper left")  
  
#顯示網格,能夠註釋掉  
  
plt.grid()  
  
#顯示圖形  
  
plt.show()

5.6 圖:sin-cos-s-3

python的matplotlib的三角函數sin和cos的靜態做圖詳解

6 sin和cos的佈局

6.1 ggplot法,代碼:

#導出模塊  
  
import numpy as np  
  
import matplotlib.pyplot as plt  
  
#畫布採用默認大小  
  
fig=plt.figure()   
  
#採用ggplot法佈局三個圖片位置  
  
plt.style.use('ggplot')  
  
left,width = 0.05,0.95  
  
#位置佈局一:上面一行2個  
  
rect_sin=[left,0.55,0.45,0.3]  #第1個圖  
  
rect_cos=[left+0.5,0.55,0.45,0.3]  #第2個圖  
  
'''  
  
#位置佈局二:上下2個,靠左  
  
rect_sin=[left,0.55,0.45,0.3]  #第1個圖  
  
rect_cos=[left,0.1,0.45,0.3]   #第2個圖  
  
'''  
  
#定義x和y座標  
  
#x=np.linspace(-10,10) #未設置等分,則線條不平滑  
  
#x=np.linspace(-10,10,260)  #260等分,數值越大,曲線的線條越平滑  
  
x=np.arange(-10,10,0.001)  #arange則是0.001,越小越平滑  
  
#y1=np.sin(x)  
  
#y1=np.cos(x)  
  
#---第1個圖---正弦sin  
  
ax_sin = fig.add_axes(rect_sin)  
  
ax_sin.plot(x,np.sin(x),color='blue')  
  
ax_sin.set_title('Sin-s-ggplot')  
  
#---第2個圖---餘弦cos  
  
ax_cos=fig.add_axes(rect_cos)  
  
ax_cos.plot(x,np.cos(x),color='green')  
  
ax_cos.set_title('Cos-s-ggplot')  
  
#圖片展現  
  
plt.show()

圖:2lf-ggplot法

python的matplotlib的三角函數sin和cos的靜態做圖詳解

2ud-ggplot法圖

python的matplotlib的三角函數sin和cos的靜態做圖詳解

6.2 subplot法

代碼:  
  
#---導出模塊---  
  
import matplotlib.pyplot as plt  
  
import numpy as np  
  
#---定義畫布大小和分辨率---  
  
fig = plt.figure(figsize=(8,8),dpi=80)  
  
#採用subplot法,分四個圖  
  
#2,2,1=2行2列,第一個,從左邊數  
  
# 畫正弦曲線  
  
fig.add_subplot(2,2,1)  
  
x = np.arange(-2*np.pi,2*np.pi,0.001)  
  
y = np.sin(x)  
  
plt.plot(x,y,color='blue')  
  
plt.title('Sin-s-subplot')  
  
plt.legend(['sin'])  
  
#方法一:第1行1和2並列  
  
# 餘弦,2,2,2=2行2列,第2個,從左邊數  
  
#fig.add_subplot(2,2,2)  
  
#方法二:第1行1和第2行1,上下  
  
# 餘弦,2,2,2=2行2列,第2個,從左邊數  
  
fig.add_subplot(2,2,3)  
  
x = np.arange(-2*np.pi,2*np.pi,0.001)  
  
y = np.cos(x)  
  
plt.plot(x,y,color='green')  
  
plt.title('Cos-s-subplot')  
  
plt.legend(['cos'])  
  
plt.show()

6.3 圖略,做圖位置如上面的ggplot法。

7.小結:

7.1 學習sin和cos有沒有用,固然有,在畫圓中須要sin和cos來定位圓的座標。基礎必定要打好。

7.2 順帶複習matplotlib的相關做圖。

**7.3 我本身整理好,也分享出來,值得收藏。**感謝做者分享-http://bjbsair.com/2020-04-07/tech-info/30778.html

1.說明:

1.1 推薦指數:★★★

1.2 基礎知識:三角函數sin和cos,在計算機編程中,尤爲python中,應用到畫圓很重要。

1.3 用通俗易懂的方式,來說解,三角函數的matplotlib做圖,靜態圖,爲之後的畫圓打基礎。

1.4 爲了突出重點,暫時不提中文設置。複習matplotlib做圖的基礎知識,深刻了解sin和cos的關係。

1.5 適合學習人羣:小白、學生、老師、愛好做圖人員和計算機編程人員閱讀。

python的matplotlib的三角函數sin和cos的靜態做圖詳解

2.理論:

好比:

r = 1 #假設半徑爲1  
  
# 0~2π(一圈,一個π是半圈,步長=0.01,步長越小圖線越平滑)  
  
a = np.arange(0,2*np.pi,0.01)   
  
#圓的座標點與三角函數的關係  
  
x = r*np.cos(a)  
  
y = r*np.sin(a)  
  
#畫圓  
  
plt.plot(x,y,color='red')

3.sin正弦函數

3.1 靜態:sin-s

3.2 代碼:簡潔版

#---導出模塊---  
  
import matplotlib.pyplot as plt  
  
import numpy as np  
  
#定義座標關係  
  
x = np.arange(-2*np.pi,2*np.pi,0.1)  
  
y = np.sin(x)  
  
#畫線  
  
plt.plot(x,y,color='blue')  
  
plt.title('sin-s') #標題  
  
plt.legend(['sin']) #圖例,注意中括號  
  
plt.show()  #圖片展現

3.3 圖

sin-s-1

python的matplotlib的三角函數sin和cos的靜態做圖詳解

3.4 代碼:註釋版

#---導出模塊---  
  
import matplotlib.pyplot as plt  
  
import numpy as np  
  
#---定義畫布大小和分辨率  
  
#fig = plt.figure(figsize=(8,8),dpi=80) #自定義  
  
#fig = plt.figure() #這是默認的,也能夠這一行不設,就是默認  
  
#---畫正弦sin曲線---  
  
#0.001越小,線條越平滑好看  
  
#從-2*np.pi到2*np.pi=就是2個2π,4個波=2個波峯+2個波底  
  
#x = np.arange(-2*np.pi,2*np.pi,0.001)  
  
x = np.arange(-2*np.pi,2*np.pi,0.1)  
  
y = np.sin(x)  
  
#畫線  
  
plt.plot(x,y,color='blue')  
  
#默認顯示2個2π,4個波=2個波峯+2個波底  
  
#plt.ylim(-2, 2)  
  
#plt.xlim(-2, 2)  
  
plt.title('sin-s') #標題  
  
plt.legend(['sin']) #圖例,注意中括號  
  
plt.show()  #圖片展現

4.cos餘弦函數:

4.1 將上面的sin函數的簡潔版的代碼中,sin改成cos便可,顏色定義爲綠色=green。

4.2 代碼:簡潔版

#---導出模塊---  
  
import matplotlib.pyplot as plt  
  
import numpy as np  
  
#---畫正弦cos曲線---  
  
x = np.arange(-2*np.pi,2*np.pi,0.1)  
  
y = np.cos(x)  
  
#畫線  
  
plt.plot(x,y,color='green')  
  
plt.title('cos-s') #標題  
  
plt.legend(['cos']) #圖例,注意中括號  
  
plt.show()  #圖片展現

4.3 圖:cos-s-1

python的matplotlib的三角函數sin和cos的靜態做圖詳解

5.一個座標系展現sin和cos做圖法

5.1 代碼1:

#---導出模塊---  
  
import matplotlib.pyplot as plt  
  
import numpy as np  
  
#plt.figure() #能夠不要,採用默認  
  
#取值範圍-2π~2π,比較能展示sin和cos的特色  
  
#0.1~0.001,最好越小越好,線條越平滑  
  
x=np.arange(-2*np.pi,2*np.pi,0.1)  
  
y1=np.sin(x)  #正弦sin函數線條  
  
y2=np.cos(x)  #餘弦cos函數線條  
  
#繪製兩個圖形,須要繪製兩次  
  
#不設置顏色,採用默認的2種不一樣顏色,也能夠單獨設置顏色  
  
#本講解中sin設置藍色=blue,cos設置爲綠色=green  
  
plt.plot(x,y1,color='blue')  
  
plt.plot(x,y2,color='green')  
  
#增長標題  
  
plt.title('x‘sin and cos')  
  
#增長圖例  
  
plt.legend(['y=sinx','y=cosx'])  
  
#增長x軸和y軸標籤名  
  
plt.xlabel('x-v')  
  
plt.ylabel('y-v',rotation=0)  
  
#圖片展現  
  
plt.show()

5.2 圖:sin-cos-s-1

python的matplotlib的三角函數sin和cos的靜態做圖詳解

5.3 升級版,代碼:

#---導出模塊---  
  
import numpy as np  
  
from matplotlib import pyplot as plt  
  
#---sin和cos的座標值定義---  
  
#---注意np的arrange和linspace的含義,在這裏區別不大  
  
##在-np.pi~np.pi之間選擇256個等差數  
  
#x = np.linspace(-2*np.pi, 2*np.pi, 512, endpoint=True)  
  
x =np.arange(-2*np.pi,2*np.pi,0.001)  
  
#y1=sin,y2=cos  
  
y1, y2 = np.sin(x), np.cos(x)  
  
#定義畫布大小,不設置就是默認  
  
#plt.figure(figsize=(10, 7))#取出一張10*7的白紙  
  
#畫sin和cos,自定義顏色blue和green,label="sin",label="cos"  
  
plt.plot(x, y1, "-", color='blue',lw=2, aa=False, ms=50)#設置線寬5 aa關閉抗鋸齒 默認開啓  
  
plt.plot(x, y2, "-", color='green',lw=2, aa=True)#默認線寬10,不設置就是默認  
  
#去掉就是默認  
  
#自定義刻度法,取最大值×1.2  
  
plt.xlim(x.min() * 1.2, x.max() * 1.2)#橫座標範圍  
  
plt.ylim(y1.min() * 1.2, y1.max() * 1.2)#縱座標範圍  
  
plt.xticks([0, x.max(), x.min()], [0, r"$\pi$", "$-\pi$"])#橫座標刻度  
  
plt.yticks([y1.min(), y1.max()])#縱座標刻度  
  
#圖例個性設置,自定義字體大小,位置默認是最佳,顯示內容是label內容  
  
#也能夠這樣  
  
plt.legend(['sin','cos'],fontsize=20)  
  
#plt.legend(fontsize=20) #如何這樣的話,那麼須要在上面加入label  
  
#標註設置  
  
t = 2 / 3 * np.pi  
  
#標註藍色點垂直線  
  
plt.plot([t, t], [0, np.sin(t)], "--", color="b")  
  
plt.scatter([t], [np.sin(t)], s=100)#散點圖  
  
#標註紅色點垂直線  
  
plt.plot([t, t], [0, np.cos(t)], "--", color="r")  
  
plt.scatter([t], [np.cos(t)], s=100)#散點圖  
  
#設置標註  
  
plt.annotate(r"$\sin(\frac{2\pi}{3})=\frac{\sqrt{3}}{2}$",  
  
             (t, np.sin(t)),  
  
             xycoords="data", textcoords="offset pixels",  
  
             xytext=(20, 20),  
  
             arrowprops=dict(arrowstyle="->" , connectionstyle="arc3,rad=.2"),#箭頭屬性  
  
             fontsize=16,#zi字體大小  
  
            )  
  
#設置標註  
  
plt.annotate(r"$\cos(\frac{2\pi}{3})=-\frac{1}{2}$",  
  
             (t, np.cos(t)),  
  
             xycoords="data", textcoords="offset pixels",  
  
             xytext=(20, 0),  
  
             arrowprops=dict(arrowstyle="->" , connectionstyle="arc3,rad=.2"),#箭頭屬性  
  
             fontsize=16,#zi字體大小  
  
            )  
  
#ax定義和邊框線,也能夠註釋掉,那就是默認  
  
ax = plt.gca()  
  
#去除圖片的四邊黑框線  
  
ax.spines["bottom"].set_position(("data", 0))  
  
ax.spines["left"].set_position(("data", 0))  
  
ax.spines["top"].set_color("none")  
  
ax.spines["right"].set_color("none")  
  
#圖片展現  
  
plt.show()

5.4 圖:sin-cos-s-2

python的matplotlib的三角函數sin和cos的靜態做圖詳解

5.5 豪華版代碼:

#---導出模塊---  
  
import numpy as np  
  
import matplotlib.pyplot as plt  
  
#---函數定義和畫函數線---  
  
#x座標的取值範圍:linspace是等差數列法  
  
x=np.linspace(-2*np.pi,2*np.pi,256,endpoint=True)  
  
#arrange法,由於0.001取值很小很平滑,因此可能☆就不能顯示  
  
#x =np.arange(-2*np.pi,2*np.pi,0.001)  
  
#定義餘弦函數正弦函數,一行定義法,也能夠y1和y2  
  
c,s=np.cos(x),np.sin(x)  
  
#畫三角函數曲線,以x爲橫座標,以s和c爲縱座標  
  
#plt.plot(x,s,"r*",label="sin-s-3")  #r*=red的*,至關於color='red',linestyle="*"  
  
plt.plot(x,s,color="blue",label="sin-s-3")  
  
plt.plot(x,c,color="green",linestyle="-",label="cos-s-3",alpha=0.5)  
  
ax=plt.gca()  
  
#去除圖片的四邊的邊框黑線  
  
ax.spines["right"].set_color("none")  
  
ax.spines["top"].set_color("none")  
  
ax.spines["left"].set_position(("data",0))  
  
ax.spines["bottom"].set_position(("data",0))  
  
#自定義標籤文字  
  
#x軸標籤依次是:,若是註釋掉就是-6~6,間隔2  
  
plt.xticks([-np.pi,-np.pi/2,0,np.pi/2,np.pi],[r'$-\pi$',r'$-\pi/2$',r'$0$',r'$+\pi/2$',r'$+\pi$'])  
  
#y軸的標籤,取值從-1~1,分5個等差  
  
plt.yticks(np.linspace(-1,1,5,endpoint=True))  
  
#默認標籤位置也是這樣,因此能夠不要,註釋掉  
  
#ax.xaxis.set_ticks_position("bottom")  #線下  
  
#ax.yaxis.set_ticks_position("left")  #線左邊  
  
'''  
  
#若是上面的2行註釋掉,那麼下面的存在乎義不大,也能夠註釋掉  
  
for label in ax.get_xticklabels()+ax.get_yticklabels():  
  
    label.set_fontsize(16)  
  
    label.set_bbox(dict(facecolor="white",edgecolor="None",alpha=0.2))  
  
'''  
  
#固定面積顯示  
  
plt.fill_between(x,np.abs(x)<0.5,c,c>0.5,color="yellow",alpha=0.25)  
  
#固定垂直虛線標註  
  
t=1  
  
plt.plot([t,t],[0,np.cos(t)],"y",linewidth=3,linestyle="--")  
  
#箭頭標註  
  
plt.annotate("cos(1)",xy=(t,np.cos(1)),xycoords="data",xytext=(+10,+30),  
  
textcoords="offset points",arrowprops=dict(arrowstyle="->",connectionstyle="arc3,rad=.2"))  
  
#增長標題  
  
plt.title("sin-cos-s-3")  
  
#plt.figure(1)  #能夠註釋掉,採用默認  
  
#圖例顯示,loc表明位置,這是固定左上角位置,默認best,最佳位置,能夠自動調節空擋顯示  
  
plt.legend(loc="upper left")  
  
#顯示網格,能夠註釋掉  
  
plt.grid()  
  
#顯示圖形  
  
plt.show()

5.6 圖:sin-cos-s-3

python的matplotlib的三角函數sin和cos的靜態做圖詳解

6 sin和cos的佈局

6.1 ggplot法,代碼:

#導出模塊  
  
import numpy as np  
  
import matplotlib.pyplot as plt  
  
#畫布採用默認大小  
  
fig=plt.figure()   
  
#採用ggplot法佈局三個圖片位置  
  
plt.style.use('ggplot')  
  
left,width = 0.05,0.95  
  
#位置佈局一:上面一行2個  
  
rect_sin=[left,0.55,0.45,0.3]  #第1個圖  
  
rect_cos=[left+0.5,0.55,0.45,0.3]  #第2個圖  
  
'''  
  
#位置佈局二:上下2個,靠左  
  
rect_sin=[left,0.55,0.45,0.3]  #第1個圖  
  
rect_cos=[left,0.1,0.45,0.3]   #第2個圖  
  
'''  
  
#定義x和y座標  
  
#x=np.linspace(-10,10) #未設置等分,則線條不平滑  
  
#x=np.linspace(-10,10,260)  #260等分,數值越大,曲線的線條越平滑  
  
x=np.arange(-10,10,0.001)  #arange則是0.001,越小越平滑  
  
#y1=np.sin(x)  
  
#y1=np.cos(x)  
  
#---第1個圖---正弦sin  
  
ax_sin = fig.add_axes(rect_sin)  
  
ax_sin.plot(x,np.sin(x),color='blue')  
  
ax_sin.set_title('Sin-s-ggplot')  
  
#---第2個圖---餘弦cos  
  
ax_cos=fig.add_axes(rect_cos)  
  
ax_cos.plot(x,np.cos(x),color='green')  
  
ax_cos.set_title('Cos-s-ggplot')  
  
#圖片展現  
  
plt.show()

圖:2lf-ggplot法

python的matplotlib的三角函數sin和cos的靜態做圖詳解

2ud-ggplot法圖

python的matplotlib的三角函數sin和cos的靜態做圖詳解

6.2 subplot法

代碼:  
  
#---導出模塊---  
  
import matplotlib.pyplot as plt  
  
import numpy as np  
  
#---定義畫布大小和分辨率---  
  
fig = plt.figure(figsize=(8,8),dpi=80)  
  
#採用subplot法,分四個圖  
  
#2,2,1=2行2列,第一個,從左邊數  
  
# 畫正弦曲線  
  
fig.add_subplot(2,2,1)  
  
x = np.arange(-2*np.pi,2*np.pi,0.001)  
  
y = np.sin(x)  
  
plt.plot(x,y,color='blue')  
  
plt.title('Sin-s-subplot')  
  
plt.legend(['sin'])  
  
#方法一:第1行1和2並列  
  
# 餘弦,2,2,2=2行2列,第2個,從左邊數  
  
#fig.add_subplot(2,2,2)  
  
#方法二:第1行1和第2行1,上下  
  
# 餘弦,2,2,2=2行2列,第2個,從左邊數  
  
fig.add_subplot(2,2,3)  
  
x = np.arange(-2*np.pi,2*np.pi,0.001)  
  
y = np.cos(x)  
  
plt.plot(x,y,color='green')  
  
plt.title('Cos-s-subplot')  
  
plt.legend(['cos'])  
  
plt.show()

6.3 圖略,做圖位置如上面的ggplot法。

7.小結:

7.1 學習sin和cos有沒有用,固然有,在畫圓中須要sin和cos來定位圓的座標。基礎必定要打好。

7.2 順帶複習matplotlib的相關做圖。

**7.3 我本身整理好,也分享出來,值得收藏。**感謝做者分享-http://bjbsair.com/2020-04-07/tech-info/30778.html

1.說明:

1.1 推薦指數:★★★

1.2 基礎知識:三角函數sin和cos,在計算機編程中,尤爲python中,應用到畫圓很重要。

1.3 用通俗易懂的方式,來說解,三角函數的matplotlib做圖,靜態圖,爲之後的畫圓打基礎。

1.4 爲了突出重點,暫時不提中文設置。複習matplotlib做圖的基礎知識,深刻了解sin和cos的關係。

1.5 適合學習人羣:小白、學生、老師、愛好做圖人員和計算機編程人員閱讀。

python的matplotlib的三角函數sin和cos的靜態做圖詳解

2.理論:

好比:

r = 1 #假設半徑爲1  
  
# 0~2π(一圈,一個π是半圈,步長=0.01,步長越小圖線越平滑)  
  
a = np.arange(0,2*np.pi,0.01)   
  
#圓的座標點與三角函數的關係  
  
x = r*np.cos(a)  
  
y = r*np.sin(a)  
  
#畫圓  
  
plt.plot(x,y,color='red')

3.sin正弦函數

3.1 靜態:sin-s

3.2 代碼:簡潔版

#---導出模塊---  
  
import matplotlib.pyplot as plt  
  
import numpy as np  
  
#定義座標關係  
  
x = np.arange(-2*np.pi,2*np.pi,0.1)  
  
y = np.sin(x)  
  
#畫線  
  
plt.plot(x,y,color='blue')  
  
plt.title('sin-s') #標題  
  
plt.legend(['sin']) #圖例,注意中括號  
  
plt.show()  #圖片展現

3.3 圖

sin-s-1

python的matplotlib的三角函數sin和cos的靜態做圖詳解

3.4 代碼:註釋版

#---導出模塊---  
  
import matplotlib.pyplot as plt  
  
import numpy as np  
  
#---定義畫布大小和分辨率  
  
#fig = plt.figure(figsize=(8,8),dpi=80) #自定義  
  
#fig = plt.figure() #這是默認的,也能夠這一行不設,就是默認  
  
#---畫正弦sin曲線---  
  
#0.001越小,線條越平滑好看  
  
#從-2*np.pi到2*np.pi=就是2個2π,4個波=2個波峯+2個波底  
  
#x = np.arange(-2*np.pi,2*np.pi,0.001)  
  
x = np.arange(-2*np.pi,2*np.pi,0.1)  
  
y = np.sin(x)  
  
#畫線  
  
plt.plot(x,y,color='blue')  
  
#默認顯示2個2π,4個波=2個波峯+2個波底  
  
#plt.ylim(-2, 2)  
  
#plt.xlim(-2, 2)  
  
plt.title('sin-s') #標題  
  
plt.legend(['sin']) #圖例,注意中括號  
  
plt.show()  #圖片展現

4.cos餘弦函數:

4.1 將上面的sin函數的簡潔版的代碼中,sin改成cos便可,顏色定義爲綠色=green。

4.2 代碼:簡潔版

#---導出模塊---  
  
import matplotlib.pyplot as plt  
  
import numpy as np  
  
#---畫正弦cos曲線---  
  
x = np.arange(-2*np.pi,2*np.pi,0.1)  
  
y = np.cos(x)  
  
#畫線  
  
plt.plot(x,y,color='green')  
  
plt.title('cos-s') #標題  
  
plt.legend(['cos']) #圖例,注意中括號  
  
plt.show()  #圖片展現

4.3 圖:cos-s-1

python的matplotlib的三角函數sin和cos的靜態做圖詳解

5.一個座標系展現sin和cos做圖法

5.1 代碼1:

#---導出模塊---  
  
import matplotlib.pyplot as plt  
  
import numpy as np  
  
#plt.figure() #能夠不要,採用默認  
  
#取值範圍-2π~2π,比較能展示sin和cos的特色  
  
#0.1~0.001,最好越小越好,線條越平滑  
  
x=np.arange(-2*np.pi,2*np.pi,0.1)  
  
y1=np.sin(x)  #正弦sin函數線條  
  
y2=np.cos(x)  #餘弦cos函數線條  
  
#繪製兩個圖形,須要繪製兩次  
  
#不設置顏色,採用默認的2種不一樣顏色,也能夠單獨設置顏色  
  
#本講解中sin設置藍色=blue,cos設置爲綠色=green  
  
plt.plot(x,y1,color='blue')  
  
plt.plot(x,y2,color='green')  
  
#增長標題  
  
plt.title('x‘sin and cos')  
  
#增長圖例  
  
plt.legend(['y=sinx','y=cosx'])  
  
#增長x軸和y軸標籤名  
  
plt.xlabel('x-v')  
  
plt.ylabel('y-v',rotation=0)  
  
#圖片展現  
  
plt.show()

5.2 圖:sin-cos-s-1

python的matplotlib的三角函數sin和cos的靜態做圖詳解

5.3 升級版,代碼:

#---導出模塊---  
  
import numpy as np  
  
from matplotlib import pyplot as plt  
  
#---sin和cos的座標值定義---  
  
#---注意np的arrange和linspace的含義,在這裏區別不大  
  
##在-np.pi~np.pi之間選擇256個等差數  
  
#x = np.linspace(-2*np.pi, 2*np.pi, 512, endpoint=True)  
  
x =np.arange(-2*np.pi,2*np.pi,0.001)  
  
#y1=sin,y2=cos  
  
y1, y2 = np.sin(x), np.cos(x)  
  
#定義畫布大小,不設置就是默認  
  
#plt.figure(figsize=(10, 7))#取出一張10*7的白紙  
  
#畫sin和cos,自定義顏色blue和green,label="sin",label="cos"  
  
plt.plot(x, y1, "-", color='blue',lw=2, aa=False, ms=50)#設置線寬5 aa關閉抗鋸齒 默認開啓  
  
plt.plot(x, y2, "-", color='green',lw=2, aa=True)#默認線寬10,不設置就是默認  
  
#去掉就是默認  
  
#自定義刻度法,取最大值×1.2  
  
plt.xlim(x.min() * 1.2, x.max() * 1.2)#橫座標範圍  
  
plt.ylim(y1.min() * 1.2, y1.max() * 1.2)#縱座標範圍  
  
plt.xticks([0, x.max(), x.min()], [0, r"$\pi$", "$-\pi$"])#橫座標刻度  
  
plt.yticks([y1.min(), y1.max()])#縱座標刻度  
  
#圖例個性設置,自定義字體大小,位置默認是最佳,顯示內容是label內容  
  
#也能夠這樣  
  
plt.legend(['sin','cos'],fontsize=20)  
  
#plt.legend(fontsize=20) #如何這樣的話,那麼須要在上面加入label  
  
#標註設置  
  
t = 2 / 3 * np.pi  
  
#標註藍色點垂直線  
  
plt.plot([t, t], [0, np.sin(t)], "--", color="b")  
  
plt.scatter([t], [np.sin(t)], s=100)#散點圖  
  
#標註紅色點垂直線  
  
plt.plot([t, t], [0, np.cos(t)], "--", color="r")  
  
plt.scatter([t], [np.cos(t)], s=100)#散點圖  
  
#設置標註  
  
plt.annotate(r"$\sin(\frac{2\pi}{3})=\frac{\sqrt{3}}{2}$",  
  
             (t, np.sin(t)),  
  
             xycoords="data", textcoords="offset pixels",  
  
             xytext=(20, 20),  
  
             arrowprops=dict(arrowstyle="->" , connectionstyle="arc3,rad=.2"),#箭頭屬性  
  
             fontsize=16,#zi字體大小  
  
            )  
  
#設置標註  
  
plt.annotate(r"$\cos(\frac{2\pi}{3})=-\frac{1}{2}$",  
  
             (t, np.cos(t)),  
  
             xycoords="data", textcoords="offset pixels",  
  
             xytext=(20, 0),  
  
             arrowprops=dict(arrowstyle="->" , connectionstyle="arc3,rad=.2"),#箭頭屬性  
  
             fontsize=16,#zi字體大小  
  
            )  
  
#ax定義和邊框線,也能夠註釋掉,那就是默認  
  
ax = plt.gca()  
  
#去除圖片的四邊黑框線  
  
ax.spines["bottom"].set_position(("data", 0))  
  
ax.spines["left"].set_position(("data", 0))  
  
ax.spines["top"].set_color("none")  
  
ax.spines["right"].set_color("none")  
  
#圖片展現  
  
plt.show()

5.4 圖:sin-cos-s-2

python的matplotlib的三角函數sin和cos的靜態做圖詳解

5.5 豪華版代碼:

#---導出模塊---  
  
import numpy as np  
  
import matplotlib.pyplot as plt  
  
#---函數定義和畫函數線---  
  
#x座標的取值範圍:linspace是等差數列法  
  
x=np.linspace(-2*np.pi,2*np.pi,256,endpoint=True)  
  
#arrange法,由於0.001取值很小很平滑,因此可能☆就不能顯示  
  
#x =np.arange(-2*np.pi,2*np.pi,0.001)  
  
#定義餘弦函數正弦函數,一行定義法,也能夠y1和y2  
  
c,s=np.cos(x),np.sin(x)  
  
#畫三角函數曲線,以x爲橫座標,以s和c爲縱座標  
  
#plt.plot(x,s,"r*",label="sin-s-3")  #r*=red的*,至關於color='red',linestyle="*"  
  
plt.plot(x,s,color="blue",label="sin-s-3")  
  
plt.plot(x,c,color="green",linestyle="-",label="cos-s-3",alpha=0.5)  
  
ax=plt.gca()  
  
#去除圖片的四邊的邊框黑線  
  
ax.spines["right"].set_color("none")  
  
ax.spines["top"].set_color("none")  
  
ax.spines["left"].set_position(("data",0))  
  
ax.spines["bottom"].set_position(("data",0))  
  
#自定義標籤文字  
  
#x軸標籤依次是:,若是註釋掉就是-6~6,間隔2  
  
plt.xticks([-np.pi,-np.pi/2,0,np.pi/2,np.pi],[r'$-\pi$',r'$-\pi/2$',r'$0$',r'$+\pi/2$',r'$+\pi$'])  
  
#y軸的標籤,取值從-1~1,分5個等差  
  
plt.yticks(np.linspace(-1,1,5,endpoint=True))  
  
#默認標籤位置也是這樣,因此能夠不要,註釋掉  
  
#ax.xaxis.set_ticks_position("bottom")  #線下  
  
#ax.yaxis.set_ticks_position("left")  #線左邊  
  
'''  
  
#若是上面的2行註釋掉,那麼下面的存在乎義不大,也能夠註釋掉  
  
for label in ax.get_xticklabels()+ax.get_yticklabels():  
  
    label.set_fontsize(16)  
  
    label.set_bbox(dict(facecolor="white",edgecolor="None",alpha=0.2))  
  
'''  
  
#固定面積顯示  
  
plt.fill_between(x,np.abs(x)<0.5,c,c>0.5,color="yellow",alpha=0.25)  
  
#固定垂直虛線標註  
  
t=1  
  
plt.plot([t,t],[0,np.cos(t)],"y",linewidth=3,linestyle="--")  
  
#箭頭標註  
  
plt.annotate("cos(1)",xy=(t,np.cos(1)),xycoords="data",xytext=(+10,+30),  
  
textcoords="offset points",arrowprops=dict(arrowstyle="->",connectionstyle="arc3,rad=.2"))  
  
#增長標題  
  
plt.title("sin-cos-s-3")  
  
#plt.figure(1)  #能夠註釋掉,採用默認  
  
#圖例顯示,loc表明位置,這是固定左上角位置,默認best,最佳位置,能夠自動調節空擋顯示  
  
plt.legend(loc="upper left")  
  
#顯示網格,能夠註釋掉  
  
plt.grid()  
  
#顯示圖形  
  
plt.show()

5.6 圖:sin-cos-s-3

python的matplotlib的三角函數sin和cos的靜態做圖詳解

6 sin和cos的佈局

6.1 ggplot法,代碼:

#導出模塊  
  
import numpy as np  
  
import matplotlib.pyplot as plt  
  
#畫布採用默認大小  
  
fig=plt.figure()   
  
#採用ggplot法佈局三個圖片位置  
  
plt.style.use('ggplot')  
  
left,width = 0.05,0.95  
  
#位置佈局一:上面一行2個  
  
rect_sin=[left,0.55,0.45,0.3]  #第1個圖  
  
rect_cos=[left+0.5,0.55,0.45,0.3]  #第2個圖  
  
'''  
  
#位置佈局二:上下2個,靠左  
  
rect_sin=[left,0.55,0.45,0.3]  #第1個圖  
  
rect_cos=[left,0.1,0.45,0.3]   #第2個圖  
  
'''  
  
#定義x和y座標  
  
#x=np.linspace(-10,10) #未設置等分,則線條不平滑  
  
#x=np.linspace(-10,10,260)  #260等分,數值越大,曲線的線條越平滑  
  
x=np.arange(-10,10,0.001)  #arange則是0.001,越小越平滑  
  
#y1=np.sin(x)  
  
#y1=np.cos(x)  
  
#---第1個圖---正弦sin  
  
ax_sin = fig.add_axes(rect_sin)  
  
ax_sin.plot(x,np.sin(x),color='blue')  
  
ax_sin.set_title('Sin-s-ggplot')  
  
#---第2個圖---餘弦cos  
  
ax_cos=fig.add_axes(rect_cos)  
  
ax_cos.plot(x,np.cos(x),color='green')  
  
ax_cos.set_title('Cos-s-ggplot')  
  
#圖片展現  
  
plt.show()

圖:2lf-ggplot法

python的matplotlib的三角函數sin和cos的靜態做圖詳解

2ud-ggplot法圖

python的matplotlib的三角函數sin和cos的靜態做圖詳解

6.2 subplot法

代碼:  
  
#---導出模塊---  
  
import matplotlib.pyplot as plt  
  
import numpy as np  
  
#---定義畫布大小和分辨率---  
  
fig = plt.figure(figsize=(8,8),dpi=80)  
  
#採用subplot法,分四個圖  
  
#2,2,1=2行2列,第一個,從左邊數  
  
# 畫正弦曲線  
  
fig.add_subplot(2,2,1)  
  
x = np.arange(-2*np.pi,2*np.pi,0.001)  
  
y = np.sin(x)  
  
plt.plot(x,y,color='blue')  
  
plt.title('Sin-s-subplot')  
  
plt.legend(['sin'])  
  
#方法一:第1行1和2並列  
  
# 餘弦,2,2,2=2行2列,第2個,從左邊數  
  
#fig.add_subplot(2,2,2)  
  
#方法二:第1行1和第2行1,上下  
  
# 餘弦,2,2,2=2行2列,第2個,從左邊數  
  
fig.add_subplot(2,2,3)  
  
x = np.arange(-2*np.pi,2*np.pi,0.001)  
  
y = np.cos(x)  
  
plt.plot(x,y,color='green')  
  
plt.title('Cos-s-subplot')  
  
plt.legend(['cos'])  
  
plt.show()

6.3 圖略,做圖位置如上面的ggplot法。

7.小結:

7.1 學習sin和cos有沒有用,固然有,在畫圓中須要sin和cos來定位圓的座標。基礎必定要打好。

7.2 順帶複習matplotlib的相關做圖。

**7.3 我本身整理好,也分享出來,值得收藏。**感謝做者分享-http://bjbsair.com/2020-04-07/tech-info/30778.html

1.說明:

1.1 推薦指數:★★★

1.2 基礎知識:三角函數sin和cos,在計算機編程中,尤爲python中,應用到畫圓很重要。

1.3 用通俗易懂的方式,來說解,三角函數的matplotlib做圖,靜態圖,爲之後的畫圓打基礎。

1.4 爲了突出重點,暫時不提中文設置。複習matplotlib做圖的基礎知識,深刻了解sin和cos的關係。

1.5 適合學習人羣:小白、學生、老師、愛好做圖人員和計算機編程人員閱讀。

python的matplotlib的三角函數sin和cos的靜態做圖詳解

2.理論:

好比:

r = 1 #假設半徑爲1  
  
# 0~2π(一圈,一個π是半圈,步長=0.01,步長越小圖線越平滑)  
  
a = np.arange(0,2*np.pi,0.01)   
  
#圓的座標點與三角函數的關係  
  
x = r*np.cos(a)  
  
y = r*np.sin(a)  
  
#畫圓  
  
plt.plot(x,y,color='red')

3.sin正弦函數

3.1 靜態:sin-s

3.2 代碼:簡潔版

#---導出模塊---  
  
import matplotlib.pyplot as plt  
  
import numpy as np  
  
#定義座標關係  
  
x = np.arange(-2*np.pi,2*np.pi,0.1)  
  
y = np.sin(x)  
  
#畫線  
  
plt.plot(x,y,color='blue')  
  
plt.title('sin-s') #標題  
  
plt.legend(['sin']) #圖例,注意中括號  
  
plt.show()  #圖片展現

3.3 圖

sin-s-1

python的matplotlib的三角函數sin和cos的靜態做圖詳解

3.4 代碼:註釋版

#---導出模塊---  
  
import matplotlib.pyplot as plt  
  
import numpy as np  
  
#---定義畫布大小和分辨率  
  
#fig = plt.figure(figsize=(8,8),dpi=80) #自定義  
  
#fig = plt.figure() #這是默認的,也能夠這一行不設,就是默認  
  
#---畫正弦sin曲線---  
  
#0.001越小,線條越平滑好看  
  
#從-2*np.pi到2*np.pi=就是2個2π,4個波=2個波峯+2個波底  
  
#x = np.arange(-2*np.pi,2*np.pi,0.001)  
  
x = np.arange(-2*np.pi,2*np.pi,0.1)  
  
y = np.sin(x)  
  
#畫線  
  
plt.plot(x,y,color='blue')  
  
#默認顯示2個2π,4個波=2個波峯+2個波底  
  
#plt.ylim(-2, 2)  
  
#plt.xlim(-2, 2)  
  
plt.title('sin-s') #標題  
  
plt.legend(['sin']) #圖例,注意中括號  
  
plt.show()  #圖片展現

4.cos餘弦函數:

4.1 將上面的sin函數的簡潔版的代碼中,sin改成cos便可,顏色定義爲綠色=green。

4.2 代碼:簡潔版

#---導出模塊---  
  
import matplotlib.pyplot as plt  
  
import numpy as np  
  
#---畫正弦cos曲線---  
  
x = np.arange(-2*np.pi,2*np.pi,0.1)  
  
y = np.cos(x)  
  
#畫線  
  
plt.plot(x,y,color='green')  
  
plt.title('cos-s') #標題  
  
plt.legend(['cos']) #圖例,注意中括號  
  
plt.show()  #圖片展現

4.3 圖:cos-s-1

python的matplotlib的三角函數sin和cos的靜態做圖詳解

5.一個座標系展現sin和cos做圖法

5.1 代碼1:

#---導出模塊---  
  
import matplotlib.pyplot as plt  
  
import numpy as np  
  
#plt.figure() #能夠不要,採用默認  
  
#取值範圍-2π~2π,比較能展示sin和cos的特色  
  
#0.1~0.001,最好越小越好,線條越平滑  
  
x=np.arange(-2*np.pi,2*np.pi,0.1)  
  
y1=np.sin(x)  #正弦sin函數線條  
  
y2=np.cos(x)  #餘弦cos函數線條  
  
#繪製兩個圖形,須要繪製兩次  
  
#不設置顏色,採用默認的2種不一樣顏色,也能夠單獨設置顏色  
  
#本講解中sin設置藍色=blue,cos設置爲綠色=green  
  
plt.plot(x,y1,color='blue')  
  
plt.plot(x,y2,color='green')  
  
#增長標題  
  
plt.title('x‘sin and cos')  
  
#增長圖例  
  
plt.legend(['y=sinx','y=cosx'])  
  
#增長x軸和y軸標籤名  
  
plt.xlabel('x-v')  
  
plt.ylabel('y-v',rotation=0)  
  
#圖片展現  
  
plt.show()

5.2 圖:sin-cos-s-1

python的matplotlib的三角函數sin和cos的靜態做圖詳解

5.3 升級版,代碼:

#---導出模塊---  
  
import numpy as np  
  
from matplotlib import pyplot as plt  
  
#---sin和cos的座標值定義---  
  
#---注意np的arrange和linspace的含義,在這裏區別不大  
  
##在-np.pi~np.pi之間選擇256個等差數  
  
#x = np.linspace(-2*np.pi, 2*np.pi, 512, endpoint=True)  
  
x =np.arange(-2*np.pi,2*np.pi,0.001)  
  
#y1=sin,y2=cos  
  
y1, y2 = np.sin(x), np.cos(x)  
  
#定義畫布大小,不設置就是默認  
  
#plt.figure(figsize=(10, 7))#取出一張10*7的白紙  
  
#畫sin和cos,自定義顏色blue和green,label="sin",label="cos"  
  
plt.plot(x, y1, "-", color='blue',lw=2, aa=False, ms=50)#設置線寬5 aa關閉抗鋸齒 默認開啓  
  
plt.plot(x, y2, "-", color='green',lw=2, aa=True)#默認線寬10,不設置就是默認  
  
#去掉就是默認  
  
#自定義刻度法,取最大值×1.2  
  
plt.xlim(x.min() * 1.2, x.max() * 1.2)#橫座標範圍  
  
plt.ylim(y1.min() * 1.2, y1.max() * 1.2)#縱座標範圍  
  
plt.xticks([0, x.max(), x.min()], [0, r"$\pi$", "$-\pi$"])#橫座標刻度  
  
plt.yticks([y1.min(), y1.max()])#縱座標刻度  
  
#圖例個性設置,自定義字體大小,位置默認是最佳,顯示內容是label內容  
  
#也能夠這樣  
  
plt.legend(['sin','cos'],fontsize=20)  
  
#plt.legend(fontsize=20) #如何這樣的話,那麼須要在上面加入label  
  
#標註設置  
  
t = 2 / 3 * np.pi  
  
#標註藍色點垂直線  
  
plt.plot([t, t], [0, np.sin(t)], "--", color="b")  
  
plt.scatter([t], [np.sin(t)], s=100)#散點圖  
  
#標註紅色點垂直線  
  
plt.plot([t, t], [0, np.cos(t)], "--", color="r")  
  
plt.scatter([t], [np.cos(t)], s=100)#散點圖  
  
#設置標註  
  
plt.annotate(r"$\sin(\frac{2\pi}{3})=\frac{\sqrt{3}}{2}$",  
  
             (t, np.sin(t)),  
  
             xycoords="data", textcoords="offset pixels",  
  
             xytext=(20, 20),  
  
             arrowprops=dict(arrowstyle="->" , connectionstyle="arc3,rad=.2"),#箭頭屬性  
  
             fontsize=16,#zi字體大小  
  
            )  
  
#設置標註  
  
plt.annotate(r"$\cos(\frac{2\pi}{3})=-\frac{1}{2}$",  
  
             (t, np.cos(t)),  
  
             xycoords="data", textcoords="offset pixels",  
  
             xytext=(20, 0),  
  
             arrowprops=dict(arrowstyle="->" , connectionstyle="arc3,rad=.2"),#箭頭屬性  
  
             fontsize=16,#zi字體大小  
  
            )  
  
#ax定義和邊框線,也能夠註釋掉,那就是默認  
  
ax = plt.gca()  
  
#去除圖片的四邊黑框線  
  
ax.spines["bottom"].set_position(("data", 0))  
  
ax.spines["left"].set_position(("data", 0))  
  
ax.spines["top"].set_color("none")  
  
ax.spines["right"].set_color("none")  
  
#圖片展現  
  
plt.show()

5.4 圖:sin-cos-s-2

python的matplotlib的三角函數sin和cos的靜態做圖詳解

5.5 豪華版代碼:

#---導出模塊---  
  
import numpy as np  
  
import matplotlib.pyplot as plt  
  
#---函數定義和畫函數線---  
  
#x座標的取值範圍:linspace是等差數列法  
  
x=np.linspace(-2*np.pi,2*np.pi,256,endpoint=True)  
  
#arrange法,由於0.001取值很小很平滑,因此可能☆就不能顯示  
  
#x =np.arange(-2*np.pi,2*np.pi,0.001)  
  
#定義餘弦函數正弦函數,一行定義法,也能夠y1和y2  
  
c,s=np.cos(x),np.sin(x)  
  
#畫三角函數曲線,以x爲橫座標,以s和c爲縱座標  
  
#plt.plot(x,s,"r*",label="sin-s-3")  #r*=red的*,至關於color='red',linestyle="*"  
  
plt.plot(x,s,color="blue",label="sin-s-3")  
  
plt.plot(x,c,color="green",linestyle="-",label="cos-s-3",alpha=0.5)  
  
ax=plt.gca()  
  
#去除圖片的四邊的邊框黑線  
  
ax.spines["right"].set_color("none")  
  
ax.spines["top"].set_color("none")  
  
ax.spines["left"].set_position(("data",0))  
  
ax.spines["bottom"].set_position(("data",0))  
  
#自定義標籤文字  
  
#x軸標籤依次是:,若是註釋掉就是-6~6,間隔2  
  
plt.xticks([-np.pi,-np.pi/2,0,np.pi/2,np.pi],[r'$-\pi$',r'$-\pi/2$',r'$0$',r'$+\pi/2$',r'$+\pi$'])  
  
#y軸的標籤,取值從-1~1,分5個等差  
  
plt.yticks(np.linspace(-1,1,5,endpoint=True))  
  
#默認標籤位置也是這樣,因此能夠不要,註釋掉  
  
#ax.xaxis.set_ticks_position("bottom")  #線下  
  
#ax.yaxis.set_ticks_position("left")  #線左邊  
  
'''  
  
#若是上面的2行註釋掉,那麼下面的存在乎義不大,也能夠註釋掉  
  
for label in ax.get_xticklabels()+ax.get_yticklabels():  
  
    label.set_fontsize(16)  
  
    label.set_bbox(dict(facecolor="white",edgecolor="None",alpha=0.2))  
  
'''  
  
#固定面積顯示  
  
plt.fill_between(x,np.abs(x)<0.5,c,c>0.5,color="yellow",alpha=0.25)  
  
#固定垂直虛線標註  
  
t=1  
  
plt.plot([t,t],[0,np.cos(t)],"y",linewidth=3,linestyle="--")  
  
#箭頭標註  
  
plt.annotate("cos(1)",xy=(t,np.cos(1)),xycoords="data",xytext=(+10,+30),  
  
textcoords="offset points",arrowprops=dict(arrowstyle="->",connectionstyle="arc3,rad=.2"))  
  
#增長標題  
  
plt.title("sin-cos-s-3")  
  
#plt.figure(1)  #能夠註釋掉,採用默認  
  
#圖例顯示,loc表明位置,這是固定左上角位置,默認best,最佳位置,能夠自動調節空擋顯示  
  
plt.legend(loc="upper left")  
  
#顯示網格,能夠註釋掉  
  
plt.grid()  
  
#顯示圖形  
  
plt.show()

5.6 圖:sin-cos-s-3

python的matplotlib的三角函數sin和cos的靜態做圖詳解

6 sin和cos的佈局

6.1 ggplot法,代碼:

#導出模塊  
  
import numpy as np  
  
import matplotlib.pyplot as plt  
  
#畫布採用默認大小  
  
fig=plt.figure()   
  
#採用ggplot法佈局三個圖片位置  
  
plt.style.use('ggplot')  
  
left,width = 0.05,0.95  
  
#位置佈局一:上面一行2個  
  
rect_sin=[left,0.55,0.45,0.3]  #第1個圖  
  
rect_cos=[left+0.5,0.55,0.45,0.3]  #第2個圖  
  
'''  
  
#位置佈局二:上下2個,靠左  
  
rect_sin=[left,0.55,0.45,0.3]  #第1個圖  
  
rect_cos=[left,0.1,0.45,0.3]   #第2個圖  
  
'''  
  
#定義x和y座標  
  
#x=np.linspace(-10,10) #未設置等分,則線條不平滑  
  
#x=np.linspace(-10,10,260)  #260等分,數值越大,曲線的線條越平滑  
  
x=np.arange(-10,10,0.001)  #arange則是0.001,越小越平滑  
  
#y1=np.sin(x)  
  
#y1=np.cos(x)  
  
#---第1個圖---正弦sin  
  
ax_sin = fig.add_axes(rect_sin)  
  
ax_sin.plot(x,np.sin(x),color='blue')  
  
ax_sin.set_title('Sin-s-ggplot')  
  
#---第2個圖---餘弦cos  
  
ax_cos=fig.add_axes(rect_cos)  
  
ax_cos.plot(x,np.cos(x),color='green')  
  
ax_cos.set_title('Cos-s-ggplot')  
  
#圖片展現  
  
plt.show()

圖:2lf-ggplot法

python的matplotlib的三角函數sin和cos的靜態做圖詳解

2ud-ggplot法圖

python的matplotlib的三角函數sin和cos的靜態做圖詳解

6.2 subplot法

代碼:  
  
#---導出模塊---  
  
import matplotlib.pyplot as plt  
  
import numpy as np  
  
#---定義畫布大小和分辨率---  
  
fig = plt.figure(figsize=(8,8),dpi=80)  
  
#採用subplot法,分四個圖  
  
#2,2,1=2行2列,第一個,從左邊數  
  
# 畫正弦曲線  
  
fig.add_subplot(2,2,1)  
  
x = np.arange(-2*np.pi,2*np.pi,0.001)  
  
y = np.sin(x)  
  
plt.plot(x,y,color='blue')  
  
plt.title('Sin-s-subplot')  
  
plt.legend(['sin'])  
  
#方法一:第1行1和2並列  
  
# 餘弦,2,2,2=2行2列,第2個,從左邊數  
  
#fig.add_subplot(2,2,2)  
  
#方法二:第1行1和第2行1,上下  
  
# 餘弦,2,2,2=2行2列,第2個,從左邊數  
  
fig.add_subplot(2,2,3)  
  
x = np.arange(-2*np.pi,2*np.pi,0.001)  
  
y = np.cos(x)  
  
plt.plot(x,y,color='green')  
  
plt.title('Cos-s-subplot')  
  
plt.legend(['cos'])  
  
plt.show()

6.3 圖略,做圖位置如上面的ggplot法。

7.小結:

7.1 學習sin和cos有沒有用,固然有,在畫圓中須要sin和cos來定位圓的座標。基礎必定要打好。

7.2 順帶複習matplotlib的相關做圖。

**7.3 我本身整理好,也分享出來,值得收藏。**感謝做者分享-http://bjbsair.com/2020-04-07/tech-info/30778.html

1.說明:

1.1 推薦指數:★★★

1.2 基礎知識:三角函數sin和cos,在計算機編程中,尤爲python中,應用到畫圓很重要。

1.3 用通俗易懂的方式,來說解,三角函數的matplotlib做圖,靜態圖,爲之後的畫圓打基礎。

1.4 爲了突出重點,暫時不提中文設置。複習matplotlib做圖的基礎知識,深刻了解sin和cos的關係。

1.5 適合學習人羣:小白、學生、老師、愛好做圖人員和計算機編程人員閱讀。

python的matplotlib的三角函數sin和cos的靜態做圖詳解

2.理論:

好比:

r = 1 #假設半徑爲1  
  
# 0~2π(一圈,一個π是半圈,步長=0.01,步長越小圖線越平滑)  
  
a = np.arange(0,2*np.pi,0.01)   
  
#圓的座標點與三角函數的關係  
  
x = r*np.cos(a)  
  
y = r*np.sin(a)  
  
#畫圓  
  
plt.plot(x,y,color='red')

3.sin正弦函數

3.1 靜態:sin-s

3.2 代碼:簡潔版

#---導出模塊---  
  
import matplotlib.pyplot as plt  
  
import numpy as np  
  
#定義座標關係  
  
x = np.arange(-2*np.pi,2*np.pi,0.1)  
  
y = np.sin(x)  
  
#畫線  
  
plt.plot(x,y,color='blue')  
  
plt.title('sin-s') #標題  
  
plt.legend(['sin']) #圖例,注意中括號  
  
plt.show()  #圖片展現

3.3 圖

sin-s-1

python的matplotlib的三角函數sin和cos的靜態做圖詳解

3.4 代碼:註釋版

#---導出模塊---  
  
import matplotlib.pyplot as plt  
  
import numpy as np  
  
#---定義畫布大小和分辨率  
  
#fig = plt.figure(figsize=(8,8),dpi=80) #自定義  
  
#fig = plt.figure() #這是默認的,也能夠這一行不設,就是默認  
  
#---畫正弦sin曲線---  
  
#0.001越小,線條越平滑好看  
  
#從-2*np.pi到2*np.pi=就是2個2π,4個波=2個波峯+2個波底  
  
#x = np.arange(-2*np.pi,2*np.pi,0.001)  
  
x = np.arange(-2*np.pi,2*np.pi,0.1)  
  
y = np.sin(x)  
  
#畫線  
  
plt.plot(x,y,color='blue')  
  
#默認顯示2個2π,4個波=2個波峯+2個波底  
  
#plt.ylim(-2, 2)  
  
#plt.xlim(-2, 2)  
  
plt.title('sin-s') #標題  
  
plt.legend(['sin']) #圖例,注意中括號  
  
plt.show()  #圖片展現

4.cos餘弦函數:

4.1 將上面的sin函數的簡潔版的代碼中,sin改成cos便可,顏色定義爲綠色=green。

4.2 代碼:簡潔版

#---導出模塊---  
  
import matplotlib.pyplot as plt  
  
import numpy as np  
  
#---畫正弦cos曲線---  
  
x = np.arange(-2*np.pi,2*np.pi,0.1)  
  
y = np.cos(x)  
  
#畫線  
  
plt.plot(x,y,color='green')  
  
plt.title('cos-s') #標題  
  
plt.legend(['cos']) #圖例,注意中括號  
  
plt.show()  #圖片展現

4.3 圖:cos-s-1

python的matplotlib的三角函數sin和cos的靜態做圖詳解

5.一個座標系展現sin和cos做圖法

5.1 代碼1:

#---導出模塊---  
  
import matplotlib.pyplot as plt  
  
import numpy as np  
  
#plt.figure() #能夠不要,採用默認  
  
#取值範圍-2π~2π,比較能展示sin和cos的特色  
  
#0.1~0.001,最好越小越好,線條越平滑  
  
x=np.arange(-2*np.pi,2*np.pi,0.1)  
  
y1=np.sin(x)  #正弦sin函數線條  
  
y2=np.cos(x)  #餘弦cos函數線條  
  
#繪製兩個圖形,須要繪製兩次  
  
#不設置顏色,採用默認的2種不一樣顏色,也能夠單獨設置顏色  
  
#本講解中sin設置藍色=blue,cos設置爲綠色=green  
  
plt.plot(x,y1,color='blue')  
  
plt.plot(x,y2,color='green')  
  
#增長標題  
  
plt.title('x‘sin and cos')  
  
#增長圖例  
  
plt.legend(['y=sinx','y=cosx'])  
  
#增長x軸和y軸標籤名  
  
plt.xlabel('x-v')  
  
plt.ylabel('y-v',rotation=0)  
  
#圖片展現  
  
plt.show()

5.2 圖:sin-cos-s-1

python的matplotlib的三角函數sin和cos的靜態做圖詳解

5.3 升級版,代碼:

#---導出模塊---  
  
import numpy as np  
  
from matplotlib import pyplot as plt  
  
#---sin和cos的座標值定義---  
  
#---注意np的arrange和linspace的含義,在這裏區別不大  
  
##在-np.pi~np.pi之間選擇256個等差數  
  
#x = np.linspace(-2*np.pi, 2*np.pi, 512, endpoint=True)  
  
x =np.arange(-2*np.pi,2*np.pi,0.001)  
  
#y1=sin,y2=cos  
  
y1, y2 = np.sin(x), np.cos(x)  
  
#定義畫布大小,不設置就是默認  
  
#plt.figure(figsize=(10, 7))#取出一張10*7的白紙  
  
#畫sin和cos,自定義顏色blue和green,label="sin",label="cos"  
  
plt.plot(x, y1, "-", color='blue',lw=2, aa=False, ms=50)#設置線寬5 aa關閉抗鋸齒 默認開啓  
  
plt.plot(x, y2, "-", color='green',lw=2, aa=True)#默認線寬10,不設置就是默認  
  
#去掉就是默認  
  
#自定義刻度法,取最大值×1.2  
  
plt.xlim(x.min() * 1.2, x.max() * 1.2)#橫座標範圍  
  
plt.ylim(y1.min() * 1.2, y1.max() * 1.2)#縱座標範圍  
  
plt.xticks([0, x.max(), x.min()], [0, r"$\pi$", "$-\pi$"])#橫座標刻度  
  
plt.yticks([y1.min(), y1.max()])#縱座標刻度  
  
#圖例個性設置,自定義字體大小,位置默認是最佳,顯示內容是label內容  
  
#也能夠這樣  
  
plt.legend(['sin','cos'],fontsize=20)  
  
#plt.legend(fontsize=20) #如何這樣的話,那麼須要在上面加入label  
  
#標註設置  
  
t = 2 / 3 * np.pi  
  
#標註藍色點垂直線  
  
plt.plot([t, t], [0, np.sin(t)], "--", color="b")  
  
plt.scatter([t], [np.sin(t)], s=100)#散點圖  
  
#標註紅色點垂直線  
  
plt.plot([t, t], [0, np.cos(t)], "--", color="r")  
  
plt.scatter([t], [np.cos(t)], s=100)#散點圖  
  
#設置標註  
  
plt.annotate(r"$\sin(\frac{2\pi}{3})=\frac{\sqrt{3}}{2}$",  
  
             (t, np.sin(t)),  
  
             xycoords="data", textcoords="offset pixels",  
  
             xytext=(20, 20),  
  
             arrowprops=dict(arrowstyle="->" , connectionstyle="arc3,rad=.2"),#箭頭屬性  
  
             fontsize=16,#zi字體大小  
  
            )  
  
#設置標註  
  
plt.annotate(r"$\cos(\frac{2\pi}{3})=-\frac{1}{2}$",  
  
             (t, np.cos(t)),  
  
             xycoords="data", textcoords="offset pixels",  
  
             xytext=(20, 0),  
  
             arrowprops=dict(arrowstyle="->" , connectionstyle="arc3,rad=.2"),#箭頭屬性  
  
             fontsize=16,#zi字體大小  
  
            )  
  
#ax定義和邊框線,也能夠註釋掉,那就是默認  
  
ax = plt.gca()  
  
#去除圖片的四邊黑框線  
  
ax.spines["bottom"].set_position(("data", 0))  
  
ax.spines["left"].set_position(("data", 0))  
  
ax.spines["top"].set_color("none")  
  
ax.spines["right"].set_color("none")  
  
#圖片展現  
  
plt.show()

5.4 圖:sin-cos-s-2

python的matplotlib的三角函數sin和cos的靜態做圖詳解

5.5 豪華版代碼:

#---導出模塊---  
  
import numpy as np  
  
import matplotlib.pyplot as plt  
  
#---函數定義和畫函數線---  
  
#x座標的取值範圍:linspace是等差數列法  
  
x=np.linspace(-2*np.pi,2*np.pi,256,endpoint=True)  
  
#arrange法,由於0.001取值很小很平滑,因此可能☆就不能顯示  
  
#x =np.arange(-2*np.pi,2*np.pi,0.001)  
  
#定義餘弦函數正弦函數,一行定義法,也能夠y1和y2  
  
c,s=np.cos(x),np.sin(x)  
  
#畫三角函數曲線,以x爲橫座標,以s和c爲縱座標  
  
#plt.plot(x,s,"r*",label="sin-s-3")  #r*=red的*,至關於color='red',linestyle="*"  
  
plt.plot(x,s,color="blue",label="sin-s-3")  
  
plt.plot(x,c,color="green",linestyle="-",label="cos-s-3",alpha=0.5)  
  
ax=plt.gca()  
  
#去除圖片的四邊的邊框黑線  
  
ax.spines["right"].set_color("none")  
  
ax.spines["top"].set_color("none")  
  
ax.spines["left"].set_position(("data",0))  
  
ax.spines["bottom"].set_position(("data",0))  
  
#自定義標籤文字  
  
#x軸標籤依次是:,若是註釋掉就是-6~6,間隔2  
  
plt.xticks([-np.pi,-np.pi/2,0,np.pi/2,np.pi],[r'$-\pi$',r'$-\pi/2$',r'$0$',r'$+\pi/2$',r'$+\pi$'])  
  
#y軸的標籤,取值從-1~1,分5個等差  
  
plt.yticks(np.linspace(-1,1,5,endpoint=True))  
  
#默認標籤位置也是這樣,因此能夠不要,註釋掉  
  
#ax.xaxis.set_ticks_position("bottom")  #線下  
  
#ax.yaxis.set_ticks_position("left")  #線左邊  
  
'''  
  
#若是上面的2行註釋掉,那麼下面的存在乎義不大,也能夠註釋掉  
  
for label in ax.get_xticklabels()+ax.get_yticklabels():  
  
    label.set_fontsize(16)  
  
    label.set_bbox(dict(facecolor="white",edgecolor="None",alpha=0.2))  
  
'''  
  
#固定面積顯示  
  
plt.fill_between(x,np.abs(x)<0.5,c,c>0.5,color="yellow",alpha=0.25)  
  
#固定垂直虛線標註  
  
t=1  
  
plt.plot([t,t],[0,np.cos(t)],"y",linewidth=3,linestyle="--")  
  
#箭頭標註  
  
plt.annotate("cos(1)",xy=(t,np.cos(1)),xycoords="data",xytext=(+10,+30),  
  
textcoords="offset points",arrowprops=dict(arrowstyle="->",connectionstyle="arc3,rad=.2"))  
  
#增長標題  
  
plt.title("sin-cos-s-3")  
  
#plt.figure(1)  #能夠註釋掉,採用默認  
  
#圖例顯示,loc表明位置,這是固定左上角位置,默認best,最佳位置,能夠自動調節空擋顯示  
  
plt.legend(loc="upper left")  
  
#顯示網格,能夠註釋掉  
  
plt.grid()  
  
#顯示圖形  
  
plt.show()

5.6 圖:sin-cos-s-3

python的matplotlib的三角函數sin和cos的靜態做圖詳解

6 sin和cos的佈局

6.1 ggplot法,代碼:

#導出模塊  
  
import numpy as np  
  
import matplotlib.pyplot as plt  
  
#畫布採用默認大小  
  
fig=plt.figure()   
  
#採用ggplot法佈局三個圖片位置  
  
plt.style.use('ggplot')  
  
left,width = 0.05,0.95  
  
#位置佈局一:上面一行2個  
  
rect_sin=[left,0.55,0.45,0.3]  #第1個圖  
  
rect_cos=[left+0.5,0.55,0.45,0.3]  #第2個圖  
  
'''  
  
#位置佈局二:上下2個,靠左  
  
rect_sin=[left,0.55,0.45,0.3]  #第1個圖  
  
rect_cos=[left,0.1,0.45,0.3]   #第2個圖  
  
'''  
  
#定義x和y座標  
  
#x=np.linspace(-10,10) #未設置等分,則線條不平滑  
  
#x=np.linspace(-10,10,260)  #260等分,數值越大,曲線的線條越平滑  
  
x=np.arange(-10,10,0.001)  #arange則是0.001,越小越平滑  
  
#y1=np.sin(x)  
  
#y1=np.cos(x)  
  
#---第1個圖---正弦sin  
  
ax_sin = fig.add_axes(rect_sin)  
  
ax_sin.plot(x,np.sin(x),color='blue')  
  
ax_sin.set_title('Sin-s-ggplot')  
  
#---第2個圖---餘弦cos  
  
ax_cos=fig.add_axes(rect_cos)  
  
ax_cos.plot(x,np.cos(x),color='green')  
  
ax_cos.set_title('Cos-s-ggplot')  
  
#圖片展現  
  
plt.show()

圖:2lf-ggplot法

python的matplotlib的三角函數sin和cos的靜態做圖詳解

2ud-ggplot法圖

python的matplotlib的三角函數sin和cos的靜態做圖詳解

6.2 subplot法

代碼:  
  
#---導出模塊---  
  
import matplotlib.pyplot as plt  
  
import numpy as np  
  
#---定義畫布大小和分辨率---  
  
fig = plt.figure(figsize=(8,8),dpi=80)  
  
#採用subplot法,分四個圖  
  
#2,2,1=2行2列,第一個,從左邊數  
  
# 畫正弦曲線  
  
fig.add_subplot(2,2,1)  
  
x = np.arange(-2*np.pi,2*np.pi,0.001)  
  
y = np.sin(x)  
  
plt.plot(x,y,color='blue')  
  
plt.title('Sin-s-subplot')  
  
plt.legend(['sin'])  
  
#方法一:第1行1和2並列  
  
# 餘弦,2,2,2=2行2列,第2個,從左邊數  
  
#fig.add_subplot(2,2,2)  
  
#方法二:第1行1和第2行1,上下  
  
# 餘弦,2,2,2=2行2列,第2個,從左邊數  
  
fig.add_subplot(2,2,3)  
  
x = np.arange(-2*np.pi,2*np.pi,0.001)  
  
y = np.cos(x)  
  
plt.plot(x,y,color='green')  
  
plt.title('Cos-s-subplot')  
  
plt.legend(['cos'])  
  
plt.show()

6.3 圖略,做圖位置如上面的ggplot法。

7.小結:

7.1 學習sin和cos有沒有用,固然有,在畫圓中須要sin和cos來定位圓的座標。基礎必定要打好。

7.2 順帶複習matplotlib的相關做圖。

**7.3 我本身整理好,也分享出來,值得收藏。**感謝做者分享-http://bjbsair.com/2020-04-07/tech-info/30778.html

1.說明:

1.1 推薦指數:★★★

1.2 基礎知識:三角函數sin和cos,在計算機編程中,尤爲python中,應用到畫圓很重要。

1.3 用通俗易懂的方式,來說解,三角函數的matplotlib做圖,靜態圖,爲之後的畫圓打基礎。

1.4 爲了突出重點,暫時不提中文設置。複習matplotlib做圖的基礎知識,深刻了解sin和cos的關係。

1.5 適合學習人羣:小白、學生、老師、愛好做圖人員和計算機編程人員閱讀。

python的matplotlib的三角函數sin和cos的靜態做圖詳解

2.理論:

好比:

r = 1 #假設半徑爲1  
  
# 0~2π(一圈,一個π是半圈,步長=0.01,步長越小圖線越平滑)  
  
a = np.arange(0,2*np.pi,0.01)   
  
#圓的座標點與三角函數的關係  
  
x = r*np.cos(a)  
  
y = r*np.sin(a)  
  
#畫圓  
  
plt.plot(x,y,color='red')

3.sin正弦函數

3.1 靜態:sin-s

3.2 代碼:簡潔版

#---導出模塊---  
  
import matplotlib.pyplot as plt  
  
import numpy as np  
  
#定義座標關係  
  
x = np.arange(-2*np.pi,2*np.pi,0.1)  
  
y = np.sin(x)  
  
#畫線  
  
plt.plot(x,y,color='blue')  
  
plt.title('sin-s') #標題  
  
plt.legend(['sin']) #圖例,注意中括號  
  
plt.show()  #圖片展現

3.3 圖

sin-s-1

python的matplotlib的三角函數sin和cos的靜態做圖詳解

3.4 代碼:註釋版

#---導出模塊---  
  
import matplotlib.pyplot as plt  
  
import numpy as np  
  
#---定義畫布大小和分辨率  
  
#fig = plt.figure(figsize=(8,8),dpi=80) #自定義  
  
#fig = plt.figure() #這是默認的,也能夠這一行不設,就是默認  
  
#---畫正弦sin曲線---  
  
#0.001越小,線條越平滑好看  
  
#從-2*np.pi到2*np.pi=就是2個2π,4個波=2個波峯+2個波底  
  
#x = np.arange(-2*np.pi,2*np.pi,0.001)  
  
x = np.arange(-2*np.pi,2*np.pi,0.1)  
  
y = np.sin(x)  
  
#畫線  
  
plt.plot(x,y,color='blue')  
  
#默認顯示2個2π,4個波=2個波峯+2個波底  
  
#plt.ylim(-2, 2)  
  
#plt.xlim(-2, 2)  
  
plt.title('sin-s') #標題  
  
plt.legend(['sin']) #圖例,注意中括號  
  
plt.show()  #圖片展現

4.cos餘弦函數:

4.1 將上面的sin函數的簡潔版的代碼中,sin改成cos便可,顏色定義爲綠色=green。

4.2 代碼:簡潔版

#---導出模塊---  
  
import matplotlib.pyplot as plt  
  
import numpy as np  
  
#---畫正弦cos曲線---  
  
x = np.arange(-2*np.pi,2*np.pi,0.1)  
  
y = np.cos(x)  
  
#畫線  
  
plt.plot(x,y,color='green')  
  
plt.title('cos-s') #標題  
  
plt.legend(['cos']) #圖例,注意中括號  
  
plt.show()  #圖片展現

4.3 圖:cos-s-1

python的matplotlib的三角函數sin和cos的靜態做圖詳解

5.一個座標系展現sin和cos做圖法

5.1 代碼1:

#---導出模塊---  
  
import matplotlib.pyplot as plt  
  
import numpy as np  
  
#plt.figure() #能夠不要,採用默認  
  
#取值範圍-2π~2π,比較能展示sin和cos的特色  
  
#0.1~0.001,最好越小越好,線條越平滑  
  
x=np.arange(-2*np.pi,2*np.pi,0.1)  
  
y1=np.sin(x)  #正弦sin函數線條  
  
y2=np.cos(x)  #餘弦cos函數線條  
  
#繪製兩個圖形,須要繪製兩次  
  
#不設置顏色,採用默認的2種不一樣顏色,也能夠單獨設置顏色  
  
#本講解中sin設置藍色=blue,cos設置爲綠色=green  
  
plt.plot(x,y1,color='blue')  
  
plt.plot(x,y2,color='green')  
  
#增長標題  
  
plt.title('x‘sin and cos')  
  
#增長圖例  
  
plt.legend(['y=sinx','y=cosx'])  
  
#增長x軸和y軸標籤名  
  
plt.xlabel('x-v')  
  
plt.ylabel('y-v',rotation=0)  
  
#圖片展現  
  
plt.show()

5.2 圖:sin-cos-s-1

python的matplotlib的三角函數sin和cos的靜態做圖詳解

5.3 升級版,代碼:

#---導出模塊---  
  
import numpy as np  
  
from matplotlib import pyplot as plt  
  
#---sin和cos的座標值定義---  
  
#---注意np的arrange和linspace的含義,在這裏區別不大  
  
##在-np.pi~np.pi之間選擇256個等差數  
  
#x = np.linspace(-2*np.pi, 2*np.pi, 512, endpoint=True)  
  
x =np.arange(-2*np.pi,2*np.pi,0.001)  
  
#y1=sin,y2=cos  
  
y1, y2 = np.sin(x), np.cos(x)  
  
#定義畫布大小,不設置就是默認  
  
#plt.figure(figsize=(10, 7))#取出一張10*7的白紙  
  
#畫sin和cos,自定義顏色blue和green,label="sin",label="cos"  
  
plt.plot(x, y1, "-", color='blue',lw=2, aa=False, ms=50)#設置線寬5 aa關閉抗鋸齒 默認開啓  
  
plt.plot(x, y2, "-", color='green',lw=2, aa=True)#默認線寬10,不設置就是默認  
  
#去掉就是默認  
  
#自定義刻度法,取最大值×1.2  
  
plt.xlim(x.min() * 1.2, x.max() * 1.2)#橫座標範圍  
  
plt.ylim(y1.min() * 1.2, y1.max() * 1.2)#縱座標範圍  
  
plt.xticks([0, x.max(), x.min()], [0, r"$\pi$", "$-\pi$"])#橫座標刻度  
  
plt.yticks([y1.min(), y1.max()])#縱座標刻度  
  
#圖例個性設置,自定義字體大小,位置默認是最佳,顯示內容是label內容  
  
#也能夠這樣  
  
plt.legend(['sin','cos'],fontsize=20)  
  
#plt.legend(fontsize=20) #如何這樣的話,那麼須要在上面加入label  
  
#標註設置  
  
t = 2 / 3 * np.pi  
  
#標註藍色點垂直線  
  
plt.plot([t, t], [0, np.sin(t)], "--", color="b")  
  
plt.scatter([t], [np.sin(t)], s=100)#散點圖  
  
#標註紅色點垂直線  
  
plt.plot([t, t], [0, np.cos(t)], "--", color="r")  
  
plt.scatter([t], [np.cos(t)], s=100)#散點圖  
  
#設置標註  
  
plt.annotate(r"$\sin(\frac{2\pi}{3})=\frac{\sqrt{3}}{2}$",  
  
             (t, np.sin(t)),  
  
             xycoords="data", textcoords="offset pixels",  
  
             xytext=(20, 20),  
  
             arrowprops=dict(arrowstyle="->" , connectionstyle="arc3,rad=.2"),#箭頭屬性  
  
             fontsize=16,#zi字體大小  
  
            )  
  
#設置標註  
  
plt.annotate(r"$\cos(\frac{2\pi}{3})=-\frac{1}{2}$",  
  
             (t, np.cos(t)),  
  
             xycoords="data", textcoords="offset pixels",  
  
             xytext=(20, 0),  
  
             arrowprops=dict(arrowstyle="->" , connectionstyle="arc3,rad=.2"),#箭頭屬性  
  
             fontsize=16,#zi字體大小  
  
            )  
  
#ax定義和邊框線,也能夠註釋掉,那就是默認  
  
ax = plt.gca()  
  
#去除圖片的四邊黑框線  
  
ax.spines["bottom"].set_position(("data", 0))  
  
ax.spines["left"].set_position(("data", 0))  
  
ax.spines["top"].set_color("none")  
  
ax.spines["right"].set_color("none")  
  
#圖片展現  
  
plt.show()

5.4 圖:sin-cos-s-2

python的matplotlib的三角函數sin和cos的靜態做圖詳解

5.5 豪華版代碼:

#---導出模塊---  
  
import numpy as np  
  
import matplotlib.pyplot as plt  
  
#---函數定義和畫函數線---  
  
#x座標的取值範圍:linspace是等差數列法  
  
x=np.linspace(-2*np.pi,2*np.pi,256,endpoint=True)  
  
#arrange法,由於0.001取值很小很平滑,因此可能☆就不能顯示  
  
#x =np.arange(-2*np.pi,2*np.pi,0.001)  
  
#定義餘弦函數正弦函數,一行定義法,也能夠y1和y2  
  
c,s=np.cos(x),np.sin(x)  
  
#畫三角函數曲線,以x爲橫座標,以s和c爲縱座標  
  
#plt.plot(x,s,"r*",label="sin-s-3")  #r*=red的*,至關於color='red',linestyle="*"  
  
plt.plot(x,s,color="blue",label="sin-s-3")  
  
plt.plot(x,c,color="green",linestyle="-",label="cos-s-3",alpha=0.5)  
  
ax=plt.gca()  
  
#去除圖片的四邊的邊框黑線  
  
ax.spines["right"].set_color("none")  
  
ax.spines["top"].set_color("none")  
  
ax.spines["left"].set_position(("data",0))  
  
ax.spines["bottom"].set_position(("data",0))  
  
#自定義標籤文字  
  
#x軸標籤依次是:,若是註釋掉就是-6~6,間隔2  
  
plt.xticks([-np.pi,-np.pi/2,0,np.pi/2,np.pi],[r'$-\pi$',r'$-\pi/2$',r'$0$',r'$+\pi/2$',r'$+\pi$'])  
  
#y軸的標籤,取值從-1~1,分5個等差  
  
plt.yticks(np.linspace(-1,1,5,endpoint=True))  
  
#默認標籤位置也是這樣,因此能夠不要,註釋掉  
  
#ax.xaxis.set_ticks_position("bottom")  #線下  
  
#ax.yaxis.set_ticks_position("left")  #線左邊  
  
'''  
  
#若是上面的2行註釋掉,那麼下面的存在乎義不大,也能夠註釋掉  
  
for label in ax.get_xticklabels()+ax.get_yticklabels():  
  
    label.set_fontsize(16)  
  
    label.set_bbox(dict(facecolor="white",edgecolor="None",alpha=0.2))  
  
'''  
  
#固定面積顯示  
  
plt.fill_between(x,np.abs(x)<0.5,c,c>0.5,color="yellow",alpha=0.25)  
  
#固定垂直虛線標註  
  
t=1  
  
plt.plot([t,t],[0,np.cos(t)],"y",linewidth=3,linestyle="--")  
  
#箭頭標註  
  
plt.annotate("cos(1)",xy=(t,np.cos(1)),xycoords="data",xytext=(+10,+30),  
  
textcoords="offset points",arrowprops=dict(arrowstyle="->",connectionstyle="arc3,rad=.2"))  
  
#增長標題  
  
plt.title("sin-cos-s-3")  
  
#plt.figure(1)  #能夠註釋掉,採用默認  
  
#圖例顯示,loc表明位置,這是固定左上角位置,默認best,最佳位置,能夠自動調節空擋顯示  
  
plt.legend(loc="upper left")  
  
#顯示網格,能夠註釋掉  
  
plt.grid()  
  
#顯示圖形  
  
plt.show()

5.6 圖:sin-cos-s-3

python的matplotlib的三角函數sin和cos的靜態做圖詳解

6 sin和cos的佈局

6.1 ggplot法,代碼:

#導出模塊  
  
import numpy as np  
  
import matplotlib.pyplot as plt  
  
#畫布採用默認大小  
  
fig=plt.figure()   
  
#採用ggplot法佈局三個圖片位置  
  
plt.style.use('ggplot')  
  
left,width = 0.05,0.95  
  
#位置佈局一:上面一行2個  
  
rect_sin=[left,0.55,0.45,0.3]  #第1個圖  
  
rect_cos=[left+0.5,0.55,0.45,0.3]  #第2個圖  
  
'''  
  
#位置佈局二:上下2個,靠左  
  
rect_sin=[left,0.55,0.45,0.3]  #第1個圖  
  
rect_cos=[left,0.1,0.45,0.3]   #第2個圖  
  
'''  
  
#定義x和y座標  
  
#x=np.linspace(-10,10) #未設置等分,則線條不平滑  
  
#x=np.linspace(-10,10,260)  #260等分,數值越大,曲線的線條越平滑  
  
x=np.arange(-10,10,0.001)  #arange則是0.001,越小越平滑  
  
#y1=np.sin(x)  
  
#y1=np.cos(x)  
  
#---第1個圖---正弦sin  
  
ax_sin = fig.add_axes(rect_sin)  
  
ax_sin.plot(x,np.sin(x),color='blue')  
  
ax_sin.set_title('Sin-s-ggplot')  
  
#---第2個圖---餘弦cos  
  
ax_cos=fig.add_axes(rect_cos)  
  
ax_cos.plot(x,np.cos(x),color='green')  
  
ax_cos.set_title('Cos-s-ggplot')  
  
#圖片展現  
  
plt.show()

圖:2lf-ggplot法

python的matplotlib的三角函數sin和cos的靜態做圖詳解

2ud-ggplot法圖

python的matplotlib的三角函數sin和cos的靜態做圖詳解

6.2 subplot法

代碼:  
  
#---導出模塊---  
  
import matplotlib.pyplot as plt  
  
import numpy as np  
  
#---定義畫布大小和分辨率---  
  
fig = plt.figure(figsize=(8,8),dpi=80)  
  
#採用subplot法,分四個圖  
  
#2,2,1=2行2列,第一個,從左邊數  
  
# 畫正弦曲線  
  
fig.add_subplot(2,2,1)  
  
x = np.arange(-2*np.pi,2*np.pi,0.001)  
  
y = np.sin(x)  
  
plt.plot(x,y,color='blue')  
  
plt.title('Sin-s-subplot')  
  
plt.legend(['sin'])  
  
#方法一:第1行1和2並列  
  
# 餘弦,2,2,2=2行2列,第2個,從左邊數  
  
#fig.add_subplot(2,2,2)  
  
#方法二:第1行1和第2行1,上下  
  
# 餘弦,2,2,2=2行2列,第2個,從左邊數  
  
fig.add_subplot(2,2,3)  
  
x = np.arange(-2*np.pi,2*np.pi,0.001)  
  
y = np.cos(x)  
  
plt.plot(x,y,color='green')  
  
plt.title('Cos-s-subplot')  
  
plt.legend(['cos'])  
  
plt.show()

6.3 圖略,做圖位置如上面的ggplot法。

7.小結:

7.1 學習sin和cos有沒有用,固然有,在畫圓中須要sin和cos來定位圓的座標。基礎必定要打好。

7.2 順帶複習matplotlib的相關做圖。

**7.3 我本身整理好,也分享出來,值得收藏。**感謝做者分享-http://bjbsair.com/2020-04-07/tech-info/30778.html

1.說明:

1.1 推薦指數:★★★

1.2 基礎知識:三角函數sin和cos,在計算機編程中,尤爲python中,應用到畫圓很重要。

1.3 用通俗易懂的方式,來說解,三角函數的matplotlib做圖,靜態圖,爲之後的畫圓打基礎。

1.4 爲了突出重點,暫時不提中文設置。複習matplotlib做圖的基礎知識,深刻了解sin和cos的關係。

1.5 適合學習人羣:小白、學生、老師、愛好做圖人員和計算機編程人員閱讀。

python的matplotlib的三角函數sin和cos的靜態做圖詳解

2.理論:

好比:

r = 1 #假設半徑爲1  
  
# 0~2π(一圈,一個π是半圈,步長=0.01,步長越小圖線越平滑)  
  
a = np.arange(0,2*np.pi,0.01)   
  
#圓的座標點與三角函數的關係  
  
x = r*np.cos(a)  
  
y = r*np.sin(a)  
  
#畫圓  
  
plt.plot(x,y,color='red')

3.sin正弦函數

3.1 靜態:sin-s

3.2 代碼:簡潔版

#---導出模塊---  
  
import matplotlib.pyplot as plt  
  
import numpy as np  
  
#定義座標關係  
  
x = np.arange(-2*np.pi,2*np.pi,0.1)  
  
y = np.sin(x)  
  
#畫線  
  
plt.plot(x,y,color='blue')  
  
plt.title('sin-s') #標題  
  
plt.legend(['sin']) #圖例,注意中括號  
  
plt.show()  #圖片展現

3.3 圖

sin-s-1

python的matplotlib的三角函數sin和cos的靜態做圖詳解

3.4 代碼:註釋版

#---導出模塊---  
  
import matplotlib.pyplot as plt  
  
import numpy as np  
  
#---定義畫布大小和分辨率  
  
#fig = plt.figure(figsize=(8,8),dpi=80) #自定義  
  
#fig = plt.figure() #這是默認的,也能夠這一行不設,就是默認  
  
#---畫正弦sin曲線---  
  
#0.001越小,線條越平滑好看  
  
#從-2*np.pi到2*np.pi=就是2個2π,4個波=2個波峯+2個波底  
  
#x = np.arange(-2*np.pi,2*np.pi,0.001)  
  
x = np.arange(-2*np.pi,2*np.pi,0.1)  
  
y = np.sin(x)  
  
#畫線  
  
plt.plot(x,y,color='blue')  
  
#默認顯示2個2π,4個波=2個波峯+2個波底  
  
#plt.ylim(-2, 2)  
  
#plt.xlim(-2, 2)  
  
plt.title('sin-s') #標題  
  
plt.legend(['sin']) #圖例,注意中括號  
  
plt.show()  #圖片展現

4.cos餘弦函數:

4.1 將上面的sin函數的簡潔版的代碼中,sin改成cos便可,顏色定義爲綠色=green。

4.2 代碼:簡潔版

#---導出模塊---  
  
import matplotlib.pyplot as plt  
  
import numpy as np  
  
#---畫正弦cos曲線---  
  
x = np.arange(-2*np.pi,2*np.pi,0.1)  
  
y = np.cos(x)  
  
#畫線  
  
plt.plot(x,y,color='green')  
  
plt.title('cos-s') #標題  
  
plt.legend(['cos']) #圖例,注意中括號  
  
plt.show()  #圖片展現

4.3 圖:cos-s-1

python的matplotlib的三角函數sin和cos的靜態做圖詳解

5.一個座標系展現sin和cos做圖法

5.1 代碼1:

#---導出模塊---  
  
import matplotlib.pyplot as plt  
  
import numpy as np  
  
#plt.figure() #能夠不要,採用默認  
  
#取值範圍-2π~2π,比較能展示sin和cos的特色  
  
#0.1~0.001,最好越小越好,線條越平滑  
  
x=np.arange(-2*np.pi,2*np.pi,0.1)  
  
y1=np.sin(x)  #正弦sin函數線條  
  
y2=np.cos(x)  #餘弦cos函數線條  
  
#繪製兩個圖形,須要繪製兩次  
  
#不設置顏色,採用默認的2種不一樣顏色,也能夠單獨設置顏色  
  
#本講解中sin設置藍色=blue,cos設置爲綠色=green  
  
plt.plot(x,y1,color='blue')  
  
plt.plot(x,y2,color='green')  
  
#增長標題  
  
plt.title('x‘sin and cos')  
  
#增長圖例  
  
plt.legend(['y=sinx','y=cosx'])  
  
#增長x軸和y軸標籤名  
  
plt.xlabel('x-v')  
  
plt.ylabel('y-v',rotation=0)  
  
#圖片展現  
  
plt.show()

5.2 圖:sin-cos-s-1

python的matplotlib的三角函數sin和cos的靜態做圖詳解

5.3 升級版,代碼:

#---導出模塊---  
  
import numpy as np  
  
from matplotlib import pyplot as plt  
  
#---sin和cos的座標值定義---  
  
#---注意np的arrange和linspace的含義,在這裏區別不大  
  
##在-np.pi~np.pi之間選擇256個等差數  
  
#x = np.linspace(-2*np.pi, 2*np.pi, 512, endpoint=True)  
  
x =np.arange(-2*np.pi,2*np.pi,0.001)  
  
#y1=sin,y2=cos  
  
y1, y2 = np.sin(x), np.cos(x)  
  
#定義畫布大小,不設置就是默認  
  
#plt.figure(figsize=(10, 7))#取出一張10*7的白紙  
  
#畫sin和cos,自定義顏色blue和green,label="sin",label="cos"  
  
plt.plot(x, y1, "-", color='blue',lw=2, aa=False, ms=50)#設置線寬5 aa關閉抗鋸齒 默認開啓  
  
plt.plot(x, y2, "-", color='green',lw=2, aa=True)#默認線寬10,不設置就是默認  
  
#去掉就是默認  
  
#自定義刻度法,取最大值×1.2  
  
plt.xlim(x.min() * 1.2, x.max() * 1.2)#橫座標範圍  
  
plt.ylim(y1.min() * 1.2, y1.max() * 1.2)#縱座標範圍  
  
plt.xticks([0, x.max(), x.min()], [0, r"$\pi$", "$-\pi$"])#橫座標刻度  
  
plt.yticks([y1.min(), y1.max()])#縱座標刻度  
  
#圖例個性設置,自定義字體大小,位置默認是最佳,顯示內容是label內容  
  
#也能夠這樣  
  
plt.legend(['sin','cos'],fontsize=20)  
  
#plt.legend(fontsize=20) #如何這樣的話,那麼須要在上面加入label  
  
#標註設置  
  
t = 2 / 3 * np.pi  
  
#標註藍色點垂直線  
  
plt.plot([t, t], [0, np.sin(t)], "--", color="b")  
  
plt.scatter([t], [np.sin(t)], s=100)#散點圖  
  
#標註紅色點垂直線  
  
plt.plot([t, t], [0, np.cos(t)], "--", color="r")  
  
plt.scatter([t], [np.cos(t)], s=100)#散點圖  
  
#設置標註  
  
plt.annotate(r"$\sin(\frac{2\pi}{3})=\frac{\sqrt{3}}{2}$",  
  
             (t, np.sin(t)),  
  
             xycoords="data", textcoords="offset pixels",  
  
             xytext=(20, 20),  
  
             arrowprops=dict(arrowstyle="->" , connectionstyle="arc3,rad=.2"),#箭頭屬性  
  
             fontsize=16,#zi字體大小  
  
            )  
  
#設置標註  
  
plt.annotate(r"$\cos(\frac{2\pi}{3})=-\frac{1}{2}$",  
  
             (t, np.cos(t)),  
  
             xycoords="data", textcoords="offset pixels",  
  
             xytext=(20, 0),  
  
             arrowprops=dict(arrowstyle="->" , connectionstyle="arc3,rad=.2"),#箭頭屬性  
  
             fontsize=16,#zi字體大小  
  
            )  
  
#ax定義和邊框線,也能夠註釋掉,那就是默認  
  
ax = plt.gca()  
  
#去除圖片的四邊黑框線  
  
ax.spines["bottom"].set_position(("data", 0))  
  
ax.spines["left"].set_position(("data", 0))  
  
ax.spines["top"].set_color("none")  
  
ax.spines["right"].set_color("none")  
  
#圖片展現  
  
plt.show()

5.4 圖:sin-cos-s-2

python的matplotlib的三角函數sin和cos的靜態做圖詳解

5.5 豪華版代碼:

#---導出模塊---  
  
import numpy as np  
  
import matplotlib.pyplot as plt  
  
#---函數定義和畫函數線---  
  
#x座標的取值範圍:linspace是等差數列法  
  
x=np.linspace(-2*np.pi,2*np.pi,256,endpoint=True)  
  
#arrange法,由於0.001取值很小很平滑,因此可能☆就不能顯示  
  
#x =np.arange(-2*np.pi,2*np.pi,0.001)  
  
#定義餘弦函數正弦函數,一行定義法,也能夠y1和y2  
  
c,s=np.cos(x),np.sin(x)  
  
#畫三角函數曲線,以x爲橫座標,以s和c爲縱座標  
  
#plt.plot(x,s,"r*",label="sin-s-3")  #r*=red的*,至關於color='red',linestyle="*"  
  
plt.plot(x,s,color="blue",label="sin-s-3")  
  
plt.plot(x,c,color="green",linestyle="-",label="cos-s-3",alpha=0.5)  
  
ax=plt.gca()  
  
#去除圖片的四邊的邊框黑線  
  
ax.spines["right"].set_color("none")  
  
ax.spines["top"].set_color("none")  
  
ax.spines["left"].set_position(("data",0))  
  
ax.spines["bottom"].set_position(("data",0))  
  
#自定義標籤文字  
  
#x軸標籤依次是:,若是註釋掉就是-6~6,間隔2  
  
plt.xticks([-np.pi,-np.pi/2,0,np.pi/2,np.pi],[r'$-\pi$',r'$-\pi/2$',r'$0$',r'$+\pi/2$',r'$+\pi$'])  
  
#y軸的標籤,取值從-1~1,分5個等差  
  
plt.yticks(np.linspace(-1,1,5,endpoint=True))  
  
#默認標籤位置也是這樣,因此能夠不要,註釋掉  
  
#ax.xaxis.set_ticks_position("bottom")  #線下  
  
#ax.yaxis.set_ticks_position("left")  #線左邊  
  
'''  
  
#若是上面的2行註釋掉,那麼下面的存在乎義不大,也能夠註釋掉  
  
for label in ax.get_xticklabels()+ax.get_yticklabels():  
  
    label.set_fontsize(16)  
  
    label.set_bbox(dict(facecolor="white",edgecolor="None",alpha=0.2))  
  
'''  
  
#固定面積顯示  
  
plt.fill_between(x,np.abs(x)<0.5,c,c>0.5,color="yellow",alpha=0.25)  
  
#固定垂直虛線標註  
  
t=1  
  
plt.plot([t,t],[0,np.cos(t)],"y",linewidth=3,linestyle="--")  
  
#箭頭標註  
  
plt.annotate("cos(1)",xy=(t,np.cos(1)),xycoords="data",xytext=(+10,+30),  
  
textcoords="offset points",arrowprops=dict(arrowstyle="->",connectionstyle="arc3,rad=.2"))  
  
#增長標題  
  
plt.title("sin-cos-s-3")  
  
#plt.figure(1)  #能夠註釋掉,採用默認  
  
#圖例顯示,loc表明位置,這是固定左上角位置,默認best,最佳位置,能夠自動調節空擋顯示  
  
plt.legend(loc="upper left")  
  
#顯示網格,能夠註釋掉  
  
plt.grid()  
  
#顯示圖形  
  
plt.show()

5.6 圖:sin-cos-s-3

python的matplotlib的三角函數sin和cos的靜態做圖詳解

6 sin和cos的佈局

6.1 ggplot法,代碼:

#導出模塊  
  
import numpy as np  
  
import matplotlib.pyplot as plt  
  
#畫布採用默認大小  
  
fig=plt.figure()   
  
#採用ggplot法佈局三個圖片位置  
  
plt.style.use('ggplot')  
  
left,width = 0.05,0.95  
  
#位置佈局一:上面一行2個  
  
rect_sin=[left,0.55,0.45,0.3]  #第1個圖  
  
rect_cos=[left+0.5,0.55,0.45,0.3]  #第2個圖  
  
'''  
  
#位置佈局二:上下2個,靠左  
  
rect_sin=[left,0.55,0.45,0.3]  #第1個圖  
  
rect_cos=[left,0.1,0.45,0.3]   #第2個圖  
  
'''  
  
#定義x和y座標  
  
#x=np.linspace(-10,10) #未設置等分,則線條不平滑  
  
#x=np.linspace(-10,10,260)  #260等分,數值越大,曲線的線條越平滑  
  
x=np.arange(-10,10,0.001)  #arange則是0.001,越小越平滑  
  
#y1=np.sin(x)  
  
#y1=np.cos(x)  
  
#---第1個圖---正弦sin  
  
ax_sin = fig.add_axes(rect_sin)  
  
ax_sin.plot(x,np.sin(x),color='blue')  
  
ax_sin.set_title('Sin-s-ggplot')  
  
#---第2個圖---餘弦cos  
  
ax_cos=fig.add_axes(rect_cos)  
  
ax_cos.plot(x,np.cos(x),color='green')  
  
ax_cos.set_title('Cos-s-ggplot')  
  
#圖片展現  
  
plt.show()

圖:2lf-ggplot法

python的matplotlib的三角函數sin和cos的靜態做圖詳解

2ud-ggplot法圖

python的matplotlib的三角函數sin和cos的靜態做圖詳解

6.2 subplot法

代碼:  
  
#---導出模塊---  
  
import matplotlib.pyplot as plt  
  
import numpy as np  
  
#---定義畫布大小和分辨率---  
  
fig = plt.figure(figsize=(8,8),dpi=80)  
  
#採用subplot法,分四個圖  
  
#2,2,1=2行2列,第一個,從左邊數  
  
# 畫正弦曲線  
  
fig.add_subplot(2,2,1)  
  
x = np.arange(-2*np.pi,2*np.pi,0.001)  
  
y = np.sin(x)  
  
plt.plot(x,y,color='blue')  
  
plt.title('Sin-s-subplot')  
  
plt.legend(['sin'])  
  
#方法一:第1行1和2並列  
  
# 餘弦,2,2,2=2行2列,第2個,從左邊數  
  
#fig.add_subplot(2,2,2)  
  
#方法二:第1行1和第2行1,上下  
  
# 餘弦,2,2,2=2行2列,第2個,從左邊數  
  
fig.add_subplot(2,2,3)  
  
x = np.arange(-2*np.pi,2*np.pi,0.001)  
  
y = np.cos(x)  
  
plt.plot(x,y,color='green')  
  
plt.title('Cos-s-subplot')  
  
plt.legend(['cos'])  
  
plt.show()

6.3 圖略,做圖位置如上面的ggplot法。

7.小結:

7.1 學習sin和cos有沒有用,固然有,在畫圓中須要sin和cos來定位圓的座標。基礎必定要打好。

7.2 順帶複習matplotlib的相關做圖。

**7.3 我本身整理好,也分享出來,值得收藏。**感謝做者分享-http://bjbsair.com/2020-04-07/tech-info/30778.html

1.說明:

1.1 推薦指數:★★★

1.2 基礎知識:三角函數sin和cos,在計算機編程中,尤爲python中,應用到畫圓很重要。

1.3 用通俗易懂的方式,來說解,三角函數的matplotlib做圖,靜態圖,爲之後的畫圓打基礎。

1.4 爲了突出重點,暫時不提中文設置。複習matplotlib做圖的基礎知識,深刻了解sin和cos的關係。

1.5 適合學習人羣:小白、學生、老師、愛好做圖人員和計算機編程人員閱讀。

python的matplotlib的三角函數sin和cos的靜態做圖詳解

2.理論:

好比:

r = 1 #假設半徑爲1  
  
# 0~2π(一圈,一個π是半圈,步長=0.01,步長越小圖線越平滑)  
  
a = np.arange(0,2*np.pi,0.01)   
  
#圓的座標點與三角函數的關係  
  
x = r*np.cos(a)  
  
y = r*np.sin(a)  
  
#畫圓  
  
plt.plot(x,y,color='red')

3.sin正弦函數

3.1 靜態:sin-s

3.2 代碼:簡潔版

#---導出模塊---  
  
import matplotlib.pyplot as plt  
  
import numpy as np  
  
#定義座標關係  
  
x = np.arange(-2*np.pi,2*np.pi,0.1)  
  
y = np.sin(x)  
  
#畫線  
  
plt.plot(x,y,color='blue')  
  
plt.title('sin-s') #標題  
  
plt.legend(['sin']) #圖例,注意中括號  
  
plt.show()  #圖片展現

3.3 圖

sin-s-1

python的matplotlib的三角函數sin和cos的靜態做圖詳解

3.4 代碼:註釋版

#---導出模塊---  
  
import matplotlib.pyplot as plt  
  
import numpy as np  
  
#---定義畫布大小和分辨率  
  
#fig = plt.figure(figsize=(8,8),dpi=80) #自定義  
  
#fig = plt.figure() #這是默認的,也能夠這一行不設,就是默認  
  
#---畫正弦sin曲線---  
  
#0.001越小,線條越平滑好看  
  
#從-2*np.pi到2*np.pi=就是2個2π,4個波=2個波峯+2個波底  
  
#x = np.arange(-2*np.pi,2*np.pi,0.001)  
  
x = np.arange(-2*np.pi,2*np.pi,0.1)  
  
y = np.sin(x)  
  
#畫線  
  
plt.plot(x,y,color='blue')  
  
#默認顯示2個2π,4個波=2個波峯+2個波底  
  
#plt.ylim(-2, 2)  
  
#plt.xlim(-2, 2)  
  
plt.title('sin-s') #標題  
  
plt.legend(['sin']) #圖例,注意中括號  
  
plt.show()  #圖片展現

4.cos餘弦函數:

4.1 將上面的sin函數的簡潔版的代碼中,sin改成cos便可,顏色定義爲綠色=green。

4.2 代碼:簡潔版

#---導出模塊---  
  
import matplotlib.pyplot as plt  
  
import numpy as np  
  
#---畫正弦cos曲線---  
  
x = np.arange(-2*np.pi,2*np.pi,0.1)  
  
y = np.cos(x)  
  
#畫線  
  
plt.plot(x,y,color='green')  
  
plt.title('cos-s') #標題  
  
plt.legend(['cos']) #圖例,注意中括號  
  
plt.show()  #圖片展現

4.3 圖:cos-s-1

python的matplotlib的三角函數sin和cos的靜態做圖詳解

5.一個座標系展現sin和cos做圖法

5.1 代碼1:

#---導出模塊---  
  
import matplotlib.pyplot as plt  
  
import numpy as np  
  
#plt.figure() #能夠不要,採用默認  
  
#取值範圍-2π~2π,比較能展示sin和cos的特色  
  
#0.1~0.001,最好越小越好,線條越平滑  
  
x=np.arange(-2*np.pi,2*np.pi,0.1)  
  
y1=np.sin(x)  #正弦sin函數線條  
  
y2=np.cos(x)  #餘弦cos函數線條  
  
#繪製兩個圖形,須要繪製兩次  
  
#不設置顏色,採用默認的2種不一樣顏色,也能夠單獨設置顏色  
  
#本講解中sin設置藍色=blue,cos設置爲綠色=green  
  
plt.plot(x,y1,color='blue')  
  
plt.plot(x,y2,color='green')  
  
#增長標題  
  
plt.title('x‘sin and cos')  
  
#增長圖例  
  
plt.legend(['y=sinx','y=cosx'])  
  
#增長x軸和y軸標籤名  
  
plt.xlabel('x-v')  
  
plt.ylabel('y-v',rotation=0)  
  
#圖片展現  
  
plt.show()

5.2 圖:sin-cos-s-1

python的matplotlib的三角函數sin和cos的靜態做圖詳解

5.3 升級版,代碼:

#---導出模塊---  
  
import numpy as np  
  
from matplotlib import pyplot as plt  
  
#---sin和cos的座標值定義---  
  
#---注意np的arrange和linspace的含義,在這裏區別不大  
  
##在-np.pi~np.pi之間選擇256個等差數  
  
#x = np.linspace(-2*np.pi, 2*np.pi, 512, endpoint=True)  
  
x =np.arange(-2*np.pi,2*np.pi,0.001)  
  
#y1=sin,y2=cos  
  
y1, y2 = np.sin(x), np.cos(x)  
  
#定義畫布大小,不設置就是默認  
  
#plt.figure(figsize=(10, 7))#取出一張10*7的白紙  
  
#畫sin和cos,自定義顏色blue和green,label="sin",label="cos"  
  
plt.plot(x, y1, "-", color='blue',lw=2, aa=False, ms=50)#設置線寬5 aa關閉抗鋸齒 默認開啓  
  
plt.plot(x, y2, "-", color='green',lw=2, aa=True)#默認線寬10,不設置就是默認  
  
#去掉就是默認  
  
#自定義刻度法,取最大值×1.2  
  
plt.xlim(x.min() * 1.2, x.max() * 1.2)#橫座標範圍  
  
plt.ylim(y1.min() * 1.2, y1.max() * 1.2)#縱座標範圍  
  
plt.xticks([0, x.max(), x.min()], [0, r"$\pi$", "$-\pi$"])#橫座標刻度  
  
plt.yticks([y1.min(), y1.max()])#縱座標刻度  
  
#圖例個性設置,自定義字體大小,位置默認是最佳,顯示內容是label內容  
  
#也能夠這樣  
  
plt.legend(['sin','cos'],fontsize=20)  
  
#plt.legend(fontsize=20) #如何這樣的話,那麼須要在上面加入label  
  
#標註設置  
  
t = 2 / 3 * np.pi  
  
#標註藍色點垂直線  
  
plt.plot([t, t], [0, np.sin(t)], "--", color="b")  
  
plt.scatter([t], [np.sin(t)], s=100)#散點圖  
  
#標註紅色點垂直線  
  
plt.plot([t, t], [0, np.cos(t)], "--", color="r")  
  
plt.scatter([t], [np.cos(t)], s=100)#散點圖  
  
#設置標註  
  
plt.annotate(r"$\sin(\frac{2\pi}{3})=\frac{\sqrt{3}}{2}$",  
  
             (t, np.sin(t)),  
  
             xycoords="data", textcoords="offset pixels",  
  
             xytext=(20, 20),  
  
             arrowprops=dict(arrowstyle="->" , connectionstyle="arc3,rad=.2"),#箭頭屬性  
  
             fontsize=16,#zi字體大小  
  
            )  
  
#設置標註  
  
plt.annotate(r"$\cos(\frac{2\pi}{3})=-\frac{1}{2}$",  
  
             (t, np.cos(t)),  
  
             xycoords="data", textcoords="offset pixels",  
  
             xytext=(20, 0),  
  
             arrowprops=dict(arrowstyle="->" , connectionstyle="arc3,rad=.2"),#箭頭屬性  
  
             fontsize=16,#zi字體大小  
  
            )  
  
#ax定義和邊框線,也能夠註釋掉,那就是默認  
  
ax = plt.gca()  
  
#去除圖片的四邊黑框線  
  
ax.spines["bottom"].set_position(("data", 0))  
  
ax.spines["left"].set_position(("data", 0))  
  
ax.spines["top"].set_color("none")  
  
ax.spines["right"].set_color("none")  
  
#圖片展現  
  
plt.show()

5.4 圖:sin-cos-s-2

python的matplotlib的三角函數sin和cos的靜態做圖詳解

5.5 豪華版代碼:

#---導出模塊---  
  
import numpy as np  
  
import matplotlib.pyplot as plt  
  
#---函數定義和畫函數線---  
  
#x座標的取值範圍:linspace是等差數列法  
  
x=np.linspace(-2*np.pi,2*np.pi,256,endpoint=True)  
  
#arrange法,由於0.001取值很小很平滑,因此可能☆就不能顯示  
  
#x =np.arange(-2*np.pi,2*np.pi,0.001)  
  
#定義餘弦函數正弦函數,一行定義法,也能夠y1和y2  
  
c,s=np.cos(x),np.sin(x)  
  
#畫三角函數曲線,以x爲橫座標,以s和c爲縱座標  
  
#plt.plot(x,s,"r*",label="sin-s-3")  #r*=red的*,至關於color='red',linestyle="*"  
  
plt.plot(x,s,color="blue",label="sin-s-3")  
  
plt.plot(x,c,color="green",linestyle="-",label="cos-s-3",alpha=0.5)  
  
ax=plt.gca()  
  
#去除圖片的四邊的邊框黑線  
  
ax.spines["right"].set_color("none")  
  
ax.spines["top"].set_color("none")  
  
ax.spines["left"].set_position(("data",0))  
  
ax.spines["bottom"].set_position(("data",0))  
  
#自定義標籤文字  
  
#x軸標籤依次是:,若是註釋掉就是-6~6,間隔2  
  
plt.xticks([-np.pi,-np.pi/2,0,np.pi/2,np.pi],[r'$-\pi$',r'$-\pi/2$',r'$0$',r'$+\pi/2$',r'$+\pi$'])  
  
#y軸的標籤,取值從-1~1,分5個等差  
  
plt.yticks(np.linspace(-1,1,5,endpoint=True))  
  
#默認標籤位置也是這樣,因此能夠不要,註釋掉  
  
#ax.xaxis.set_ticks_position("bottom")  #線下  
  
#ax.yaxis.set_ticks_position("left")  #線左邊  
  
'''  
  
#若是上面的2行註釋掉,那麼下面的存在乎義不大,也能夠註釋掉  
  
for label in ax.get_xticklabels()+ax.get_yticklabels():  
  
    label.set_fontsize(16)  
  
    label.set_bbox(dict(facecolor="white",edgecolor="None",alpha=0.2))  
  
'''  
  
#固定面積顯示  
  
plt.fill_between(x,np.abs(x)<0.5,c,c>0.5,color="yellow",alpha=0.25)  
  
#固定垂直虛線標註  
  
t=1  
  
plt.plot([t,t],[0,np.cos(t)],"y",linewidth=3,linestyle="--")  
  
#箭頭標註  
  
plt.annotate("cos(1)",xy=(t,np.cos(1)),xycoords="data",xytext=(+10,+30),  
  
textcoords="offset points",arrowprops=dict(arrowstyle="->",connectionstyle="arc3,rad=.2"))  
  
#增長標題  
  
plt.title("sin-cos-s-3")  
  
#plt.figure(1)  #能夠註釋掉,採用默認  
  
#圖例顯示,loc表明位置,這是固定左上角位置,默認best,最佳位置,能夠自動調節空擋顯示  
  
plt.legend(loc="upper left")  
  
#顯示網格,能夠註釋掉  
  
plt.grid()  
  
#顯示圖形  
  
plt.show()

5.6 圖:sin-cos-s-3

python的matplotlib的三角函數sin和cos的靜態做圖詳解

6 sin和cos的佈局

6.1 ggplot法,代碼:

#導出模塊  
  
import numpy as np  
  
import matplotlib.pyplot as plt  
  
#畫布採用默認大小  
  
fig=plt.figure()   
  
#採用ggplot法佈局三個圖片位置  
  
plt.style.use('ggplot')  
  
left,width = 0.05,0.95  
  
#位置佈局一:上面一行2個  
  
rect_sin=[left,0.55,0.45,0.3]  #第1個圖  
  
rect_cos=[left+0.5,0.55,0.45,0.3]  #第2個圖  
  
'''  
  
#位置佈局二:上下2個,靠左  
  
rect_sin=[left,0.55,0.45,0.3]  #第1個圖  
  
rect_cos=[left,0.1,0.45,0.3]   #第2個圖  
  
'''  
  
#定義x和y座標  
  
#x=np.linspace(-10,10) #未設置等分,則線條不平滑  
  
#x=np.linspace(-10,10,260)  #260等分,數值越大,曲線的線條越平滑  
  
x=np.arange(-10,10,0.001)  #arange則是0.001,越小越平滑  
  
#y1=np.sin(x)  
  
#y1=np.cos(x)  
  
#---第1個圖---正弦sin  
  
ax_sin = fig.add_axes(rect_sin)  
  
ax_sin.plot(x,np.sin(x),color='blue')  
  
ax_sin.set_title('Sin-s-ggplot')  
  
#---第2個圖---餘弦cos  
  
ax_cos=fig.add_axes(rect_cos)  
  
ax_cos.plot(x,np.cos(x),color='green')  
  
ax_cos.set_title('Cos-s-ggplot')  
  
#圖片展現  
  
plt.show()

圖:2lf-ggplot法

python的matplotlib的三角函數sin和cos的靜態做圖詳解

2ud-ggplot法圖

python的matplotlib的三角函數sin和cos的靜態做圖詳解

6.2 subplot法

代碼:  
  
#---導出模塊---  
  
import matplotlib.pyplot as plt  
  
import numpy as np  
  
#---定義畫布大小和分辨率---  
  
fig = plt.figure(figsize=(8,8),dpi=80)  
  
#採用subplot法,分四個圖  
  
#2,2,1=2行2列,第一個,從左邊數  
  
# 畫正弦曲線  
  
fig.add_subplot(2,2,1)  
  
x = np.arange(-2*np.pi,2*np.pi,0.001)  
  
y = np.sin(x)  
  
plt.plot(x,y,color='blue')  
  
plt.title('Sin-s-subplot')  
  
plt.legend(['sin'])  
  
#方法一:第1行1和2並列  
  
# 餘弦,2,2,2=2行2列,第2個,從左邊數  
  
#fig.add_subplot(2,2,2)  
  
#方法二:第1行1和第2行1,上下  
  
# 餘弦,2,2,2=2行2列,第2個,從左邊數  
  
fig.add_subplot(2,2,3)  
  
x = np.arange(-2*np.pi,2*np.pi,0.001)  
  
y = np.cos(x)  
  
plt.plot(x,y,color='green')  
  
plt.title('Cos-s-subplot')  
  
plt.legend(['cos'])  
  
plt.show()

6.3 圖略,做圖位置如上面的ggplot法。

7.小結:

7.1 學習sin和cos有沒有用,固然有,在畫圓中須要sin和cos來定位圓的座標。基礎必定要打好。

7.2 順帶複習matplotlib的相關做圖。

**7.3 我本身整理好,也分享出來,值得收藏。**感謝做者分享-http://bjbsair.com/2020-04-07/tech-info/30778.html

1.說明:

1.1 推薦指數:★★★

1.2 基礎知識:三角函數sin和cos,在計算機編程中,尤爲python中,應用到畫圓很重要。

1.3 用通俗易懂的方式,來說解,三角函數的matplotlib做圖,靜態圖,爲之後的畫圓打基礎。

1.4 爲了突出重點,暫時不提中文設置。複習matplotlib做圖的基礎知識,深刻了解sin和cos的關係。

1.5 適合學習人羣:小白、學生、老師、愛好做圖人員和計算機編程人員閱讀。

python的matplotlib的三角函數sin和cos的靜態做圖詳解

2.理論:

好比:

r = 1 #假設半徑爲1  
  
# 0~2π(一圈,一個π是半圈,步長=0.01,步長越小圖線越平滑)  
  
a = np.arange(0,2*np.pi,0.01)   
  
#圓的座標點與三角函數的關係  
  
x = r*np.cos(a)  
  
y = r*np.sin(a)  
  
#畫圓  
  
plt.plot(x,y,color='red')

3.sin正弦函數

3.1 靜態:sin-s

3.2 代碼:簡潔版

#---導出模塊---  
  
import matplotlib.pyplot as plt  
  
import numpy as np  
  
#定義座標關係  
  
x = np.arange(-2*np.pi,2*np.pi,0.1)  
  
y = np.sin(x)  
  
#畫線  
  
plt.plot(x,y,color='blue')  
  
plt.title('sin-s') #標題  
  
plt.legend(['sin']) #圖例,注意中括號  
  
plt.show()  #圖片展現

3.3 圖

sin-s-1

python的matplotlib的三角函數sin和cos的靜態做圖詳解

3.4 代碼:註釋版

#---導出模塊---  
  
import matplotlib.pyplot as plt  
  
import numpy as np  
  
#---定義畫布大小和分辨率  
  
#fig = plt.figure(figsize=(8,8),dpi=80) #自定義  
  
#fig = plt.figure() #這是默認的,也能夠這一行不設,就是默認  
  
#---畫正弦sin曲線---  
  
#0.001越小,線條越平滑好看  
  
#從-2*np.pi到2*np.pi=就是2個2π,4個波=2個波峯+2個波底  
  
#x = np.arange(-2*np.pi,2*np.pi,0.001)  
  
x = np.arange(-2*np.pi,2*np.pi,0.1)  
  
y = np.sin(x)  
  
#畫線  
  
plt.plot(x,y,color='blue')  
  
#默認顯示2個2π,4個波=2個波峯+2個波底  
  
#plt.ylim(-2, 2)  
  
#plt.xlim(-2, 2)  
  
plt.title('sin-s') #標題  
  
plt.legend(['sin']) #圖例,注意中括號  
  
plt.show()  #圖片展現

4.cos餘弦函數:

4.1 將上面的sin函數的簡潔版的代碼中,sin改成cos便可,顏色定義爲綠色=green。

4.2 代碼:簡潔版

#---導出模塊---  
  
import matplotlib.pyplot as plt  
  
import numpy as np  
  
#---畫正弦cos曲線---  
  
x = np.arange(-2*np.pi,2*np.pi,0.1)  
  
y = np.cos(x)  
  
#畫線  
  
plt.plot(x,y,color='green')  
  
plt.title('cos-s') #標題  
  
plt.legend(['cos']) #圖例,注意中括號  
  
plt.show()  #圖片展現

4.3 圖:cos-s-1

python的matplotlib的三角函數sin和cos的靜態做圖詳解

5.一個座標系展現sin和cos做圖法

5.1 代碼1:

#---導出模塊---  
  
import matplotlib.pyplot as plt  
  
import numpy as np  
  
#plt.figure() #能夠不要,採用默認  
  
#取值範圍-2π~2π,比較能展示sin和cos的特色  
  
#0.1~0.001,最好越小越好,線條越平滑  
  
x=np.arange(-2*np.pi,2*np.pi,0.1)  
  
y1=np.sin(x)  #正弦sin函數線條  
  
y2=np.cos(x)  #餘弦cos函數線條  
  
#繪製兩個圖形,須要繪製兩次  
  
#不設置顏色,採用默認的2種不一樣顏色,也能夠單獨設置顏色  
  
#本講解中sin設置藍色=blue,cos設置爲綠色=green  
  
plt.plot(x,y1,color='blue')  
  
plt.plot(x,y2,color='green')  
  
#增長標題  
  
plt.title('x‘sin and cos')  
  
#增長圖例  
  
plt.legend(['y=sinx','y=cosx'])  
  
#增長x軸和y軸標籤名  
  
plt.xlabel('x-v')  
  
plt.ylabel('y-v',rotation=0)  
  
#圖片展現  
  
plt.show()

5.2 圖:sin-cos-s-1

python的matplotlib的三角函數sin和cos的靜態做圖詳解

5.3 升級版,代碼:

#---導出模塊---  
  
import numpy as np  
  
from matplotlib import pyplot as plt  
  
#---sin和cos的座標值定義---  
  
#---注意np的arrange和linspace的含義,在這裏區別不大  
  
##在-np.pi~np.pi之間選擇256個等差數  
  
#x = np.linspace(-2*np.pi, 2*np.pi, 512, endpoint=True)  
  
x =np.arange(-2*np.pi,2*np.pi,0.001)  
  
#y1=sin,y2=cos  
  
y1, y2 = np.sin(x), np.cos(x)  
  
#定義畫布大小,不設置就是默認  
  
#plt.figure(figsize=(10, 7))#取出一張10*7的白紙  
  
#畫sin和cos,自定義顏色blue和green,label="sin",label="cos"  
  
plt.plot(x, y1, "-", color='blue',lw=2, aa=False, ms=50)#設置線寬5 aa關閉抗鋸齒 默認開啓  
  
plt.plot(x, y2, "-", color='green',lw=2, aa=True)#默認線寬10,不設置就是默認  
  
#去掉就是默認  
  
#自定義刻度法,取最大值×1.2  
  
plt.xlim(x.min() * 1.2, x.max() * 1.2)#橫座標範圍  
  
plt.ylim(y1.min() * 1.2, y1.max() * 1.2)#縱座標範圍  
  
plt.xticks([0, x.max(), x.min()], [0, r"$\pi$", "$-\pi$"])#橫座標刻度  
  
plt.yticks([y1.min(), y1.max()])#縱座標刻度  
  
#圖例個性設置,自定義字體大小,位置默認是最佳,顯示內容是label內容  
  
#也能夠這樣  
  
plt.legend(['sin','cos'],fontsize=20)  
  
#plt.legend(fontsize=20) #如何這樣的話,那麼須要在上面加入label  
  
#標註設置  
  
t = 2 / 3 * np.pi  
  
#標註藍色點垂直線  
  
plt.plot([t, t], [0, np.sin(t)], "--", color="b")  
  
plt.scatter([t], [np.sin(t)], s=100)#散點圖  
  
#標註紅色點垂直線  
  
plt.plot([t, t], [0, np.cos(t)], "--", color="r")  
  
plt.scatter([t], [np.cos(t)], s=100)#散點圖  
  
#設置標註  
  
plt.annotate(r"$\sin(\frac{2\pi}{3})=\frac{\sqrt{3}}{2}$",  
  
             (t, np.sin(t)),  
  
             xycoords="data", textcoords="offset pixels",  
  
             xytext=(20, 20),  
  
             arrowprops=dict(arrowstyle="->" , connectionstyle="arc3,rad=.2"),#箭頭屬性  
  
             fontsize=16,#zi字體大小  
  
            )  
  
#設置標註  
  
plt.annotate(r"$\cos(\frac{2\pi}{3})=-\frac{1}{2}$",  
  
             (t, np.cos(t)),  
  
             xycoords="data", textcoords="offset pixels",  
  
             xytext=(20, 0),  
  
             arrowprops=dict(arrowstyle="->" , connectionstyle="arc3,rad=.2"),#箭頭屬性  
  
             fontsize=16,#zi字體大小  
  
            )  
  
#ax定義和邊框線,也能夠註釋掉,那就是默認  
  
ax = plt.gca()  
  
#去除圖片的四邊黑框線  
  
ax.spines["bottom"].set_position(("data", 0))  
  
ax.spines["left"].set_position(("data", 0))  
  
ax.spines["top"].set_color("none")  
  
ax.spines["right"].set_color("none")  
  
#圖片展現  
  
plt.show()

5.4 圖:sin-cos-s-2

python的matplotlib的三角函數sin和cos的靜態做圖詳解

5.5 豪華版代碼:

#---導出模塊---  
  
import numpy as np  
  
import matplotlib.pyplot as plt  
  
#---函數定義和畫函數線---  
  
#x座標的取值範圍:linspace是等差數列法  
  
x=np.linspace(-2*np.pi,2*np.pi,256,endpoint=True)  
  
#arrange法,由於0.001取值很小很平滑,因此可能☆就不能顯示  
  
#x =np.arange(-2*np.pi,2*np.pi,0.001)  
  
#定義餘弦函數正弦函數,一行定義法,也能夠y1和y2  
  
c,s=np.cos(x),np.sin(x)  
  
#畫三角函數曲線,以x爲橫座標,以s和c爲縱座標  
  
#plt.plot(x,s,"r*",label="sin-s-3")  #r*=red的*,至關於color='red',linestyle="*"  
  
plt.plot(x,s,color="blue",label="sin-s-3")  
  
plt.plot(x,c,color="green",linestyle="-",label="cos-s-3",alpha=0.5)  
  
ax=plt.gca()  
  
#去除圖片的四邊的邊框黑線  
  
ax.spines["right"].set_color("none")  
  
ax.spines["top"].set_color("none")  
  
ax.spines["left"].set_position(("data",0))  
  
ax.spines["bottom"].set_position(("data",0))  
  
#自定義標籤文字  
  
#x軸標籤依次是:,若是註釋掉就是-6~6,間隔2  
  
plt.xticks([-np.pi,-np.pi/2,0,np.pi/2,np.pi],[r'$-\pi$',r'$-\pi/2$',r'$0$',r'$+\pi/2$',r'$+\pi$'])  
  
#y軸的標籤,取值從-1~1,分5個等差  
  
plt.yticks(np.linspace(-1,1,5,endpoint=True))  
  
#默認標籤位置也是這樣,因此能夠不要,註釋掉  
  
#ax.xaxis.set_ticks_position("bottom")  #線下  
  
#ax.yaxis.set_ticks_position("left")  #線左邊  
  
'''  
  
#若是上面的2行註釋掉,那麼下面的存在乎義不大,也能夠註釋掉  
  
for label in ax.get_xticklabels()+ax.get_yticklabels():  
  
    label.set_fontsize(16)  
  
    label.set_bbox(dict(facecolor="white",edgecolor="None",alpha=0.2))  
  
'''  
  
#固定面積顯示  
  
plt.fill_between(x,np.abs(x)<0.5,c,c>0.5,color="yellow",alpha=0.25)  
  
#固定垂直虛線標註  
  
t=1  
  
plt.plot([t,t],[0,np.cos(t)],"y",linewidth=3,linestyle="--")  
  
#箭頭標註  
  
plt.annotate("cos(1)",xy=(t,np.cos(1)),xycoords="data",xytext=(+10,+30),  
  
textcoords="offset points",arrowprops=dict(arrowstyle="->",connectionstyle="arc3,rad=.2"))  
  
#增長標題  
  
plt.title("sin-cos-s-3")  
  
#plt.figure(1)  #能夠註釋掉,採用默認  
  
#圖例顯示,loc表明位置,這是固定左上角位置,默認best,最佳位置,能夠自動調節空擋顯示  
  
plt.legend(loc="upper left")  
  
#顯示網格,能夠註釋掉  
  
plt.grid()  
  
#顯示圖形  
  
plt.show()

5.6 圖:sin-cos-s-3

python的matplotlib的三角函數sin和cos的靜態做圖詳解

6 sin和cos的佈局

6.1 ggplot法,代碼:

#導出模塊  
  
import numpy as np  
  
import matplotlib.pyplot as plt  
  
#畫布採用默認大小  
  
fig=plt.figure()   
  
#採用ggplot法佈局三個圖片位置  
  
plt.style.use('ggplot')  
  
left,width = 0.05,0.95  
  
#位置佈局一:上面一行2個  
  
rect_sin=[left,0.55,0.45,0.3]  #第1個圖  
  
rect_cos=[left+0.5,0.55,0.45,0.3]  #第2個圖  
  
'''  
  
#位置佈局二:上下2個,靠左  
  
rect_sin=[left,0.55,0.45,0.3]  #第1個圖  
  
rect_cos=[left,0.1,0.45,0.3]   #第2個圖  
  
'''  
  
#定義x和y座標  
  
#x=np.linspace(-10,10) #未設置等分,則線條不平滑  
  
#x=np.linspace(-10,10,260)  #260等分,數值越大,曲線的線條越平滑  
  
x=np.arange(-10,10,0.001)  #arange則是0.001,越小越平滑  
  
#y1=np.sin(x)  
  
#y1=np.cos(x)  
  
#---第1個圖---正弦sin  
  
ax_sin = fig.add_axes(rect_sin)  
  
ax_sin.plot(x,np.sin(x),color='blue')  
  
ax_sin.set_title('Sin-s-ggplot')  
  
#---第2個圖---餘弦cos  
  
ax_cos=fig.add_axes(rect_cos)  
  
ax_cos.plot(x,np.cos(x),color='green')  
  
ax_cos.set_title('Cos-s-ggplot')  
  
#圖片展現  
  
plt.show()

圖:2lf-ggplot法

python的matplotlib的三角函數sin和cos的靜態做圖詳解

2ud-ggplot法圖

python的matplotlib的三角函數sin和cos的靜態做圖詳解

6.2 subplot法

代碼:  
  
#---導出模塊---  
  
import matplotlib.pyplot as plt  
  
import numpy as np  
  
#---定義畫布大小和分辨率---  
  
fig = plt.figure(figsize=(8,8),dpi=80)  
  
#採用subplot法,分四個圖  
  
#2,2,1=2行2列,第一個,從左邊數  
  
# 畫正弦曲線  
  
fig.add_subplot(2,2,1)  
  
x = np.arange(-2*np.pi,2*np.pi,0.001)  
  
y = np.sin(x)  
  
plt.plot(x,y,color='blue')  
  
plt.title('Sin-s-subplot')  
  
plt.legend(['sin'])  
  
#方法一:第1行1和2並列  
  
# 餘弦,2,2,2=2行2列,第2個,從左邊數  
  
#fig.add_subplot(2,2,2)  
  
#方法二:第1行1和第2行1,上下  
  
# 餘弦,2,2,2=2行2列,第2個,從左邊數  
  
fig.add_subplot(2,2,3)  
  
x = np.arange(-2*np.pi,2*np.pi,0.001)  
  
y = np.cos(x)  
  
plt.plot(x,y,color='green')  
  
plt.title('Cos-s-subplot')  
  
plt.legend(['cos'])  
  
plt.show()

6.3 圖略,做圖位置如上面的ggplot法。

7.小結:

7.1 學習sin和cos有沒有用,固然有,在畫圓中須要sin和cos來定位圓的座標。基礎必定要打好。

7.2 順帶複習matplotlib的相關做圖。

**7.3 我本身整理好,也分享出來,值得收藏。**感謝做者分享-http://bjbsair.com/2020-04-07/tech-info/30778.html

1.說明:

1.1 推薦指數:★★★

1.2 基礎知識:三角函數sin和cos,在計算機編程中,尤爲python中,應用到畫圓很重要。

1.3 用通俗易懂的方式,來說解,三角函數的matplotlib做圖,靜態圖,爲之後的畫圓打基礎。

1.4 爲了突出重點,暫時不提中文設置。複習matplotlib做圖的基礎知識,深刻了解sin和cos的關係。

1.5 適合學習人羣:小白、學生、老師、愛好做圖人員和計算機編程人員閱讀。

python的matplotlib的三角函數sin和cos的靜態做圖詳解

2.理論:

好比:

r = 1 #假設半徑爲1  
  
# 0~2π(一圈,一個π是半圈,步長=0.01,步長越小圖線越平滑)  
  
a = np.arange(0,2*np.pi,0.01)   
  
#圓的座標點與三角函數的關係  
  
x = r*np.cos(a)  
  
y = r*np.sin(a)  
  
#畫圓  
  
plt.plot(x,y,color='red')

3.sin正弦函數

3.1 靜態:sin-s

3.2 代碼:簡潔版

#---導出模塊---  
  
import matplotlib.pyplot as plt  
  
import numpy as np  
  
#定義座標關係  
  
x = np.arange(-2*np.pi,2*np.pi,0.1)  
  
y = np.sin(x)  
  
#畫線  
  
plt.plot(x,y,color='blue')  
  
plt.title('sin-s') #標題  
  
plt.legend(['sin']) #圖例,注意中括號  
  
plt.show()  #圖片展現

3.3 圖

sin-s-1

python的matplotlib的三角函數sin和cos的靜態做圖詳解

3.4 代碼:註釋版

#---導出模塊---  
  
import matplotlib.pyplot as plt  
  
import numpy as np  
  
#---定義畫布大小和分辨率  
  
#fig = plt.figure(figsize=(8,8),dpi=80) #自定義  
  
#fig = plt.figure() #這是默認的,也能夠這一行不設,就是默認  
  
#---畫正弦sin曲線---  
  
#0.001越小,線條越平滑好看  
  
#從-2*np.pi到2*np.pi=就是2個2π,4個波=2個波峯+2個波底  
  
#x = np.arange(-2*np.pi,2*np.pi,0.001)  
  
x = np.arange(-2*np.pi,2*np.pi,0.1)  
  
y = np.sin(x)  
  
#畫線  
  
plt.plot(x,y,color='blue')  
  
#默認顯示2個2π,4個波=2個波峯+2個波底  
  
#plt.ylim(-2, 2)  
  
#plt.xlim(-2, 2)  
  
plt.title('sin-s') #標題  
  
plt.legend(['sin']) #圖例,注意中括號  
  
plt.show()  #圖片展現

4.cos餘弦函數:

4.1 將上面的sin函數的簡潔版的代碼中,sin改成cos便可,顏色定義爲綠色=green。

4.2 代碼:簡潔版

#---導出模塊---  
  
import matplotlib.pyplot as plt  
  
import numpy as np  
  
#---畫正弦cos曲線---  
  
x = np.arange(-2*np.pi,2*np.pi,0.1)  
  
y = np.cos(x)  
  
#畫線  
  
plt.plot(x,y,color='green')  
  
plt.title('cos-s') #標題  
  
plt.legend(['cos']) #圖例,注意中括號  
  
plt.show()  #圖片展現

4.3 圖:cos-s-1

python的matplotlib的三角函數sin和cos的靜態做圖詳解

5.一個座標系展現sin和cos做圖法

5.1 代碼1:

#---導出模塊---  
  
import matplotlib.pyplot as plt  
  
import numpy as np  
  
#plt.figure() #能夠不要,採用默認  
  
#取值範圍-2π~2π,比較能展示sin和cos的特色  
  
#0.1~0.001,最好越小越好,線條越平滑  
  
x=np.arange(-2*np.pi,2*np.pi,0.1)  
  
y1=np.sin(x)  #正弦sin函數線條  
  
y2=np.cos(x)  #餘弦cos函數線條  
  
#繪製兩個圖形,須要繪製兩次  
  
#不設置顏色,採用默認的2種不一樣顏色,也能夠單獨設置顏色  
  
#本講解中sin設置藍色=blue,cos設置爲綠色=green  
  
plt.plot(x,y1,color='blue')  
  
plt.plot(x,y2,color='green')  
  
#增長標題  
  
plt.title('x‘sin and cos')  
  
#增長圖例  
  
plt.legend(['y=sinx','y=cosx'])  
  
#增長x軸和y軸標籤名  
  
plt.xlabel('x-v')  
  
plt.ylabel('y-v',rotation=0)  
  
#圖片展現  
  
plt.show()

5.2 圖:sin-cos-s-1

python的matplotlib的三角函數sin和cos的靜態做圖詳解

5.3 升級版,代碼:

#---導出模塊---  
  
import numpy as np  
  
from matplotlib import pyplot as plt  
  
#---sin和cos的座標值定義---  
  
#---注意np的arrange和linspace的含義,在這裏區別不大  
  
##在-np.pi~np.pi之間選擇256個等差數  
  
#x = np.linspace(-2*np.pi, 2*np.pi, 512, endpoint=True)  
  
x =np.arange(-2*np.pi,2*np.pi,0.001)  
  
#y1=sin,y2=cos  
  
y1, y2 = np.sin(x), np.cos(x)  
  
#定義畫布大小,不設置就是默認  
  
#plt.figure(figsize=(10, 7))#取出一張10*7的白紙  
  
#畫sin和cos,自定義顏色blue和green,label="sin",label="cos"  
  
plt.plot(x, y1, "-", color='blue',lw=2, aa=False, ms=50)#設置線寬5 aa關閉抗鋸齒 默認開啓  
  
plt.plot(x, y2, "-", color='green',lw=2, aa=True)#默認線寬10,不設置就是默認  
  
#去掉就是默認  
  
#自定義刻度法,取最大值×1.2  
  
plt.xlim(x.min() * 1.2, x.max() * 1.2)#橫座標範圍  
  
plt.ylim(y1.min() * 1.2, y1.max() * 1.2)#縱座標範圍  
  
plt.xticks([0, x.max(), x.min()], [0, r"$\pi$", "$-\pi$"])#橫座標刻度  
  
plt.yticks([y1.min(), y1.max()])#縱座標刻度  
  
#圖例個性設置,自定義字體大小,位置默認是最佳,顯示內容是label內容  
  
#也能夠這樣  
  
plt.legend(['sin','cos'],fontsize=20)  
  
#plt.legend(fontsize=20) #如何這樣的話,那麼須要在上面加入label  
  
#標註設置  
  
t = 2 / 3 * np.pi  
  
#標註藍色點垂直線  
  
plt.plot([t, t], [0, np.sin(t)], "--", color="b")  
  
plt.scatter([t], [np.sin(t)], s=100)#散點圖  
  
#標註紅色點垂直線  
  
plt.plot([t, t], [0, np.cos(t)], "--", color="r")  
  
plt.scatter([t], [np.cos(t)], s=100)#散點圖  
  
#設置標註  
  
plt.annotate(r"$\sin(\frac{2\pi}{3})=\frac{\sqrt{3}}{2}$",  
  
             (t, np.sin(t)),  
  
             xycoords="data", textcoords="offset pixels",  
  
             xytext=(20, 20),  
  
             arrowprops=dict(arrowstyle="->" , connectionstyle="arc3,rad=.2"),#箭頭屬性  
  
             fontsize=16,#zi字體大小  
  
            )  
  
#設置標註  
  
plt.annotate(r"$\cos(\frac{2\pi}{3})=-\frac{1}{2}$",  
  
             (t, np.cos(t)),  
  
             xycoords="data", textcoords="offset pixels",  
  
             xytext=(20, 0),  
  
             arrowprops=dict(arrowstyle="->" , connectionstyle="arc3,rad=.2"),#箭頭屬性  
  
             fontsize=16,#zi字體大小  
  
            )  
  
#ax定義和邊框線,也能夠註釋掉,那就是默認  
  
ax = plt.gca()  
  
#去除圖片的四邊黑框線  
  
ax.spines["bottom"].set_position(("data", 0))  
  
ax.spines["left"].set_position(("data", 0))  
  
ax.spines["top"].set_color("none")  
  
ax.spines["right"].set_color("none")  
  
#圖片展現  
  
plt.show()

5.4 圖:sin-cos-s-2

python的matplotlib的三角函數sin和cos的靜態做圖詳解

5.5 豪華版代碼:

#---導出模塊---  
  
import numpy as np  
  
import matplotlib.pyplot as plt  
  
#---函數定義和畫函數線---  
  
#x座標的取值範圍:linspace是等差數列法  
  
x=np.linspace(-2*np.pi,2*np.pi,256,endpoint=True)  
  
#arrange法,由於0.001取值很小很平滑,因此可能☆就不能顯示  
  
#x =np.arange(-2*np.pi,2*np.pi,0.001)  
  
#定義餘弦函數正弦函數,一行定義法,也能夠y1和y2  
  
c,s=np.cos(x),np.sin(x)  
  
#畫三角函數曲線,以x爲橫座標,以s和c爲縱座標  
  
#plt.plot(x,s,"r*",label="sin-s-3")  #r*=red的*,至關於color='red',linestyle="*"  
  
plt.plot(x,s,color="blue",label="sin-s-3")  
  
plt.plot(x,c,color="green",linestyle="-",label="cos-s-3",alpha=0.5)  
  
ax=plt.gca()  
  
#去除圖片的四邊的邊框黑線  
  
ax.spines["right"].set_color("none")  
  
ax.spines["top"].set_color("none")  
  
ax.spines["left"].set_position(("data",0))  
  
ax.spines["bottom"].set_position(("data",0))  
  
#自定義標籤文字  
  
#x軸標籤依次是:,若是註釋掉就是-6~6,間隔2  
  
plt.xticks([-np.pi,-np.pi/2,0,np.pi/2,np.pi],[r'$-\pi$',r'$-\pi/2$',r'$0$',r'$+\pi/2$',r'$+\pi$'])  
  
#y軸的標籤,取值從-1~1,分5個等差  
  
plt.yticks(np.linspace(-1,1,5,endpoint=True))  
  
#默認標籤位置也是這樣,因此能夠不要,註釋掉  
  
#ax.xaxis.set_ticks_position("bottom")  #線下  
  
#ax.yaxis.set_ticks_position("left")  #線左邊  
  
'''  
  
#若是上面的2行註釋掉,那麼下面的存在乎義不大,也能夠註釋掉  
  
for label in ax.get_xticklabels()+ax.get_yticklabels():  
  
    label.set_fontsize(16)  
  
    label.set_bbox(dict(facecolor="white",edgecolor="None",alpha=0.2))  
  
'''  
  
#固定面積顯示  
  
plt.fill_between(x,np.abs(x)<0.5,c,c>0.5,color="yellow",alpha=0.25)  
  
#固定垂直虛線標註  
  
t=1  
  
plt.plot([t,t],[0,np.cos(t)],"y",linewidth=3,linestyle="--")  
  
#箭頭標註  
  
plt.annotate("cos(1)",xy=(t,np.cos(1)),xycoords="data",xytext=(+10,+30),  
  
textcoords="offset points",arrowprops=dict(arrowstyle="->",connectionstyle="arc3,rad=.2"))  
  
#增長標題  
  
plt.title("sin-cos-s-3")  
  
#plt.figure(1)  #能夠註釋掉,採用默認  
  
#圖例顯示,loc表明位置,這是固定左上角位置,默認best,最佳位置,能夠自動調節空擋顯示  
  
plt.legend(loc="upper left")  
  
#顯示網格,能夠註釋掉  
  
plt.grid()  
  
#顯示圖形  
  
plt.show()

5.6 圖:sin-cos-s-3

python的matplotlib的三角函數sin和cos的靜態做圖詳解

6 sin和cos的佈局

6.1 ggplot法,代碼:

#導出模塊  
  
import numpy as np  
  
import matplotlib.pyplot as plt  
  
#畫布採用默認大小  
  
fig=plt.figure()   
  
#採用ggplot法佈局三個圖片位置  
  
plt.style.use('ggplot')  
  
left,width = 0.05,0.95  
  
#位置佈局一:上面一行2個  
  
rect_sin=[left,0.55,0.45,0.3]  #第1個圖  
  
rect_cos=[left+0.5,0.55,0.45,0.3]  #第2個圖  
  
'''  
  
#位置佈局二:上下2個,靠左  
  
rect_sin=[left,0.55,0.45,0.3]  #第1個圖  
  
rect_cos=[left,0.1,0.45,0.3]   #第2個圖  
  
'''  
  
#定義x和y座標  
  
#x=np.linspace(-10,10) #未設置等分,則線條不平滑  
  
#x=np.linspace(-10,10,260)  #260等分,數值越大,曲線的線條越平滑  
  
x=np.arange(-10,10,0.001)  #arange則是0.001,越小越平滑  
  
#y1=np.sin(x)  
  
#y1=np.cos(x)  
  
#---第1個圖---正弦sin  
  
ax_sin = fig.add_axes(rect_sin)  
  
ax_sin.plot(x,np.sin(x),color='blue')  
  
ax_sin.set_title('Sin-s-ggplot')  
  
#---第2個圖---餘弦cos  
  
ax_cos=fig.add_axes(rect_cos)  
  
ax_cos.plot(x,np.cos(x),color='green')  
  
ax_cos.set_title('Cos-s-ggplot')  
  
#圖片展現  
  
plt.show()

圖:2lf-ggplot法

python的matplotlib的三角函數sin和cos的靜態做圖詳解

2ud-ggplot法圖

python的matplotlib的三角函數sin和cos的靜態做圖詳解

6.2 subplot法

代碼:  
  
#---導出模塊---  
  
import matplotlib.pyplot as plt  
  
import numpy as np  
  
#---定義畫布大小和分辨率---  
  
fig = plt.figure(figsize=(8,8),dpi=80)  
  
#採用subplot法,分四個圖  
  
#2,2,1=2行2列,第一個,從左邊數  
  
# 畫正弦曲線  
  
fig.add_subplot(2,2,1)  
  
x = np.arange(-2*np.pi,2*np.pi,0.001)  
  
y = np.sin(x)  
  
plt.plot(x,y,color='blue')  
  
plt.title('Sin-s-subplot')  
  
plt.legend(['sin'])  
  
#方法一:第1行1和2並列  
  
# 餘弦,2,2,2=2行2列,第2個,從左邊數  
  
#fig.add_subplot(2,2,2)  
  
#方法二:第1行1和第2行1,上下  
  
# 餘弦,2,2,2=2行2列,第2個,從左邊數  
  
fig.add_subplot(2,2,3)  
  
x = np.arange(-2*np.pi,2*np.pi,0.001)  
  
y = np.cos(x)  
  
plt.plot(x,y,color='green')  
  
plt.title('Cos-s-subplot')  
  
plt.legend(['cos'])  
  
plt.show()

6.3 圖略,做圖位置如上面的ggplot法。

7.小結:

7.1 學習sin和cos有沒有用,固然有,在畫圓中須要sin和cos來定位圓的座標。基礎必定要打好。

7.2 順帶複習matplotlib的相關做圖。

**7.3 我本身整理好,也分享出來,值得收藏。**感謝做者分享-http://bjbsair.com/2020-04-07/tech-info/30778.html

1.說明:

1.1 推薦指數:★★★

1.2 基礎知識:三角函數sin和cos,在計算機編程中,尤爲python中,應用到畫圓很重要。

1.3 用通俗易懂的方式,來說解,三角函數的matplotlib做圖,靜態圖,爲之後的畫圓打基礎。

1.4 爲了突出重點,暫時不提中文設置。複習matplotlib做圖的基礎知識,深刻了解sin和cos的關係。

1.5 適合學習人羣:小白、學生、老師、愛好做圖人員和計算機編程人員閱讀。

python的matplotlib的三角函數sin和cos的靜態做圖詳解

2.理論:

好比:

r = 1 #假設半徑爲1  
  
# 0~2π(一圈,一個π是半圈,步長=0.01,步長越小圖線越平滑)  
  
a = np.arange(0,2*np.pi,0.01)   
  
#圓的座標點與三角函數的關係  
  
x = r*np.cos(a)  
  
y = r*np.sin(a)  
  
#畫圓  
  
plt.plot(x,y,color='red')

3.sin正弦函數

3.1 靜態:sin-s

3.2 代碼:簡潔版

#---導出模塊---  
  
import matplotlib.pyplot as plt  
  
import numpy as np  
  
#定義座標關係  
  
x = np.arange(-2*np.pi,2*np.pi,0.1)  
  
y = np.sin(x)  
  
#畫線  
  
plt.plot(x,y,color='blue')  
  
plt.title('sin-s') #標題  
  
plt.legend(['sin']) #圖例,注意中括號  
  
plt.show()  #圖片展現

3.3 圖

sin-s-1

python的matplotlib的三角函數sin和cos的靜態做圖詳解

3.4 代碼:註釋版

#---導出模塊---  
  
import matplotlib.pyplot as plt  
  
import numpy as np  
  
#---定義畫布大小和分辨率  
  
#fig = plt.figure(figsize=(8,8),dpi=80) #自定義  
  
#fig = plt.figure() #這是默認的,也能夠這一行不設,就是默認  
  
#---畫正弦sin曲線---  
  
#0.001越小,線條越平滑好看  
  
#從-2*np.pi到2*np.pi=就是2個2π,4個波=2個波峯+2個波底  
  
#x = np.arange(-2*np.pi,2*np.pi,0.001)  
  
x = np.arange(-2*np.pi,2*np.pi,0.1)  
  
y = np.sin(x)  
  
#畫線  
  
plt.plot(x,y,color='blue')  
  
#默認顯示2個2π,4個波=2個波峯+2個波底  
  
#plt.ylim(-2, 2)  
  
#plt.xlim(-2, 2)  
  
plt.title('sin-s') #標題  
  
plt.legend(['sin']) #圖例,注意中括號  
  
plt.show()  #圖片展現

4.cos餘弦函數:

4.1 將上面的sin函數的簡潔版的代碼中,sin改成cos便可,顏色定義爲綠色=green。

4.2 代碼:簡潔版

#---導出模塊---  
  
import matplotlib.pyplot as plt  
  
import numpy as np  
  
#---畫正弦cos曲線---  
  
x = np.arange(-2*np.pi,2*np.pi,0.1)  
  
y = np.cos(x)  
  
#畫線  
  
plt.plot(x,y,color='green')  
  
plt.title('cos-s') #標題  
  
plt.legend(['cos']) #圖例,注意中括號  
  
plt.show()  #圖片展現

4.3 圖:cos-s-1

python的matplotlib的三角函數sin和cos的靜態做圖詳解

5.一個座標系展現sin和cos做圖法

5.1 代碼1:

#---導出模塊---  
  
import matplotlib.pyplot as plt  
  
import numpy as np  
  
#plt.figure() #能夠不要,採用默認  
  
#取值範圍-2π~2π,比較能展示sin和cos的特色  
  
#0.1~0.001,最好越小越好,線條越平滑  
  
x=np.arange(-2*np.pi,2*np.pi,0.1)  
  
y1=np.sin(x)  #正弦sin函數線條  
  
y2=np.cos(x)  #餘弦cos函數線條  
  
#繪製兩個圖形,須要繪製兩次  
  
#不設置顏色,採用默認的2種不一樣顏色,也能夠單獨設置顏色  
  
#本講解中sin設置藍色=blue,cos設置爲綠色=green  
  
plt.plot(x,y1,color='blue')  
  
plt.plot(x,y2,color='green')  
  
#增長標題  
  
plt.title('x‘sin and cos')  
  
#增長圖例  
  
plt.legend(['y=sinx','y=cosx'])  
  
#增長x軸和y軸標籤名  
  
plt.xlabel('x-v')  
  
plt.ylabel('y-v',rotation=0)  
  
#圖片展現  
  
plt.show()

5.2 圖:sin-cos-s-1

python的matplotlib的三角函數sin和cos的靜態做圖詳解

5.3 升級版,代碼:

#---導出模塊---  
  
import numpy as np  
  
from matplotlib import pyplot as plt  
  
#---sin和cos的座標值定義---  
  
#---注意np的arrange和linspace的含義,在這裏區別不大  
  
##在-np.pi~np.pi之間選擇256個等差數  
  
#x = np.linspace(-2*np.pi, 2*np.pi, 512, endpoint=True)  
  
x =np.arange(-2*np.pi,2*np.pi,0.001)  
  
#y1=sin,y2=cos  
  
y1, y2 = np.sin(x), np.cos(x)  
  
#定義畫布大小,不設置就是默認  
  
#plt.figure(figsize=(10, 7))#取出一張10*7的白紙  
  
#畫sin和cos,自定義顏色blue和green,label="sin",label="cos"  
  
plt.plot(x, y1, "-", color='blue',lw=2, aa=False, ms=50)#設置線寬5 aa關閉抗鋸齒 默認開啓  
  
plt.plot(x, y2, "-", color='green',lw=2, aa=True)#默認線寬10,不設置就是默認  
  
#去掉就是默認  
  
#自定義刻度法,取最大值×1.2  
  
plt.xlim(x.min() * 1.2, x.max() * 1.2)#橫座標範圍  
  
plt.ylim(y1.min() * 1.2, y1.max() * 1.2)#縱座標範圍  
  
plt.xticks([0, x.max(), x.min()], [0, r"$\pi$", "$-\pi$"])#橫座標刻度  
  
plt.yticks([y1.min(), y1.max()])#縱座標刻度  
  
#圖例個性設置,自定義字體大小,位置默認是最佳,顯示內容是label內容  
  
#也能夠這樣  
  
plt.legend(['sin','cos'],fontsize=20)  
  
#plt.legend(fontsize=20) #如何這樣的話,那麼須要在上面加入label  
  
#標註設置  
  
t = 2 / 3 * np.pi  
  
#標註藍色點垂直線  
  
plt.plot([t, t], [0, np.sin(t)], "--", color="b")  
  
plt.scatter([t], [np.sin(t)], s=100)#散點圖  
  
#標註紅色點垂直線  
  
plt.plot([t, t], [0, np.cos(t)], "--", color="r")  
  
plt.scatter([t], [np.cos(t)], s=100)#散點圖  
  
#設置標註  
  
plt.annotate(r"$\sin(\frac{2\pi}{3})=\frac{\sqrt{3}}{2}$",  
  
             (t, np.sin(t)),  
  
             xycoords="data", textcoords="offset pixels",  
  
             xytext=(20, 20),  
  
             arrowprops=dict(arrowstyle="->" , connectionstyle="arc3,rad=.2"),#箭頭屬性  
  
             fontsize=16,#zi字體大小  
  
            )  
  
#設置標註  
  
plt.annotate(r"$\cos(\frac{2\pi}{3})=-\frac{1}{2}$",  
  
             (t, np.cos(t)),  
  
             xycoords="data", textcoords="offset pixels",  
  
             xytext=(20, 0),  
  
             arrowprops=dict(arrowstyle="->" , connectionstyle="arc3,rad=.2"),#箭頭屬性  
  
             fontsize=16,#zi字體大小  
  
            )  
  
#ax定義和邊框線,也能夠註釋掉,那就是默認  
  
ax = plt.gca()  
  
#去除圖片的四邊黑框線  
  
ax.spines["bottom"].set_position(("data", 0))  
  
ax.spines["left"].set_position(("data", 0))  
  
ax.spines["top"].set_color("none")  
  
ax.spines["right"].set_color("none")  
  
#圖片展現  
  
plt.show()

5.4 圖:sin-cos-s-2

python的matplotlib的三角函數sin和cos的靜態做圖詳解

5.5 豪華版代碼:

#---導出模塊---  
  
import numpy as np  
  
import matplotlib.pyplot as plt  
  
#---函數定義和畫函數線---  
  
#x座標的取值範圍:linspace是等差數列法  
  
x=np.linspace(-2*np.pi,2*np.pi,256,endpoint=True)  
  
#arrange法,由於0.001取值很小很平滑,因此可能☆就不能顯示  
  
#x =np.arange(-2*np.pi,2*np.pi,0.001)  
  
#定義餘弦函數正弦函數,一行定義法,也能夠y1和y2  
  
c,s=np.cos(x),np.sin(x)  
  
#畫三角函數曲線,以x爲橫座標,以s和c爲縱座標  
  
#plt.plot(x,s,"r*",label="sin-s-3")  #r*=red的*,至關於color='red',linestyle="*"  
  
plt.plot(x,s,color="blue",label="sin-s-3")  
  
plt.plot(x,c,color="green",linestyle="-",label="cos-s-3",alpha=0.5)  
  
ax=plt.gca()  
  
#去除圖片的四邊的邊框黑線  
  
ax.spines["right"].set_color("none")  
  
ax.spines["top"].set_color("none")  
  
ax.spines["left"].set_position(("data",0))  
  
ax.spines["bottom"].set_position(("data",0))  
  
#自定義標籤文字  
  
#x軸標籤依次是:,若是註釋掉就是-6~6,間隔2  
  
plt.xticks([-np.pi,-np.pi/2,0,np.pi/2,np.pi],[r'$-\pi$',r'$-\pi/2$',r'$0$',r'$+\pi/2$',r'$+\pi$'])  
  
#y軸的標籤,取值從-1~1,分5個等差  
  
plt.yticks(np.linspace(-1,1,5,endpoint=True))  
  
#默認標籤位置也是這樣,因此能夠不要,註釋掉  
  
#ax.xaxis.set_ticks_position("bottom")  #線下  
  
#ax.yaxis.set_ticks_position("left")  #線左邊  
  
'''  
  
#若是上面的2行註釋掉,那麼下面的存在乎義不大,也能夠註釋掉  
  
for label in ax.get_xticklabels()+ax.get_yticklabels():  
  
    label.set_fontsize(16)  
  
    label.set_bbox(dict(facecolor="white",edgecolor="None",alpha=0.2))  
  
'''  
  
#固定面積顯示  
  
plt.fill_between(x,np.abs(x)<0.5,c,c>0.5,color="yellow",alpha=0.25)  
  
#固定垂直虛線標註  
  
t=1  
  
plt.plot([t,t],[0,np.cos(t)],"y",linewidth=3,linestyle="--")  
  
#箭頭標註  
  
plt.annotate("cos(1)",xy=(t,np.cos(1)),xycoords="data",xytext=(+10,+30),  
  
textcoords="offset points",arrowprops=dict(arrowstyle="->",connectionstyle="arc3,rad=.2"))  
  
#增長標題  
  
plt.title("sin-cos-s-3")  
  
#plt.figure(1)  #能夠註釋掉,採用默認  
  
#圖例顯示,loc表明位置,這是固定左上角位置,默認best,最佳位置,能夠自動調節空擋顯示  
  
plt.legend(loc="upper left")  
  
#顯示網格,能夠註釋掉  
  
plt.grid()  
  
#顯示圖形  
  
plt.show()

5.6 圖:sin-cos-s-3

python的matplotlib的三角函數sin和cos的靜態做圖詳解

6 sin和cos的佈局

6.1 ggplot法,代碼:

#導出模塊  
  
import numpy as np  
  
import matplotlib.pyplot as plt  
  
#畫布採用默認大小  
  
fig=plt.figure()   
  
#採用ggplot法佈局三個圖片位置  
  
plt.style.use('ggplot')  
  
left,width = 0.05,0.95  
  
#位置佈局一:上面一行2個  
  
rect_sin=[left,0.55,0.45,0.3]  #第1個圖  
  
rect_cos=[left+0.5,0.55,0.45,0.3]  #第2個圖  
  
'''  
  
#位置佈局二:上下2個,靠左  
  
rect_sin=[left,0.55,0.45,0.3]  #第1個圖  
  
rect_cos=[left,0.1,0.45,0.3]   #第2個圖  
  
'''  
  
#定義x和y座標  
  
#x=np.linspace(-10,10) #未設置等分,則線條不平滑  
  
#x=np.linspace(-10,10,260)  #260等分,數值越大,曲線的線條越平滑  
  
x=np.arange(-10,10,0.001)  #arange則是0.001,越小越平滑  
  
#y1=np.sin(x)  
  
#y1=np.cos(x)  
  
#---第1個圖---正弦sin  
  
ax_sin = fig.add_axes(rect_sin)  
  
ax_sin.plot(x,np.sin(x),color='blue')  
  
ax_sin.set_title('Sin-s-ggplot')  
  
#---第2個圖---餘弦cos  
  
ax_cos=fig.add_axes(rect_cos)  
  
ax_cos.plot(x,np.cos(x),color='green')  
  
ax_cos.set_title('Cos-s-ggplot')  
  
#圖片展現  
  
plt.show()

圖:2lf-ggplot法

python的matplotlib的三角函數sin和cos的靜態做圖詳解

2ud-ggplot法圖

python的matplotlib的三角函數sin和cos的靜態做圖詳解

6.2 subplot法

代碼:  
  
#---導出模塊---  
  
import matplotlib.pyplot as plt  
  
import numpy as np  
  
#---定義畫布大小和分辨率---  
  
fig = plt.figure(figsize=(8,8),dpi=80)  
  
#採用subplot法,分四個圖  
  
#2,2,1=2行2列,第一個,從左邊數  
  
# 畫正弦曲線  
  
fig.add_subplot(2,2,1)  
  
x = np.arange(-2*np.pi,2*np.pi,0.001)  
  
y = np.sin(x)  
  
plt.plot(x,y,color='blue')  
  
plt.title('Sin-s-subplot')  
  
plt.legend(['sin'])  
  
#方法一:第1行1和2並列  
  
# 餘弦,2,2,2=2行2列,第2個,從左邊數  
  
#fig.add_subplot(2,2,2)  
  
#方法二:第1行1和第2行1,上下  
  
# 餘弦,2,2,2=2行2列,第2個,從左邊數  
  
fig.add_subplot(2,2,3)  
  
x = np.arange(-2*np.pi,2*np.pi,0.001)  
  
y = np.cos(x)  
  
plt.plot(x,y,color='green')  
  
plt.title('Cos-s-subplot')  
  
plt.legend(['cos'])  
  
plt.show()

6.3 圖略,做圖位置如上面的ggplot法。

7.小結:

7.1 學習sin和cos有沒有用,固然有,在畫圓中須要sin和cos來定位圓的座標。基礎必定要打好。

7.2 順帶複習matplotlib的相關做圖。

**7.3 我本身整理好,也分享出來,值得收藏。**感謝做者分享-http://bjbsair.com/2020-04-07/tech-info/30778.html

1.說明:

1.1 推薦指數:★★★

1.2 基礎知識:三角函數sin和cos,在計算機編程中,尤爲python中,應用到畫圓很重要。

1.3 用通俗易懂的方式,來說解,三角函數的matplotlib做圖,靜態圖,爲之後的畫圓打基礎。

1.4 爲了突出重點,暫時不提中文設置。複習matplotlib做圖的基礎知識,深刻了解sin和cos的關係。

1.5 適合學習人羣:小白、學生、老師、愛好做圖人員和計算機編程人員閱讀。

python的matplotlib的三角函數sin和cos的靜態做圖詳解

2.理論:

好比:

r = 1 #假設半徑爲1  
  
# 0~2π(一圈,一個π是半圈,步長=0.01,步長越小圖線越平滑)  
  
a = np.arange(0,2*np.pi,0.01)   
  
#圓的座標點與三角函數的關係  
  
x = r*np.cos(a)  
  
y = r*np.sin(a)  
  
#畫圓  
  
plt.plot(x,y,color='red')

3.sin正弦函數

3.1 靜態:sin-s

3.2 代碼:簡潔版

#---導出模塊---  
  
import matplotlib.pyplot as plt  
  
import numpy as np  
  
#定義座標關係  
  
x = np.arange(-2*np.pi,2*np.pi,0.1)  
  
y = np.sin(x)  
  
#畫線  
  
plt.plot(x,y,color='blue')  
  
plt.title('sin-s') #標題  
  
plt.legend(['sin']) #圖例,注意中括號  
  
plt.show()  #圖片展現

3.3 圖

sin-s-1

python的matplotlib的三角函數sin和cos的靜態做圖詳解

3.4 代碼:註釋版

#---導出模塊---  
  
import matplotlib.pyplot as plt  
  
import numpy as np  
  
#---定義畫布大小和分辨率  
  
#fig = plt.figure(figsize=(8,8),dpi=80) #自定義  
  
#fig = plt.figure() #這是默認的,也能夠這一行不設,就是默認  
  
#---畫正弦sin曲線---  
  
#0.001越小,線條越平滑好看  
  
#從-2*np.pi到2*np.pi=就是2個2π,4個波=2個波峯+2個波底  
  
#x = np.arange(-2*np.pi,2*np.pi,0.001)  
  
x = np.arange(-2*np.pi,2*np.pi,0.1)  
  
y = np.sin(x)  
  
#畫線  
  
plt.plot(x,y,color='blue')  
  
#默認顯示2個2π,4個波=2個波峯+2個波底  
  
#plt.ylim(-2, 2)  
  
#plt.xlim(-2, 2)  
  
plt.title('sin-s') #標題  
  
plt.legend(['sin']) #圖例,注意中括號  
  
plt.show()  #圖片展現

4.cos餘弦函數:

4.1 將上面的sin函數的簡潔版的代碼中,sin改成cos便可,顏色定義爲綠色=green。

4.2 代碼:簡潔版

#---導出模塊---  
  
import matplotlib.pyplot as plt  
  
import numpy as np  
  
#---畫正弦cos曲線---  
  
x = np.arange(-2*np.pi,2*np.pi,0.1)  
  
y = np.cos(x)  
  
#畫線  
  
plt.plot(x,y,color='green')  
  
plt.title('cos-s') #標題  
  
plt.legend(['cos']) #圖例,注意中括號  
  
plt.show()  #圖片展現

4.3 圖:cos-s-1

python的matplotlib的三角函數sin和cos的靜態做圖詳解

5.一個座標系展現sin和cos做圖法

5.1 代碼1:

#---導出模塊---  
  
import matplotlib.pyplot as plt  
  
import numpy as np  
  
#plt.figure() #能夠不要,採用默認  
  
#取值範圍-2π~2π,比較能展示sin和cos的特色  
  
#0.1~0.001,最好越小越好,線條越平滑  
  
x=np.arange(-2*np.pi,2*np.pi,0.1)  
  
y1=np.sin(x)  #正弦sin函數線條  
  
y2=np.cos(x)  #餘弦cos函數線條  
  
#繪製兩個圖形,須要繪製兩次  
  
#不設置顏色,採用默認的2種不一樣顏色,也能夠單獨設置顏色  
  
#本講解中sin設置藍色=blue,cos設置爲綠色=green  
  
plt.plot(x,y1,color='blue')  
  
plt.plot(x,y2,color='green')  
  
#增長標題  
  
plt.title('x‘sin and cos')  
  
#增長圖例  
  
plt.legend(['y=sinx','y=cosx'])  
  
#增長x軸和y軸標籤名  
  
plt.xlabel('x-v')  
  
plt.ylabel('y-v',rotation=0)  
  
#圖片展現  
  
plt.show()

5.2 圖:sin-cos-s-1

python的matplotlib的三角函數sin和cos的靜態做圖詳解

5.3 升級版,代碼:

#---導出模塊---  
  
import numpy as np  
  
from matplotlib import pyplot as plt  
  
#---sin和cos的座標值定義---  
  
#---注意np的arrange和linspace的含義,在這裏區別不大  
  
##在-np.pi~np.pi之間選擇256個等差數  
  
#x = np.linspace(-2*np.pi, 2*np.pi, 512, endpoint=True)  
  
x =np.arange(-2*np.pi,2*np.pi,0.001)  
  
#y1=sin,y2=cos  
  
y1, y2 = np.sin(x), np.cos(x)  
  
#定義畫布大小,不設置就是默認  
  
#plt.figure(figsize=(10, 7))#取出一張10*7的白紙  
  
#畫sin和cos,自定義顏色blue和green,label="sin",label="cos"  
  
plt.plot(x, y1, "-", color='blue',lw=2, aa=False, ms=50)#設置線寬5 aa關閉抗鋸齒 默認開啓  
  
plt.plot(x, y2, "-", color='green',lw=2, aa=True)#默認線寬10,不設置就是默認  
  
#去掉就是默認  
  
#自定義刻度法,取最大值×1.2  
  
plt.xlim(x.min() * 1.2, x.max() * 1.2)#橫座標範圍  
  
plt.ylim(y1.min() * 1.2, y1.max() * 1.2)#縱座標範圍  
  
plt.xticks([0, x.max(), x.min()], [0, r"$\pi$", "$-\pi$"])#橫座標刻度  
  
plt.yticks([y1.min(), y1.max()])#縱座標刻度  
  
#圖例個性設置,自定義字體大小,位置默認是最佳,顯示內容是label內容  
  
#也能夠這樣  
  
plt.legend(['sin','cos'],fontsize=20)  
  
#plt.legend(fontsize=20) #如何這樣的話,那麼須要在上面加入label  
  
#標註設置  
  
t = 2 / 3 * np.pi  
  
#標註藍色點垂直線  
  
plt.plot([t, t], [0, np.sin(t)], "--", color="b")  
  
plt.scatter([t], [np.sin(t)], s=100)#散點圖  
  
#標註紅色點垂直線  
  
plt.plot([t, t], [0, np.cos(t)], "--", color="r")  
  
plt.scatter([t], [np.cos(t)], s=100)#散點圖  
  
#設置標註  
  
plt.annotate(r"$\sin(\frac{2\pi}{3})=\frac{\sqrt{3}}{2}$",  
  
             (t, np.sin(t)),  
  
             xycoords="data", textcoords="offset pixels",  
  
             xytext=(20, 20),  
  
             arrowprops=dict(arrowstyle="->" , connectionstyle="arc3,rad=.2"),#箭頭屬性  
  
             fontsize=16,#zi字體大小  
  
            )  
  
#設置標註  
  
plt.annotate(r"$\cos(\frac{2\pi}{3})=-\frac{1}{2}$",  
  
             (t, np.cos(t)),  
  
             xycoords="data", textcoords="offset pixels",  
  
             xytext=(20, 0),  
  
             arrowprops=dict(arrowstyle="->" , connectionstyle="arc3,rad=.2"),#箭頭屬性  
  
             fontsize=16,#zi字體大小  
  
            )  
  
#ax定義和邊框線,也能夠註釋掉,那就是默認  
  
ax = plt.gca()  
  
#去除圖片的四邊黑框線  
  
ax.spines["bottom"].set_position(("data", 0))  
  
ax.spines["left"].set_position(("data", 0))  
  
ax.spines["top"].set_color("none")  
  
ax.spines["right"].set_color("none")  
  
#圖片展現  
  
plt.show()

5.4 圖:sin-cos-s-2

python的matplotlib的三角函數sin和cos的靜態做圖詳解

5.5 豪華版代碼:

#---導出模塊---  
  
import numpy as np  
  
import matplotlib.pyplot as plt  
  
#---函數定義和畫函數線---  
  
#x座標的取值範圍:linspace是等差數列法  
  
x=np.linspace(-2*np.pi,2*np.pi,256,endpoint=True)  
  
#arrange法,由於0.001取值很小很平滑,因此可能☆就不能顯示  
  
#x =np.arange(-2*np.pi,2*np.pi,0.001)  
  
#定義餘弦函數正弦函數,一行定義法,也能夠y1和y2  
  
c,s=np.cos(x),np.sin(x)  
  
#畫三角函數曲線,以x爲橫座標,以s和c爲縱座標  
  
#plt.plot(x,s,"r*",label="sin-s-3")  #r*=red的*,至關於color='red',linestyle="*"  
  
plt.plot(x,s,color="blue",label="sin-s-3")  
  
plt.plot(x,c,color="green",linestyle="-",label="cos-s-3",alpha=0.5)  
  
ax=plt.gca()  
  
#去除圖片的四邊的邊框黑線  
  
ax.spines["right"].set_color("none")  
  
ax.spines["top"].set_color("none")  
  
ax.spines["left"].set_position(("data",0))  
  
ax.spines["bottom"].set_position(("data",0))  
  
#自定義標籤文字  
  
#x軸標籤依次是:,若是註釋掉就是-6~6,間隔2  
  
plt.xticks([-np.pi,-np.pi/2,0,np.pi/2,np.pi],[r'$-\pi$',r'$-\pi/2$',r'$0$',r'$+\pi/2$',r'$+\pi$'])  
  
#y軸的標籤,取值從-1~1,分5個等差  
  
plt.yticks(np.linspace(-1,1,5,endpoint=True))  
  
#默認標籤位置也是這樣,因此能夠不要,註釋掉  
  
#ax.xaxis.set_ticks_position("bottom")  #線下  
  
#ax.yaxis.set_ticks_position("left")  #線左邊  
  
'''  
  
#若是上面的2行註釋掉,那麼下面的存在乎義不大,也能夠註釋掉  
  
for label in ax.get_xticklabels()+ax.get_yticklabels():  
  
    label.set_fontsize(16)  
  
    label.set_bbox(dict(facecolor="white",edgecolor="None",alpha=0.2))  
  
'''  
  
#固定面積顯示  
  
plt.fill_between(x,np.abs(x)<0.5,c,c>0.5,color="yellow",alpha=0.25)  
  
#固定垂直虛線標註  
  
t=1  
  
plt.plot([t,t],[0,np.cos(t)],"y",linewidth=3,linestyle="--")  
  
#箭頭標註  
  
plt.annotate("cos(1)",xy=(t,np.cos(1)),xycoords="data",xytext=(+10,+30),  
  
textcoords="offset points",arrowprops=dict(arrowstyle="->",connectionstyle="arc3,rad=.2"))  
  
#增長標題  
  
plt.title("sin-cos-s-3")  
  
#plt.figure(1)  #能夠註釋掉,採用默認  
  
#圖例顯示,loc表明位置,這是固定左上角位置,默認best,最佳位置,能夠自動調節空擋顯示  
  
plt.legend(loc="upper left")  
  
#顯示網格,能夠註釋掉  
  
plt.grid()  
  
#顯示圖形  
  
plt.show()

5.6 圖:sin-cos-s-3

python的matplotlib的三角函數sin和cos的靜態做圖詳解

6 sin和cos的佈局

6.1 ggplot法,代碼:

#導出模塊  
  
import numpy as np  
  
import matplotlib.pyplot as plt  
  
#畫布採用默認大小  
  
fig=plt.figure()   
  
#採用ggplot法佈局三個圖片位置  
  
plt.style.use('ggplot')  
  
left,width = 0.05,0.95  
  
#位置佈局一:上面一行2個  
  
rect_sin=[left,0.55,0.45,0.3]  #第1個圖  
  
rect_cos=[left+0.5,0.55,0.45,0.3]  #第2個圖  
  
'''  
  
#位置佈局二:上下2個,靠左  
  
rect_sin=[left,0.55,0.45,0.3]  #第1個圖  
  
rect_cos=[left,0.1,0.45,0.3]   #第2個圖  
  
'''  
  
#定義x和y座標  
  
#x=np.linspace(-10,10) #未設置等分,則線條不平滑  
  
#x=np.linspace(-10,10,260)  #260等分,數值越大,曲線的線條越平滑  
  
x=np.arange(-10,10,0.001)  #arange則是0.001,越小越平滑  
  
#y1=np.sin(x)  
  
#y1=np.cos(x)  
  
#---第1個圖---正弦sin  
  
ax_sin = fig.add_axes(rect_sin)  
  
ax_sin.plot(x,np.sin(x),color='blue')  
  
ax_sin.set_title('Sin-s-ggplot')  
  
#---第2個圖---餘弦cos  
  
ax_cos=fig.add_axes(rect_cos)  
  
ax_cos.plot(x,np.cos(x),color='green')  
  
ax_cos.set_title('Cos-s-ggplot')  
  
#圖片展現  
  
plt.show()

圖:2lf-ggplot法

python的matplotlib的三角函數sin和cos的靜態做圖詳解

2ud-ggplot法圖

python的matplotlib的三角函數sin和cos的靜態做圖詳解

6.2 subplot法

代碼:  
  
#---導出模塊---  
  
import matplotlib.pyplot as plt  
  
import numpy as np  
  
#---定義畫布大小和分辨率---  
  
fig = plt.figure(figsize=(8,8),dpi=80)  
  
#採用subplot法,分四個圖  
  
#2,2,1=2行2列,第一個,從左邊數  
  
# 畫正弦曲線  
  
fig.add_subplot(2,2,1)  
  
x = np.arange(-2*np.pi,2*np.pi,0.001)  
  
y = np.sin(x)  
  
plt.plot(x,y,color='blue')  
  
plt.title('Sin-s-subplot')  
  
plt.legend(['sin'])  
  
#方法一:第1行1和2並列  
  
# 餘弦,2,2,2=2行2列,第2個,從左邊數  
  
#fig.add_subplot(2,2,2)  
  
#方法二:第1行1和第2行1,上下  
  
# 餘弦,2,2,2=2行2列,第2個,從左邊數  
  
fig.add_subplot(2,2,3)  
  
x = np.arange(-2*np.pi,2*np.pi,0.001)  
  
y = np.cos(x)  
  
plt.plot(x,y,color='green')  
  
plt.title('Cos-s-subplot')  
  
plt.legend(['cos'])  
  
plt.show()

6.3 圖略,做圖位置如上面的ggplot法。

7.小結:

7.1 學習sin和cos有沒有用,固然有,在畫圓中須要sin和cos來定位圓的座標。基礎必定要打好。

7.2 順帶複習matplotlib的相關做圖。

**7.3 我本身整理好,也分享出來,值得收藏。**感謝做者分享-http://bjbsair.com/2020-04-07/tech-info/30778.html

1.說明:

1.1 推薦指數:★★★

1.2 基礎知識:三角函數sin和cos,在計算機編程中,尤爲python中,應用到畫圓很重要。

1.3 用通俗易懂的方式,來說解,三角函數的matplotlib做圖,靜態圖,爲之後的畫圓打基礎。

1.4 爲了突出重點,暫時不提中文設置。複習matplotlib做圖的基礎知識,深刻了解sin和cos的關係。

1.5 適合學習人羣:小白、學生、老師、愛好做圖人員和計算機編程人員閱讀。

python的matplotlib的三角函數sin和cos的靜態做圖詳解

2.理論:

好比:

r = 1 #假設半徑爲1  
  
# 0~2π(一圈,一個π是半圈,步長=0.01,步長越小圖線越平滑)  
  
a = np.arange(0,2*np.pi,0.01)   
  
#圓的座標點與三角函數的關係  
  
x = r*np.cos(a)  
  
y = r*np.sin(a)  
  
#畫圓  
  
plt.plot(x,y,color='red')

3.sin正弦函數

3.1 靜態:sin-s

3.2 代碼:簡潔版

#---導出模塊---  
  
import matplotlib.pyplot as plt  
  
import numpy as np  
  
#定義座標關係  
  
x = np.arange(-2*np.pi,2*np.pi,0.1)  
  
y = np.sin(x)  
  
#畫線  
  
plt.plot(x,y,color='blue')  
  
plt.title('sin-s') #標題  
  
plt.legend(['sin']) #圖例,注意中括號  
  
plt.show()  #圖片展現

3.3 圖

sin-s-1

python的matplotlib的三角函數sin和cos的靜態做圖詳解

3.4 代碼:註釋版

#---導出模塊---  
  
import matplotlib.pyplot as plt  
  
import numpy as np  
  
#---定義畫布大小和分辨率  
  
#fig = plt.figure(figsize=(8,8),dpi=80) #自定義  
  
#fig = plt.figure() #這是默認的,也能夠這一行不設,就是默認  
  
#---畫正弦sin曲線---  
  
#0.001越小,線條越平滑好看  
  
#從-2*np.pi到2*np.pi=就是2個2π,4個波=2個波峯+2個波底  
  
#x = np.arange(-2*np.pi,2*np.pi,0.001)  
  
x = np.arange(-2*np.pi,2*np.pi,0.1)  
  
y = np.sin(x)  
  
#畫線  
  
plt.plot(x,y,color='blue')  
  
#默認顯示2個2π,4個波=2個波峯+2個波底  
  
#plt.ylim(-2, 2)  
  
#plt.xlim(-2, 2)  
  
plt.title('sin-s') #標題  
  
plt.legend(['sin']) #圖例,注意中括號  
  
plt.show()  #圖片展現

4.cos餘弦函數:

4.1 將上面的sin函數的簡潔版的代碼中,sin改成cos便可,顏色定義爲綠色=green。

4.2 代碼:簡潔版

#---導出模塊---  
  
import matplotlib.pyplot as plt  
  
import numpy as np  
  
#---畫正弦cos曲線---  
  
x = np.arange(-2*np.pi,2*np.pi,0.1)  
  
y = np.cos(x)  
  
#畫線  
  
plt.plot(x,y,color='green')  
  
plt.title('cos-s') #標題  
  
plt.legend(['cos']) #圖例,注意中括號  
  
plt.show()  #圖片展現

4.3 圖:cos-s-1

python的matplotlib的三角函數sin和cos的靜態做圖詳解

5.一個座標系展現sin和cos做圖法

5.1 代碼1:

#---導出模塊---  
  
import matplotlib.pyplot as plt  
  
import numpy as np  
  
#plt.figure() #能夠不要,採用默認  
  
#取值範圍-2π~2π,比較能展示sin和cos的特色  
  
#0.1~0.001,最好越小越好,線條越平滑  
  
x=np.arange(-2*np.pi,2*np.pi,0.1)  
  
y1=np.sin(x)  #正弦sin函數線條  
  
y2=np.cos(x)  #餘弦cos函數線條  
  
#繪製兩個圖形,須要繪製兩次  
  
#不設置顏色,採用默認的2種不一樣顏色,也能夠單獨設置顏色  
  
#本講解中sin設置藍色=blue,cos設置爲綠色=green  
  
plt.plot(x,y1,color='blue')  
  
plt.plot(x,y2,color='green')  
  
#增長標題  
  
plt.title('x‘sin and cos')  
  
#增長圖例  
  
plt.legend(['y=sinx','y=cosx'])  
  
#增長x軸和y軸標籤名  
  
plt.xlabel('x-v')  
  
plt.ylabel('y-v',rotation=0)  
  
#圖片展現  
  
plt.show()

5.2 圖:sin-cos-s-1

python的matplotlib的三角函數sin和cos的靜態做圖詳解

5.3 升級版,代碼:

#---導出模塊---  
  
import numpy as np  
  
from matplotlib import pyplot as plt  
  
#---sin和cos的座標值定義---  
  
#---注意np的arrange和linspace的含義,在這裏區別不大  
  
##在-np.pi~np.pi之間選擇256個等差數  
  
#x = np.linspace(-2*np.pi, 2*np.pi, 512, endpoint=True)  
  
x =np.arange(-2*np.pi,2*np.pi,0.001)  
  
#y1=sin,y2=cos  
  
y1, y2 = np.sin(x), np.cos(x)  
  
#定義畫布大小,不設置就是默認  
  
#plt.figure(figsize=(10, 7))#取出一張10*7的白紙  
  
#畫sin和cos,自定義顏色blue和green,label="sin",label="cos"  
  
plt.plot(x, y1, "-", color='blue',lw=2, aa=False, ms=50)#設置線寬5 aa關閉抗鋸齒 默認開啓  
  
plt.plot(x, y2, "-", color='green',lw=2, aa=True)#默認線寬10,不設置就是默認  
  
#去掉就是默認  
  
#自定義刻度法,取最大值×1.2  
  
plt.xlim(x.min() * 1.2, x.max() * 1.2)#橫座標範圍  
  
plt.ylim(y1.min() * 1.2, y1.max() * 1.2)#縱座標範圍  
  
plt.xticks([0, x.max(), x.min()], [0, r"$\pi$", "$-\pi$"])#橫座標刻度  
  
plt.yticks([y1.min(), y1.max()])#縱座標刻度  
  
#圖例個性設置,自定義字體大小,位置默認是最佳,顯示內容是label內容  
  
#也能夠這樣  
  
plt.legend(['sin','cos'],fontsize=20)  
  
#plt.legend(fontsize=20) #如何這樣的話,那麼須要在上面加入label  
  
#標註設置  
  
t = 2 / 3 * np.pi  
  
#標註藍色點垂直線  
  
plt.plot([t, t], [0, np.sin(t)], "--", color="b")  
  
plt.scatter([t], [np.sin(t)], s=100)#散點圖  
  
#標註紅色點垂直線  
  
plt.plot([t, t], [0, np.cos(t)], "--", color="r")  
  
plt.scatter([t], [np.cos(t)], s=100)#散點圖  
  
#設置標註  
  
plt.annotate(r"$\sin(\frac{2\pi}{3})=\frac{\sqrt{3}}{2}$",  
  
             (t, np.sin(t)),  
  
             xycoords="data", textcoords="offset pixels",  
  
             xytext=(20, 20),  
  
             arrowprops=dict(arrowstyle="->" , connectionstyle="arc3,rad=.2"),#箭頭屬性  
  
             fontsize=16,#zi字體大小  
  
            )  
  
#設置標註  
  
plt.annotate(r"$\cos(\frac{2\pi}{3})=-\frac{1}{2}$",  
  
             (t, np.cos(t)),  
  
             xycoords="data", textcoords="offset pixels",  
  
             xytext=(20, 0),  
  
             arrowprops=dict(arrowstyle="->" , connectionstyle="arc3,rad=.2"),#箭頭屬性  
  
             fontsize=16,#zi字體大小  
  
            )  
  
#ax定義和邊框線,也能夠註釋掉,那就是默認  
  
ax = plt.gca()  
  
#去除圖片的四邊黑框線  
  
ax.spines["bottom"].set_position(("data", 0))  
  
ax.spines["left"].set_position(("data", 0))  
  
ax.spines["top"].set_color("none")  
  
ax.spines["right"].set_color("none")  
  
#圖片展現  
  
plt.show()

5.4 圖:sin-cos-s-2

python的matplotlib的三角函數sin和cos的靜態做圖詳解

5.5 豪華版代碼:

#---導出模塊---  
  
import numpy as np  
  
import matplotlib.pyplot as plt  
  
#---函數定義和畫函數線---  
  
#x座標的取值範圍:linspace是等差數列法  
  
x=np.linspace(-2*np.pi,2*np.pi,256,endpoint=True)  
  
#arrange法,由於0.001取值很小很平滑,因此可能☆就不能顯示  
  
#x =np.arange(-2*np.pi,2*np.pi,0.001)  
  
#定義餘弦函數正弦函數,一行定義法,也能夠y1和y2  
  
c,s=np.cos(x),np.sin(x)  
  
#畫三角函數曲線,以x爲橫座標,以s和c爲縱座標  
  
#plt.plot(x,s,"r*",label="sin-s-3")  #r*=red的*,至關於color='red',linestyle="*"  
  
plt.plot(x,s,color="blue",label="sin-s-3")  
  
plt.plot(x,c,color="green",linestyle="-",label="cos-s-3",alpha=0.5)  
  
ax=plt.gca()  
  
#去除圖片的四邊的邊框黑線  
  
ax.spines["right"].set_color("none")  
  
ax.spines["top"].set_color("none")  
  
ax.spines["left"].set_position(("data",0))  
  
ax.spines["bottom"].set_position(("data",0))  
  
#自定義標籤文字  
  
#x軸標籤依次是:,若是註釋掉就是-6~6,間隔2  
  
plt.xticks([-np.pi,-np.pi/2,0,np.pi/2,np.pi],[r'$-\pi$',r'$-\pi/2$',r'$0$',r'$+\pi/2$',r'$+\pi$'])  
  
#y軸的標籤,取值從-1~1,分5個等差  
  
plt.yticks(np.linspace(-1,1,5,endpoint=True))  
  
#默認標籤位置也是這樣,因此能夠不要,註釋掉  
  
#ax.xaxis.set_ticks_position("bottom")  #線下  
  
#ax.yaxis.set_ticks_position("left")  #線左邊  
  
'''  
  
#若是上面的2行註釋掉,那麼下面的存在乎義不大,也能夠註釋掉  
  
for label in ax.get_xticklabels()+ax.get_yticklabels():  
  
    label.set_fontsize(16)  
  
    label.set_bbox(dict(facecolor="white",edgecolor="None",alpha=0.2))  
  
'''  
  
#固定面積顯示  
  
plt.fill_between(x,np.abs(x)<0.5,c,c>0.5,color="yellow",alpha=0.25)  
  
#固定垂直虛線標註  
  
t=1  
  
plt.plot([t,t],[0,np.cos(t)],"y",linewidth=3,linestyle="--")  
  
#箭頭標註  
  
plt.annotate("cos(1)",xy=(t,np.cos(1)),xycoords="data",xytext=(+10,+30),  
  
textcoords="offset points",arrowprops=dict(arrowstyle="->",connectionstyle="arc3,rad=.2"))  
  
#增長標題  
  
plt.title("sin-cos-s-3")  
  
#plt.figure(1)  #能夠註釋掉,採用默認  
  
#圖例顯示,loc表明位置,這是固定左上角位置,默認best,最佳位置,能夠自動調節空擋顯示  
  
plt.legend(loc="upper left")  
  
#顯示網格,能夠註釋掉  
  
plt.grid()  
  
#顯示圖形  
  
plt.show()

5.6 圖:sin-cos-s-3

python的matplotlib的三角函數sin和cos的靜態做圖詳解

6 sin和cos的佈局

6.1 ggplot法,代碼:

#導出模塊  
  
import numpy as np  
  
import matplotlib.pyplot as plt  
  
#畫布採用默認大小  
  
fig=plt.figure()   
  
#採用ggplot法佈局三個圖片位置  
  
plt.style.use('ggplot')  
  
left,width = 0.05,0.95  
  
#位置佈局一:上面一行2個  
  
rect_sin=[left,0.55,0.45,0.3]  #第1個圖  
  
rect_cos=[left+0.5,0.55,0.45,0.3]  #第2個圖  
  
'''  
  
#位置佈局二:上下2個,靠左  
  
rect_sin=[left,0.55,0.45,0.3]  #第1個圖  
  
rect_cos=[left,0.1,0.45,0.3]   #第2個圖  
  
'''  
  
#定義x和y座標  
  
#x=np.linspace(-10,10) #未設置等分,則線條不平滑  
  
#x=np.linspace(-10,10,260)  #260等分,數值越大,曲線的線條越平滑  
  
x=np.arange(-10,10,0.001)  #arange則是0.001,越小越平滑  
  
#y1=np.sin(x)  
  
#y1=np.cos(x)  
  
#---第1個圖---正弦sin  
  
ax_sin = fig.add_axes(rect_sin)  
  
ax_sin.plot(x,np.sin(x),color='blue')  
  
ax_sin.set_title('Sin-s-ggplot')  
  
#---第2個圖---餘弦cos  
  
ax_cos=fig.add_axes(rect_cos)  
  
ax_cos.plot(x,np.cos(x),color='green')  
  
ax_cos.set_title('Cos-s-ggplot')  
  
#圖片展現  
  
plt.show()

圖:2lf-ggplot法

python的matplotlib的三角函數sin和cos的靜態做圖詳解

2ud-ggplot法圖

python的matplotlib的三角函數sin和cos的靜態做圖詳解

6.2 subplot法

代碼:  
  
#---導出模塊---  
  
import matplotlib.pyplot as plt  
  
import numpy as np  
  
#---定義畫布大小和分辨率---  
  
fig = plt.figure(figsize=(8,8),dpi=80)  
  
#採用subplot法,分四個圖  
  
#2,2,1=2行2列,第一個,從左邊數  
  
# 畫正弦曲線  
  
fig.add_subplot(2,2,1)  
  
x = np.arange(-2*np.pi,2*np.pi,0.001)  
  
y = np.sin(x)  
  
plt.plot(x,y,color='blue')  
  
plt.title('Sin-s-subplot')  
  
plt.legend(['sin'])  
  
#方法一:第1行1和2並列  
  
# 餘弦,2,2,2=2行2列,第2個,從左邊數  
  
#fig.add_subplot(2,2,2)  
  
#方法二:第1行1和第2行1,上下  
  
# 餘弦,2,2,2=2行2列,第2個,從左邊數  
  
fig.add_subplot(2,2,3)  
  
x = np.arange(-2*np.pi,2*np.pi,0.001)  
  
y = np.cos(x)  
  
plt.plot(x,y,color='green')  
  
plt.title('Cos-s-subplot')  
  
plt.legend(['cos'])  
  
plt.show()

6.3 圖略,做圖位置如上面的ggplot法。

7.小結:

7.1 學習sin和cos有沒有用,固然有,在畫圓中須要sin和cos來定位圓的座標。基礎必定要打好。

7.2 順帶複習matplotlib的相關做圖。

**7.3 我本身整理好,也分享出來,值得收藏。**感謝做者分享-http://bjbsair.com/2020-04-07/tech-info/30778.html

1.說明:

1.1 推薦指數:★★★

1.2 基礎知識:三角函數sin和cos,在計算機編程中,尤爲python中,應用到畫圓很重要。

1.3 用通俗易懂的方式,來說解,三角函數的matplotlib做圖,靜態圖,爲之後的畫圓打基礎。

1.4 爲了突出重點,暫時不提中文設置。複習matplotlib做圖的基礎知識,深刻了解sin和cos的關係。

1.5 適合學習人羣:小白、學生、老師、愛好做圖人員和計算機編程人員閱讀。

python的matplotlib的三角函數sin和cos的靜態做圖詳解

2.理論:

好比:

r = 1 #假設半徑爲1  
  
# 0~2π(一圈,一個π是半圈,步長=0.01,步長越小圖線越平滑)  
  
a = np.arange(0,2*np.pi,0.01)   
  
#圓的座標點與三角函數的關係  
  
x = r*np.cos(a)  
  
y = r*np.sin(a)  
  
#畫圓  
  
plt.plot(x,y,color='red')

3.sin正弦函數

3.1 靜態:sin-s

3.2 代碼:簡潔版

#---導出模塊---  
  
import matplotlib.pyplot as plt  
  
import numpy as np  
  
#定義座標關係  
  
x = np.arange(-2*np.pi,2*np.pi,0.1)  
  
y = np.sin(x)  
  
#畫線  
  
plt.plot(x,y,color='blue')  
  
plt.title('sin-s') #標題  
  
plt.legend(['sin']) #圖例,注意中括號  
  
plt.show()  #圖片展現

3.3 圖

sin-s-1

python的matplotlib的三角函數sin和cos的靜態做圖詳解

3.4 代碼:註釋版

#---導出模塊---  
  
import matplotlib.pyplot as plt  
  
import numpy as np  
  
#---定義畫布大小和分辨率  
  
#fig = plt.figure(figsize=(8,8),dpi=80) #自定義  
  
#fig = plt.figure() #這是默認的,也能夠這一行不設,就是默認  
  
#---畫正弦sin曲線---  
  
#0.001越小,線條越平滑好看  
  
#從-2*np.pi到2*np.pi=就是2個2π,4個波=2個波峯+2個波底  
  
#x = np.arange(-2*np.pi,2*np.pi,0.001)  
  
x = np.arange(-2*np.pi,2*np.pi,0.1)  
  
y = np.sin(x)  
  
#畫線  
  
plt.plot(x,y,color='blue')  
  
#默認顯示2個2π,4個波=2個波峯+2個波底  
  
#plt.ylim(-2, 2)  
  
#plt.xlim(-2, 2)  
  
plt.title('sin-s') #標題  
  
plt.legend(['sin']) #圖例,注意中括號  
  
plt.show()  #圖片展現

4.cos餘弦函數:

4.1 將上面的sin函數的簡潔版的代碼中,sin改成cos便可,顏色定義爲綠色=green。

4.2 代碼:簡潔版

#---導出模塊---  
  
import matplotlib.pyplot as plt  
  
import numpy as np  
  
#---畫正弦cos曲線---  
  
x = np.arange(-2*np.pi,2*np.pi,0.1)  
  
y = np.cos(x)  
  
#畫線  
  
plt.plot(x,y,color='green')  
  
plt.title('cos-s') #標題  
  
plt.legend(['cos']) #圖例,注意中括號  
  
plt.show()  #圖片展現

4.3 圖:cos-s-1

python的matplotlib的三角函數sin和cos的靜態做圖詳解

5.一個座標系展現sin和cos做圖法

5.1 代碼1:

#---導出模塊---  
  
import matplotlib.pyplot as plt  
  
import numpy as np  
  
#plt.figure() #能夠不要,採用默認  
  
#取值範圍-2π~2π,比較能展示sin和cos的特色  
  
#0.1~0.001,最好越小越好,線條越平滑  
  
x=np.arange(-2*np.pi,2*np.pi,0.1)  
  
y1=np.sin(x)  #正弦sin函數線條  
  
y2=np.cos(x)  #餘弦cos函數線條  
  
#繪製兩個圖形,須要繪製兩次  
  
#不設置顏色,採用默認的2種不一樣顏色,也能夠單獨設置顏色  
  
#本講解中sin設置藍色=blue,cos設置爲綠色=green  
  
plt.plot(x,y1,color='blue')  
  
plt.plot(x,y2,color='green')  
  
#增長標題  
  
plt.title('x‘sin and cos')  
  
#增長圖例  
  
plt.legend(['y=sinx','y=cosx'])  
  
#增長x軸和y軸標籤名  
  
plt.xlabel('x-v')  
  
plt.ylabel('y-v',rotation=0)  
  
#圖片展現  
  
plt.show()

5.2 圖:sin-cos-s-1

python的matplotlib的三角函數sin和cos的靜態做圖詳解

5.3 升級版,代碼:

#---導出模塊---  
  
import numpy as np  
  
from matplotlib import pyplot as plt  
  
#---sin和cos的座標值定義---  
  
#---注意np的arrange和linspace的含義,在這裏區別不大  
  
##在-np.pi~np.pi之間選擇256個等差數  
  
#x = np.linspace(-2*np.pi, 2*np.pi, 512, endpoint=True)  
  
x =np.arange(-2*np.pi,2*np.pi,0.001)  
  
#y1=sin,y2=cos  
  
y1, y2 = np.sin(x), np.cos(x)  
  
#定義畫布大小,不設置就是默認  
  
#plt.figure(figsize=(10, 7))#取出一張10*7的白紙  
  
#畫sin和cos,自定義顏色blue和green,label="sin",label="cos"  
  
plt.plot(x, y1, "-", color='blue',lw=2, aa=False, ms=50)#設置線寬5 aa關閉抗鋸齒 默認開啓  
  
plt.plot(x, y2, "-", color='green',lw=2, aa=True)#默認線寬10,不設置就是默認  
  
#去掉就是默認  
  
#自定義刻度法,取最大值×1.2  
  
plt.xlim(x.min() * 1.2, x.max() * 1.2)#橫座標範圍  
  
plt.ylim(y1.min() * 1.2, y1.max() * 1.2)#縱座標範圍  
  
plt.xticks([0, x.max(), x.min()], [0, r"$\pi$", "$-\pi$"])#橫座標刻度  
  
plt.yticks([y1.min(), y1.max()])#縱座標刻度  
  
#圖例個性設置,自定義字體大小,位置默認是最佳,顯示內容是label內容  
  
#也能夠這樣  
  
plt.legend(['sin','cos'],fontsize=20)  
  
#plt.legend(fontsize=20) #如何這樣的話,那麼須要在上面加入label  
  
#標註設置  
  
t = 2 / 3 * np.pi  
  
#標註藍色點垂直線  
  
plt.plot([t, t], [0, np.sin(t)], "--", color="b")  
  
plt.scatter([t], [np.sin(t)], s=100)#散點圖  
  
#標註紅色點垂直線  
  
plt.plot([t, t], [0, np.cos(t)], "--", color="r")  
  
plt.scatter([t], [np.cos(t)], s=100)#散點圖  
  
#設置標註  
  
plt.annotate(r"$\sin(\frac{2\pi}{3})=\frac{\sqrt{3}}{2}$",  
  
             (t, np.sin(t)),  
  
             xycoords="data", textcoords="offset pixels",  
  
             xytext=(20, 20),  
  
             arrowprops=dict(arrowstyle="->" , connectionstyle="arc3,rad=.2"),#箭頭屬性  
  
             fontsize=16,#zi字體大小  
  
            )  
  
#設置標註  
  
plt.annotate(r"$\cos(\frac{2\pi}{3})=-\frac{1}{2}$",  
  
             (t, np.cos(t)),  
  
             xycoords="data", textcoords="offset pixels",  
  
             xytext=(20, 0),  
  
             arrowprops=dict(arrowstyle="->" , connectionstyle="arc3,rad=.2"),#箭頭屬性  
  
             fontsize=16,#zi字體大小  
  
            )  
  
#ax定義和邊框線,也能夠註釋掉,那就是默認  
  
ax = plt.gca()  
  
#去除圖片的四邊黑框線  
  
ax.spines["bottom"].set_position(("data", 0))  
  
ax.spines["left"].set_position(("data", 0))  
  
ax.spines["top"].set_color("none")  
  
ax.spines["right"].set_color("none")  
  
#圖片展現  
  
plt.show()

5.4 圖:sin-cos-s-2

python的matplotlib的三角函數sin和cos的靜態做圖詳解

5.5 豪華版代碼:

#---導出模塊---  
  
import numpy as np  
  
import matplotlib.pyplot as plt  
  
#---函數定義和畫函數線---  
  
#x座標的取值範圍:linspace是等差數列法  
  
x=np.linspace(-2*np.pi,2*np.pi,256,endpoint=True)  
  
#arrange法,由於0.001取值很小很平滑,因此可能☆就不能顯示  
  
#x =np.arange(-2*np.pi,2*np.pi,0.001)  
  
#定義餘弦函數正弦函數,一行定義法,也能夠y1和y2  
  
c,s=np.cos(x),np.sin(x)  
  
#畫三角函數曲線,以x爲橫座標,以s和c爲縱座標  
  
#plt.plot(x,s,"r*",label="sin-s-3")  #r*=red的*,至關於color='red',linestyle="*"  
  
plt.plot(x,s,color="blue",label="sin-s-3")  
  
plt.plot(x,c,color="green",linestyle="-",label="cos-s-3",alpha=0.5)  
  
ax=plt.gca()  
  
#去除圖片的四邊的邊框黑線  
  
ax.spines["right"].set_color("none")  
  
ax.spines["top"].set_color("none")  
  
ax.spines["left"].set_position(("data",0))  
  
ax.spines["bottom"].set_position(("data",0))  
  
#自定義標籤文字  
  
#x軸標籤依次是:,若是註釋掉就是-6~6,間隔2  
  
plt.xticks([-np.pi,-np.pi/2,0,np.pi/2,np.pi],[r'$-\pi$',r'$-\pi/2$',r'$0$',r'$+\pi/2$',r'$+\pi$'])  
  
#y軸的標籤,取值從-1~1,分5個等差  
  
plt.yticks(np.linspace(-1,1,5,endpoint=True))  
  
#默認標籤位置也是這樣,因此能夠不要,註釋掉  
  
#ax.xaxis.set_ticks_position("bottom")  #線下  
  
#ax.yaxis.set_ticks_position("left")  #線左邊  
  
'''  
  
#若是上面的2行註釋掉,那麼下面的存在乎義不大,也能夠註釋掉  
  
for label in ax.get_xticklabels()+ax.get_yticklabels():  
  
    label.set_fontsize(16)  
  
    label.set_bbox(dict(facecolor="white",edgecolor="None",alpha=0.2))  
  
'''  
  
#固定面積顯示  
  
plt.fill_between(x,np.abs(x)<0.5,c,c>0.5,color="yellow",alpha=0.25)  
  
#固定垂直虛線標註  
  
t=1  
  
plt.plot([t,t],[0,np.cos(t)],"y",linewidth=3,linestyle="--")  
  
#箭頭標註  
  
plt.annotate("cos(1)",xy=(t,np.cos(1)),xycoords="data",xytext=(+10,+30),  
  
textcoords="offset points",arrowprops=dict(arrowstyle="->",connectionstyle="arc3,rad=.2"))  
  
#增長標題  
  
plt.title("sin-cos-s-3")  
  
#plt.figure(1)  #能夠註釋掉,採用默認  
  
#圖例顯示,loc表明位置,這是固定左上角位置,默認best,最佳位置,能夠自動調節空擋顯示  
  
plt.legend(loc="upper left")  
  
#顯示網格,能夠註釋掉  
  
plt.grid()  
  
#顯示圖形  
  
plt.show()

5.6 圖:sin-cos-s-3

python的matplotlib的三角函數sin和cos的靜態做圖詳解

6 sin和cos的佈局

6.1 ggplot法,代碼:

#導出模塊  
  
import numpy as np  
  
import matplotlib.pyplot as plt  
  
#畫布採用默認大小  
  
fig=plt.figure()   
  
#採用ggplot法佈局三個圖片位置  
  
plt.style.use('ggplot')  
  
left,width = 0.05,0.95  
  
#位置佈局一:上面一行2個  
  
rect_sin=[left,0.55,0.45,0.3]  #第1個圖  
  
rect_cos=[left+0.5,0.55,0.45,0.3]  #第2個圖  
  
'''  
  
#位置佈局二:上下2個,靠左  
  
rect_sin=[left,0.55,0.45,0.3]  #第1個圖  
  
rect_cos=[left,0.1,0.45,0.3]   #第2個圖  
  
'''  
  
#定義x和y座標  
  
#x=np.linspace(-10,10) #未設置等分,則線條不平滑  
  
#x=np.linspace(-10,10,260)  #260等分,數值越大,曲線的線條越平滑  
  
x=np.arange(-10,10,0.001)  #arange則是0.001,越小越平滑  
  
#y1=np.sin(x)  
  
#y1=np.cos(x)  
  
#---第1個圖---正弦sin  
  
ax_sin = fig.add_axes(rect_sin)  
  
ax_sin.plot(x,np.sin(x),color='blue')  
  
ax_sin.set_title('Sin-s-ggplot')  
  
#---第2個圖---餘弦cos  
  
ax_cos=fig.add_axes(rect_cos)  
  
ax_cos.plot(x,np.cos(x),color='green')  
  
ax_cos.set_title('Cos-s-ggplot')  
  
#圖片展現  
  
plt.show()

圖:2lf-ggplot法

python的matplotlib的三角函數sin和cos的靜態做圖詳解

2ud-ggplot法圖

python的matplotlib的三角函數sin和cos的靜態做圖詳解

6.2 subplot法

代碼:  
  
#---導出模塊---  
  
import matplotlib.pyplot as plt  
  
import numpy as np  
  
#---定義畫布大小和分辨率---  
  
fig = plt.figure(figsize=(8,8),dpi=80)  
  
#採用subplot法,分四個圖  
  
#2,2,1=2行2列,第一個,從左邊數  
  
# 畫正弦曲線  
  
fig.add_subplot(2,2,1)  
  
x = np.arange(-2*np.pi,2*np.pi,0.001)  
  
y = np.sin(x)  
  
plt.plot(x,y,color='blue')  
  
plt.title('Sin-s-subplot')  
  
plt.legend(['sin'])  
  
#方法一:第1行1和2並列  
  
# 餘弦,2,2,2=2行2列,第2個,從左邊數  
  
#fig.add_subplot(2,2,2)  
  
#方法二:第1行1和第2行1,上下  
  
# 餘弦,2,2,2=2行2列,第2個,從左邊數  
  
fig.add_subplot(2,2,3)  
  
x = np.arange(-2*np.pi,2*np.pi,0.001)  
  
y = np.cos(x)  
  
plt.plot(x,y,color='green')  
  
plt.title('Cos-s-subplot')  
  
plt.legend(['cos'])  
  
plt.show()

6.3 圖略,做圖位置如上面的ggplot法。

7.小結:

7.1 學習sin和cos有沒有用,固然有,在畫圓中須要sin和cos來定位圓的座標。基礎必定要打好。

7.2 順帶複習matplotlib的相關做圖。

**7.3 我本身整理好,也分享出來,值得收藏。**感謝做者分享-http://bjbsair.com/2020-04-07/tech-info/30778.html

1.說明:

1.1 推薦指數:★★★

1.2 基礎知識:三角函數sin和cos,在計算機編程中,尤爲python中,應用到畫圓很重要。

1.3 用通俗易懂的方式,來說解,三角函數的matplotlib做圖,靜態圖,爲之後的畫圓打基礎。

1.4 爲了突出重點,暫時不提中文設置。複習matplotlib做圖的基礎知識,深刻了解sin和cos的關係。

1.5 適合學習人羣:小白、學生、老師、愛好做圖人員和計算機編程人員閱讀。

python的matplotlib的三角函數sin和cos的靜態做圖詳解

2.理論:

好比:

r = 1 #假設半徑爲1  
  
# 0~2π(一圈,一個π是半圈,步長=0.01,步長越小圖線越平滑)  
  
a = np.arange(0,2*np.pi,0.01)   
  
#圓的座標點與三角函數的關係  
  
x = r*np.cos(a)  
  
y = r*np.sin(a)  
  
#畫圓  
  
plt.plot(x,y,color='red')

3.sin正弦函數

3.1 靜態:sin-s

3.2 代碼:簡潔版

#---導出模塊---  
  
import matplotlib.pyplot as plt  
  
import numpy as np  
  
#定義座標關係  
  
x = np.arange(-2*np.pi,2*np.pi,0.1)  
  
y = np.sin(x)  
  
#畫線  
  
plt.plot(x,y,color='blue')  
  
plt.title('sin-s') #標題  
  
plt.legend(['sin']) #圖例,注意中括號  
  
plt.show()  #圖片展現

3.3 圖

sin-s-1

python的matplotlib的三角函數sin和cos的靜態做圖詳解

3.4 代碼:註釋版

#---導出模塊---  
  
import matplotlib.pyplot as plt  
  
import numpy as np  
  
#---定義畫布大小和分辨率  
  
#fig = plt.figure(figsize=(8,8),dpi=80) #自定義  
  
#fig = plt.figure() #這是默認的,也能夠這一行不設,就是默認  
  
#---畫正弦sin曲線---  
  
#0.001越小,線條越平滑好看  
  
#從-2*np.pi到2*np.pi=就是2個2π,4個波=2個波峯+2個波底  
  
#x = np.arange(-2*np.pi,2*np.pi,0.001)  
  
x = np.arange(-2*np.pi,2*np.pi,0.1)  
  
y = np.sin(x)  
  
#畫線  
  
plt.plot(x,y,color='blue')  
  
#默認顯示2個2π,4個波=2個波峯+2個波底  
  
#plt.ylim(-2, 2)  
  
#plt.xlim(-2, 2)  
  
plt.title('sin-s') #標題  
  
plt.legend(['sin']) #圖例,注意中括號  
  
plt.show()  #圖片展現

4.cos餘弦函數:

4.1 將上面的sin函數的簡潔版的代碼中,sin改成cos便可,顏色定義爲綠色=green。

4.2 代碼:簡潔版

#---導出模塊---  
  
import matplotlib.pyplot as plt  
  
import numpy as np  
  
#---畫正弦cos曲線---  
  
x = np.arange(-2*np.pi,2*np.pi,0.1)  
  
y = np.cos(x)  
  
#畫線  
  
plt.plot(x,y,color='green')  
  
plt.title('cos-s') #標題  
  
plt.legend(['cos']) #圖例,注意中括號  
  
plt.show()  #圖片展現

4.3 圖:cos-s-1

python的matplotlib的三角函數sin和cos的靜態做圖詳解

5.一個座標系展現sin和cos做圖法

5.1 代碼1:

#---導出模塊---  
  
import matplotlib.pyplot as plt  
  
import numpy as np  
  
#plt.figure() #能夠不要,採用默認  
  
#取值範圍-2π~2π,比較能展示sin和cos的特色  
  
#0.1~0.001,最好越小越好,線條越平滑  
  
x=np.arange(-2*np.pi,2*np.pi,0.1)  
  
y1=np.sin(x)  #正弦sin函數線條  
  
y2=np.cos(x)  #餘弦cos函數線條  
  
#繪製兩個圖形,須要繪製兩次  
  
#不設置顏色,採用默認的2種不一樣顏色,也能夠單獨設置顏色  
  
#本講解中sin設置藍色=blue,cos設置爲綠色=green  
  
plt.plot(x,y1,color='blue')  
  
plt.plot(x,y2,color='green')  
  
#增長標題  
  
plt.title('x‘sin and cos')  
  
#增長圖例  
  
plt.legend(['y=sinx','y=cosx'])  
  
#增長x軸和y軸標籤名  
  
plt.xlabel('x-v')  
  
plt.ylabel('y-v',rotation=0)  
  
#圖片展現  
  
plt.show()

5.2 圖:sin-cos-s-1

python的matplotlib的三角函數sin和cos的靜態做圖詳解

5.3 升級版,代碼:

#---導出模塊---  
  
import numpy as np  
  
from matplotlib import pyplot as plt  
  
#---sin和cos的座標值定義---  
  
#---注意np的arrange和linspace的含義,在這裏區別不大  
  
##在-np.pi~np.pi之間選擇256個等差數  
  
#x = np.linspace(-2*np.pi, 2*np.pi, 512, endpoint=True)  
  
x =np.arange(-2*np.pi,2*np.pi,0.001)  
  
#y1=sin,y2=cos  
  
y1, y2 = np.sin(x), np.cos(x)  
  
#定義畫布大小,不設置就是默認  
  
#plt.figure(figsize=(10, 7))#取出一張10*7的白紙  
  
#畫sin和cos,自定義顏色blue和green,label="sin",label="cos"  
  
plt.plot(x, y1, "-", color='blue',lw=2, aa=False, ms=50)#設置線寬5 aa關閉抗鋸齒 默認開啓  
  
plt.plot(x, y2, "-", color='green',lw=2, aa=True)#默認線寬10,不設置就是默認  
  
#去掉就是默認  
  
#自定義刻度法,取最大值×1.2  
  
plt.xlim(x.min() * 1.2, x.max() * 1.2)#橫座標範圍  
  
plt.ylim(y1.min() * 1.2, y1.max() * 1.2)#縱座標範圍  
  
plt.xticks([0, x.max(), x.min()], [0, r"$\pi$", "$-\pi$"])#橫座標刻度  
  
plt.yticks([y1.min(), y1.max()])#縱座標刻度  
  
#圖例個性設置,自定義字體大小,位置默認是最佳,顯示內容是label內容  
  
#也能夠這樣  
  
plt.legend(['sin','cos'],fontsize=20)  
  
#plt.legend(fontsize=20) #如何這樣的話,那麼須要在上面加入label  
  
#標註設置  
  
t = 2 / 3 * np.pi  
  
#標註藍色點垂直線  
  
plt.plot([t, t], [0, np.sin(t)], "--", color="b")  
  
plt.scatter([t], [np.sin(t)], s=100)#散點圖  
  
#標註紅色點垂直線  
  
plt.plot([t, t], [0, np.cos(t)], "--", color="r")  
  
plt.scatter([t], [np.cos(t)], s=100)#散點圖  
  
#設置標註  
  
plt.annotate(r"$\sin(\frac{2\pi}{3})=\frac{\sqrt{3}}{2}$",  
  
             (t, np.sin(t)),  
  
             xycoords="data", textcoords="offset pixels",  
  
             xytext=(20, 20),  
  
             arrowprops=dict(arrowstyle="->" , connectionstyle="arc3,rad=.2"),#箭頭屬性  
  
             fontsize=16,#zi字體大小  
  
            )  
  
#設置標註  
  
plt.annotate(r"$\cos(\frac{2\pi}{3})=-\frac{1}{2}$",  
  
             (t, np.cos(t)),  
  
             xycoords="data", textcoords="offset pixels",  
  
             xytext=(20, 0),  
  
             arrowprops=dict(arrowstyle="->" , connectionstyle="arc3,rad=.2"),#箭頭屬性  
  
             fontsize=16,#zi字體大小  
  
            )  
  
#ax定義和邊框線,也能夠註釋掉,那就是默認  
  
ax = plt.gca()  
  
#去除圖片的四邊黑框線  
  
ax.spines["bottom"].set_position(("data", 0))  
  
ax.spines["left"].set_position(("data", 0))  
  
ax.spines["top"].set_color("none")  
  
ax.spines["right"].set_color("none")  
  
#圖片展現  
  
plt.show()

5.4 圖:sin-cos-s-2

python的matplotlib的三角函數sin和cos的靜態做圖詳解

5.5 豪華版代碼:

#---導出模塊---  
  
import numpy as np  
  
import matplotlib.pyplot as plt  
  
#---函數定義和畫函數線---  
  
#x座標的取值範圍:linspace是等差數列法  
  
x=np.linspace(-2*np.pi,2*np.pi,256,endpoint=True)  
  
#arrange法,由於0.001取值很小很平滑,因此可能☆就不能顯示  
  
#x =np.arange(-2*np.pi,2*np.pi,0.001)  
  
#定義餘弦函數正弦函數,一行定義法,也能夠y1和y2  
  
c,s=np.cos(x),np.sin(x)  
  
#畫三角函數曲線,以x爲橫座標,以s和c爲縱座標  
  
#plt.plot(x,s,"r*",label="sin-s-3")  #r*=red的*,至關於color='red',linestyle="*"  
  
plt.plot(x,s,color="blue",label="sin-s-3")  
  
plt.plot(x,c,color="green",linestyle="-",label="cos-s-3",alpha=0.5)  
  
ax=plt.gca()  
  
#去除圖片的四邊的邊框黑線  
  
ax.spines["right"].set_color("none")  
  
ax.spines["top"].set_color("none")  
  
ax.spines["left"].set_position(("data",0))  
  
ax.spines["bottom"].set_position(("data",0))  
  
#自定義標籤文字  
  
#x軸標籤依次是:,若是註釋掉就是-6~6,間隔2  
  
plt.xticks([-np.pi,-np.pi/2,0,np.pi/2,np.pi],[r'$-\pi$',r'$-\pi/2$',r'$0$',r'$+\pi/2$',r'$+\pi$'])  
  
#y軸的標籤,取值從-1~1,分5個等差  
  
plt.yticks(np.linspace(-1,1,5,endpoint=True))  
  
#默認標籤位置也是這樣,因此能夠不要,註釋掉  
  
#ax.xaxis.set_ticks_position("bottom")  #線下  
  
#ax.yaxis.set_ticks_position("left")  #線左邊  
  
'''  
  
#若是上面的2行註釋掉,那麼下面的存在乎義不大,也能夠註釋掉  
  
for label in ax.get_xticklabels()+ax.get_yticklabels():  
  
    label.set_fontsize(16)  
  
    label.set_bbox(dict(facecolor="white",edgecolor="None",alpha=0.2))  
  
'''  
  
#固定面積顯示  
  
plt.fill_between(x,np.abs(x)<0.5,c,c>0.5,color="yellow",alpha=0.25)  
  
#固定垂直虛線標註  
  
t=1  
  
plt.plot([t,t],[0,np.cos(t)],"y",linewidth=3,linestyle="--")  
  
#箭頭標註  
  
plt.annotate("cos(1)",xy=(t,np.cos(1)),xycoords="data",xytext=(+10,+30),  
  
textcoords="offset points",arrowprops=dict(arrowstyle="->",connectionstyle="arc3,rad=.2"))  
  
#增長標題  
  
plt.title("sin-cos-s-3")  
  
#plt.figure(1)  #能夠註釋掉,採用默認  
  
#圖例顯示,loc表明位置,這是固定左上角位置,默認best,最佳位置,能夠自動調節空擋顯示  
  
plt.legend(loc="upper left")  
  
#顯示網格,能夠註釋掉  
  
plt.grid()  
  
#顯示圖形  
  
plt.show()

5.6 圖:sin-cos-s-3

python的matplotlib的三角函數sin和cos的靜態做圖詳解

6 sin和cos的佈局

6.1 ggplot法,代碼:

#導出模塊  
  
import numpy as np  
  
import matplotlib.pyplot as plt  
  
#畫布採用默認大小  
  
fig=plt.figure()   
  
#採用ggplot法佈局三個圖片位置  
  
plt.style.use('ggplot')  
  
left,width = 0.05,0.95  
  
#位置佈局一:上面一行2個  
  
rect_sin=[left,0.55,0.45,0.3]  #第1個圖  
  
rect_cos=[left+0.5,0.55,0.45,0.3]  #第2個圖  
  
'''  
  
#位置佈局二:上下2個,靠左  
  
rect_sin=[left,0.55,0.45,0.3]  #第1個圖  
  
rect_cos=[left,0.1,0.45,0.3]   #第2個圖  
  
'''  
  
#定義x和y座標  
  
#x=np.linspace(-10,10) #未設置等分,則線條不平滑  
  
#x=np.linspace(-10,10,260)  #260等分,數值越大,曲線的線條越平滑  
  
x=np.arange(-10,10,0.001)  #arange則是0.001,越小越平滑  
  
#y1=np.sin(x)  
  
#y1=np.cos(x)  
  
#---第1個圖---正弦sin  
  
ax_sin = fig.add_axes(rect_sin)  
  
ax_sin.plot(x,np.sin(x),color='blue')  
  
ax_sin.set_title('Sin-s-ggplot')  
  
#---第2個圖---餘弦cos  
  
ax_cos=fig.add_axes(rect_cos)  
  
ax_cos.plot(x,np.cos(x),color='green')  
  
ax_cos.set_title('Cos-s-ggplot')  
  
#圖片展現  
  
plt.show()

圖:2lf-ggplot法

python的matplotlib的三角函數sin和cos的靜態做圖詳解

2ud-ggplot法圖

python的matplotlib的三角函數sin和cos的靜態做圖詳解

6.2 subplot法

代碼:  
  
#---導出模塊---  
  
import matplotlib.pyplot as plt  
  
import numpy as np  
  
#---定義畫布大小和分辨率---  
  
fig = plt.figure(figsize=(8,8),dpi=80)  
  
#採用subplot法,分四個圖  
  
#2,2,1=2行2列,第一個,從左邊數  
  
# 畫正弦曲線  
  
fig.add_subplot(2,2,1)  
  
x = np.arange(-2*np.pi,2*np.pi,0.001)  
  
y = np.sin(x)  
  
plt.plot(x,y,color='blue')  
  
plt.title('Sin-s-subplot')  
  
plt.legend(['sin'])  
  
#方法一:第1行1和2並列  
  
# 餘弦,2,2,2=2行2列,第2個,從左邊數  
  
#fig.add_subplot(2,2,2)  
  
#方法二:第1行1和第2行1,上下  
  
# 餘弦,2,2,2=2行2列,第2個,從左邊數  
  
fig.add_subplot(2,2,3)  
  
x = np.arange(-2*np.pi,2*np.pi,0.001)  
  
y = np.cos(x)  
  
plt.plot(x,y,color='green')  
  
plt.title('Cos-s-subplot')  
  
plt.legend(['cos'])  
  
plt.show()

6.3 圖略,做圖位置如上面的ggplot法。

7.小結:

7.1 學習sin和cos有沒有用,固然有,在畫圓中須要sin和cos來定位圓的座標。基礎必定要打好。

7.2 順帶複習matplotlib的相關做圖。

**7.3 我本身整理好,也分享出來,值得收藏。**感謝做者分享-http://bjbsair.com/2020-04-07/tech-info/30778.html

1.說明:

1.1 推薦指數:★★★

1.2 基礎知識:三角函數sin和cos,在計算機編程中,尤爲python中,應用到畫圓很重要。

1.3 用通俗易懂的方式,來說解,三角函數的matplotlib做圖,靜態圖,爲之後的畫圓打基礎。

1.4 爲了突出重點,暫時不提中文設置。複習matplotlib做圖的基礎知識,深刻了解sin和cos的關係。

1.5 適合學習人羣:小白、學生、老師、愛好做圖人員和計算機編程人員閱讀。

python的matplotlib的三角函數sin和cos的靜態做圖詳解

2.理論:

好比:

r = 1 #假設半徑爲1  
  
# 0~2π(一圈,一個π是半圈,步長=0.01,步長越小圖線越平滑)  
  
a = np.arange(0,2*np.pi,0.01)   
  
#圓的座標點與三角函數的關係  
  
x = r*np.cos(a)  
  
y = r*np.sin(a)  
  
#畫圓  
  
plt.plot(x,y,color='red')

3.sin正弦函數

3.1 靜態:sin-s

3.2 代碼:簡潔版

#---導出模塊---  
  
import matplotlib.pyplot as plt  
  
import numpy as np  
  
#定義座標關係  
  
x = np.arange(-2*np.pi,2*np.pi,0.1)  
  
y = np.sin(x)  
  
#畫線  
  
plt.plot(x,y,color='blue')  
  
plt.title('sin-s') #標題  
  
plt.legend(['sin']) #圖例,注意中括號  
  
plt.show()  #圖片展現

3.3 圖

sin-s-1

python的matplotlib的三角函數sin和cos的靜態做圖詳解

3.4 代碼:註釋版

#---導出模塊---  
  
import matplotlib.pyplot as plt  
  
import numpy as np  
  
#---定義畫布大小和分辨率  
  
#fig = plt.figure(figsize=(8,8),dpi=80) #自定義  
  
#fig = plt.figure() #這是默認的,也能夠這一行不設,就是默認  
  
#---畫正弦sin曲線---  
  
#0.001越小,線條越平滑好看  
  
#從-2*np.pi到2*np.pi=就是2個2π,4個波=2個波峯+2個波底  
  
#x = np.arange(-2*np.pi,2*np.pi,0.001)  
  
x = np.arange(-2*np.pi,2*np.pi,0.1)  
  
y = np.sin(x)  
  
#畫線  
  
plt.plot(x,y,color='blue')  
  
#默認顯示2個2π,4個波=2個波峯+2個波底  
  
#plt.ylim(-2, 2)  
  
#plt.xlim(-2, 2)  
  
plt.title('sin-s') #標題  
  
plt.legend(['sin']) #圖例,注意中括號  
  
plt.show()  #圖片展現

4.cos餘弦函數:

4.1 將上面的sin函數的簡潔版的代碼中,sin改成cos便可,顏色定義爲綠色=green。

4.2 代碼:簡潔版

#---導出模塊---  
  
import matplotlib.pyplot as plt  
  
import numpy as np  
  
#---畫正弦cos曲線---  
  
x = np.arange(-2*np.pi,2*np.pi,0.1)  
  
y = np.cos(x)  
  
#畫線  
  
plt.plot(x,y,color='green')  
  
plt.title('cos-s') #標題  
  
plt.legend(['cos']) #圖例,注意中括號  
  
plt.show()  #圖片展現

4.3 圖:cos-s-1

python的matplotlib的三角函數sin和cos的靜態做圖詳解

5.一個座標系展現sin和cos做圖法

5.1 代碼1:

#---導出模塊---  
  
import matplotlib.pyplot as plt  
  
import numpy as np  
  
#plt.figure() #能夠不要,採用默認  
  
#取值範圍-2π~2π,比較能展示sin和cos的特色  
  
#0.1~0.001,最好越小越好,線條越平滑  
  
x=np.arange(-2*np.pi,2*np.pi,0.1)  
  
y1=np.sin(x)  #正弦sin函數線條  
  
y2=np.cos(x)  #餘弦cos函數線條  
  
#繪製兩個圖形,須要繪製兩次  
  
#不設置顏色,採用默認的2種不一樣顏色,也能夠單獨設置顏色  
  
#本講解中sin設置藍色=blue,cos設置爲綠色=green  
  
plt.plot(x,y1,color='blue')  
  
plt.plot(x,y2,color='green')  
  
#增長標題  
  
plt.title('x‘sin and cos')  
  
#增長圖例  
  
plt.legend(['y=sinx','y=cosx'])  
  
#增長x軸和y軸標籤名  
  
plt.xlabel('x-v')  
  
plt.ylabel('y-v',rotation=0)  
  
#圖片展現  
  
plt.show()

5.2 圖:sin-cos-s-1

python的matplotlib的三角函數sin和cos的靜態做圖詳解

5.3 升級版,代碼:

#---導出模塊---  
  
import numpy as np  
  
from matplotlib import pyplot as plt  
  
#---sin和cos的座標值定義---  
  
#---注意np的arrange和linspace的含義,在這裏區別不大  
  
##在-np.pi~np.pi之間選擇256個等差數  
  
#x = np.linspace(-2*np.pi, 2*np.pi, 512, endpoint=True)  
  
x =np.arange(-2*np.pi,2*np.pi,0.001)  
  
#y1=sin,y2=cos  
  
y1, y2 = np.sin(x), np.cos(x)  
  
#定義畫布大小,不設置就是默認  
  
#plt.figure(figsize=(10, 7))#取出一張10*7的白紙  
  
#畫sin和cos,自定義顏色blue和green,label="sin",label="cos"  
  
plt.plot(x, y1, "-", color='blue',lw=2, aa=False, ms=50)#設置線寬5 aa關閉抗鋸齒 默認開啓  
  
plt.plot(x, y2, "-", color='green',lw=2, aa=True)#默認線寬10,不設置就是默認  
  
#去掉就是默認  
  
#自定義刻度法,取最大值×1.2  
  
plt.xlim(x.min() * 1.2, x.max() * 1.2)#橫座標範圍  
  
plt.ylim(y1.min() * 1.2, y1.max() * 1.2)#縱座標範圍  
  
plt.xticks([0, x.max(), x.min()], [0, r"$\pi$", "$-\pi$"])#橫座標刻度  
  
plt.yticks([y1.min(), y1.max()])#縱座標刻度  
  
#圖例個性設置,自定義字體大小,位置默認是最佳,顯示內容是label內容  
  
#也能夠這樣  
  
plt.legend(['sin','cos'],fontsize=20)  
  
#plt.legend(fontsize=20) #如何這樣的話,那麼須要在上面加入label  
  
#標註設置  
  
t = 2 / 3 * np.pi  
  
#標註藍色點垂直線  
  
plt.plot([t, t], [0, np.sin(t)], "--", color="b")  
  
plt.scatter([t], [np.sin(t)], s=100)#散點圖  
  
#標註紅色點垂直線  
  
plt.plot([t, t], [0, np.cos(t)], "--", color="r")  
  
plt.scatter([t], [np.cos(t)], s=100)#散點圖  
  
#設置標註  
  
plt.annotate(r"$\sin(\frac{2\pi}{3})=\frac{\sqrt{3}}{2}$",  
  
             (t, np.sin(t)),  
  
             xycoords="data", textcoords="offset pixels",  
  
             xytext=(20, 20),  
  
             arrowprops=dict(arrowstyle="->" , connectionstyle="arc3,rad=.2"),#箭頭屬性  
  
             fontsize=16,#zi字體大小  
  
            )  
  
#設置標註  
  
plt.annotate(r"$\cos(\frac{2\pi}{3})=-\frac{1}{2}$",  
  
             (t, np.cos(t)),  
  
             xycoords="data", textcoords="offset pixels",  
  
             xytext=(20, 0),  
  
             arrowprops=dict(arrowstyle="->" , connectionstyle="arc3,rad=.2"),#箭頭屬性  
  
             fontsize=16,#zi字體大小  
  
            )  
  
#ax定義和邊框線,也能夠註釋掉,那就是默認  
  
ax = plt.gca()  
  
#去除圖片的四邊黑框線  
  
ax.spines["bottom"].set_position(("data", 0))  
  
ax.spines["left"].set_position(("data", 0))  
  
ax.spines["top"].set_color("none")  
  
ax.spines["right"].set_color("none")  
  
#圖片展現  
  
plt.show()

5.4 圖:sin-cos-s-2

python的matplotlib的三角函數sin和cos的靜態做圖詳解

5.5 豪華版代碼:

#---導出模塊---  
  
import numpy as np  
  
import matplotlib.pyplot as plt  
  
#---函數定義和畫函數線---  
  
#x座標的取值範圍:linspace是等差數列法  
  
x=np.linspace(-2*np.pi,2*np.pi,256,endpoint=True)  
  
#arrange法,由於0.001取值很小很平滑,因此可能☆就不能顯示  
  
#x =np.arange(-2*np.pi,2*np.pi,0.001)  
  
#定義餘弦函數正弦函數,一行定義法,也能夠y1和y2  
  
c,s=np.cos(x),np.sin(x)  
  
#畫三角函數曲線,以x爲橫座標,以s和c爲縱座標  
  
#plt.plot(x,s,"r*",label="sin-s-3")  #r*=red的*,至關於color='red',linestyle="*"  
  
plt.plot(x,s,color="blue",label="sin-s-3")  
  
plt.plot(x,c,color="green",linestyle="-",label="cos-s-3",alpha=0.5)  
  
ax=plt.gca()  
  
#去除圖片的四邊的邊框黑線  
  
ax.spines["right"].set_color("none")  
  
ax.spines["top"].set_color("none")  
  
ax.spines["left"].set_position(("data",0))  
  
ax.spines["bottom"].set_position(("data",0))  
  
#自定義標籤文字  
  
#x軸標籤依次是:,若是註釋掉就是-6~6,間隔2  
  
plt.xticks([-np.pi,-np.pi/2,0,np.pi/2,np.pi],[r'$-\pi$',r'$-\pi/2$',r'$0$',r'$+\pi/2$',r'$+\pi$'])  
  
#y軸的標籤,取值從-1~1,分5個等差  
  
plt.yticks(np.linspace(-1,1,5,endpoint=True))  
  
#默認標籤位置也是這樣,因此能夠不要,註釋掉  
  
#ax.xaxis.set_ticks_position("bottom")  #線下  
  
#ax.yaxis.set_ticks_position("left")  #線左邊  
  
'''  
  
#若是上面的2行註釋掉,那麼下面的存在乎義不大,也能夠註釋掉  
  
for label in ax.get_xticklabels()+ax.get_yticklabels():  
  
    label.set_fontsize(16)  
  
    label.set_bbox(dict(facecolor="white",edgecolor="None",alpha=0.2))  
  
'''  
  
#固定面積顯示  
  
plt.fill_between(x,np.abs(x)<0.5,c,c>0.5,color="yellow",alpha=0.25)  
  
#固定垂直虛線標註  
  
t=1  
  
plt.plot([t,t],[0,np.cos(t)],"y",linewidth=3,linestyle="--")  
  
#箭頭標註  
  
plt.annotate("cos(1)",xy=(t,np.cos(1)),xycoords="data",xytext=(+10,+30),  
  
textcoords="offset points",arrowprops=dict(arrowstyle="->",connectionstyle="arc3,rad=.2"))  
  
#增長標題  
  
plt.title("sin-cos-s-3")  
  
#plt.figure(1)  #能夠註釋掉,採用默認  
  
#圖例顯示,loc表明位置,這是固定左上角位置,默認best,最佳位置,能夠自動調節空擋顯示  
  
plt.legend(loc="upper left")  
  
#顯示網格,能夠註釋掉  
  
plt.grid()  
  
#顯示圖形  
  
plt.show()

5.6 圖:sin-cos-s-3

python的matplotlib的三角函數sin和cos的靜態做圖詳解

6 sin和cos的佈局

6.1 ggplot法,代碼:

#導出模塊  
  
import numpy as np  
  
import matplotlib.pyplot as plt  
  
#畫布採用默認大小  
  
fig=plt.figure()   
  
#採用ggplot法佈局三個圖片位置  
  
plt.style.use('ggplot')  
  
left,width = 0.05,0.95  
  
#位置佈局一:上面一行2個  
  
rect_sin=[left,0.55,0.45,0.3]  #第1個圖  
  
rect_cos=[left+0.5,0.55,0.45,0.3]  #第2個圖  
  
'''  
  
#位置佈局二:上下2個,靠左  
  
rect_sin=[left,0.55,0.45,0.3]  #第1個圖  
  
rect_cos=[left,0.1,0.45,0.3]   #第2個圖  
  
'''  
  
#定義x和y座標  
  
#x=np.linspace(-10,10) #未設置等分,則線條不平滑  
  
#x=np.linspace(-10,10,260)  #260等分,數值越大,曲線的線條越平滑  
  
x=np.arange(-10,10,0.001)  #arange則是0.001,越小越平滑  
  
#y1=np.sin(x)  
  
#y1=np.cos(x)  
  
#---第1個圖---正弦sin  
  
ax_sin = fig.add_axes(rect_sin)  
  
ax_sin.plot(x,np.sin(x),color='blue')  
  
ax_sin.set_title('Sin-s-ggplot')  
  
#---第2個圖---餘弦cos  
  
ax_cos=fig.add_axes(rect_cos)  
  
ax_cos.plot(x,np.cos(x),color='green')  
  
ax_cos.set_title('Cos-s-ggplot')  
  
#圖片展現  
  
plt.show()

圖:2lf-ggplot法

python的matplotlib的三角函數sin和cos的靜態做圖詳解

2ud-ggplot法圖

python的matplotlib的三角函數sin和cos的靜態做圖詳解

6.2 subplot法

代碼:  
  
#---導出模塊---  
  
import matplotlib.pyplot as plt  
  
import numpy as np  
  
#---定義畫布大小和分辨率---  
  
fig = plt.figure(figsize=(8,8),dpi=80)  
  
#採用subplot法,分四個圖  
  
#2,2,1=2行2列,第一個,從左邊數  
  
# 畫正弦曲線  
  
fig.add_subplot(2,2,1)  
  
x = np.arange(-2*np.pi,2*np.pi,0.001)  
  
y = np.sin(x)  
  
plt.plot(x,y,color='blue')  
  
plt.title('Sin-s-subplot')  
  
plt.legend(['sin'])  
  
#方法一:第1行1和2並列  
  
# 餘弦,2,2,2=2行2列,第2個,從左邊數  
  
#fig.add_subplot(2,2,2)  
  
#方法二:第1行1和第2行1,上下  
  
# 餘弦,2,2,2=2行2列,第2個,從左邊數  
  
fig.add_subplot(2,2,3)  
  
x = np.arange(-2*np.pi,2*np.pi,0.001)  
  
y = np.cos(x)  
  
plt.plot(x,y,color='green')  
  
plt.title('Cos-s-subplot')  
  
plt.legend(['cos'])  
  
plt.show()

6.3 圖略,做圖位置如上面的ggplot法。

7.小結:

7.1 學習sin和cos有沒有用,固然有,在畫圓中須要sin和cos來定位圓的座標。基礎必定要打好。

7.2 順帶複習matplotlib的相關做圖。

**7.3 我本身整理好,也分享出來,值得收藏。**感謝做者分享-http://bjbsair.com/2020-04-07/tech-info/30778.html

1.說明:

1.1 推薦指數:★★★

1.2 基礎知識:三角函數sin和cos,在計算機編程中,尤爲python中,應用到畫圓很重要。

1.3 用通俗易懂的方式,來說解,三角函數的matplotlib做圖,靜態圖,爲之後的畫圓打基礎。

1.4 爲了突出重點,暫時不提中文設置。複習matplotlib做圖的基礎知識,深刻了解sin和cos的關係。

1.5 適合學習人羣:小白、學生、老師、愛好做圖人員和計算機編程人員閱讀。

python的matplotlib的三角函數sin和cos的靜態做圖詳解

2.理論:

好比:

r = 1 #假設半徑爲1  
  
# 0~2π(一圈,一個π是半圈,步長=0.01,步長越小圖線越平滑)  
  
a = np.arange(0,2*np.pi,0.01)   
  
#圓的座標點與三角函數的關係  
  
x = r*np.cos(a)  
  
y = r*np.sin(a)  
  
#畫圓  
  
plt.plot(x,y,color='red')

3.sin正弦函數

3.1 靜態:sin-s

3.2 代碼:簡潔版

#---導出模塊---  
  
import matplotlib.pyplot as plt  
  
import numpy as np  
  
#定義座標關係  
  
x = np.arange(-2*np.pi,2*np.pi,0.1)  
  
y = np.sin(x)  
  
#畫線  
  
plt.plot(x,y,color='blue')  
  
plt.title('sin-s') #標題  
  
plt.legend(['sin']) #圖例,注意中括號  
  
plt.show()  #圖片展現

3.3 圖

sin-s-1

python的matplotlib的三角函數sin和cos的靜態做圖詳解

3.4 代碼:註釋版

#---導出模塊---  
  
import matplotlib.pyplot as plt  
  
import numpy as np  
  
#---定義畫布大小和分辨率  
  
#fig = plt.figure(figsize=(8,8),dpi=80) #自定義  
  
#fig = plt.figure() #這是默認的,也能夠這一行不設,就是默認  
  
#---畫正弦sin曲線---  
  
#0.001越小,線條越平滑好看  
  
#從-2*np.pi到2*np.pi=就是2個2π,4個波=2個波峯+2個波底  
  
#x = np.arange(-2*np.pi,2*np.pi,0.001)  
  
x = np.arange(-2*np.pi,2*np.pi,0.1)  
  
y = np.sin(x)  
  
#畫線  
  
plt.plot(x,y,color='blue')  
  
#默認顯示2個2π,4個波=2個波峯+2個波底  
  
#plt.ylim(-2, 2)  
  
#plt.xlim(-2, 2)  
  
plt.title('sin-s') #標題  
  
plt.legend(['sin']) #圖例,注意中括號  
  
plt.show()  #圖片展現

4.cos餘弦函數:

4.1 將上面的sin函數的簡潔版的代碼中,sin改成cos便可,顏色定義爲綠色=green。

4.2 代碼:簡潔版

#---導出模塊---  
  
import matplotlib.pyplot as plt  
  
import numpy as np  
  
#---畫正弦cos曲線---  
  
x = np.arange(-2*np.pi,2*np.pi,0.1)  
  
y = np.cos(x)  
  
#畫線  
  
plt.plot(x,y,color='green')  
  
plt.title('cos-s') #標題  
  
plt.legend(['cos']) #圖例,注意中括號  
  
plt.show()  #圖片展現

4.3 圖:cos-s-1

python的matplotlib的三角函數sin和cos的靜態做圖詳解

5.一個座標系展現sin和cos做圖法

5.1 代碼1:

#---導出模塊---  
  
import matplotlib.pyplot as plt  
  
import numpy as np  
  
#plt.figure() #能夠不要,採用默認  
  
#取值範圍-2π~2π,比較能展示sin和cos的特色  
  
#0.1~0.001,最好越小越好,線條越平滑  
  
x=np.arange(-2*np.pi,2*np.pi,0.1)  
  
y1=np.sin(x)  #正弦sin函數線條  
  
y2=np.cos(x)  #餘弦cos函數線條  
  
#繪製兩個圖形,須要繪製兩次  
  
#不設置顏色,採用默認的2種不一樣顏色,也能夠單獨設置顏色  
  
#本講解中sin設置藍色=blue,cos設置爲綠色=green  
  
plt.plot(x,y1,color='blue')  
  
plt.plot(x,y2,color='green')  
  
#增長標題  
  
plt.title('x‘sin and cos')  
  
#增長圖例  
  
plt.legend(['y=sinx','y=cosx'])  
  
#增長x軸和y軸標籤名  
  
plt.xlabel('x-v')  
  
plt.ylabel('y-v',rotation=0)  
  
#圖片展現  
  
plt.show()

5.2 圖:sin-cos-s-1

python的matplotlib的三角函數sin和cos的靜態做圖詳解

5.3 升級版,代碼:

#---導出模塊---  
  
import numpy as np  
  
from matplotlib import pyplot as plt  
  
#---sin和cos的座標值定義---  
  
#---注意np的arrange和linspace的含義,在這裏區別不大  
  
##在-np.pi~np.pi之間選擇256個等差數  
  
#x = np.linspace(-2*np.pi, 2*np.pi, 512, endpoint=True)  
  
x =np.arange(-2*np.pi,2*np.pi,0.001)  
  
#y1=sin,y2=cos  
  
y1, y2 = np.sin(x), np.cos(x)  
  
#定義畫布大小,不設置就是默認  
  
#plt.figure(figsize=(10, 7))#取出一張10*7的白紙  
  
#畫sin和cos,自定義顏色blue和green,label="sin",label="cos"  
  
plt.plot(x, y1, "-", color='blue',lw=2, aa=False, ms=50)#設置線寬5 aa關閉抗鋸齒 默認開啓  
  
plt.plot(x, y2, "-", color='green',lw=2, aa=True)#默認線寬10,不設置就是默認  
  
#去掉就是默認  
  
#自定義刻度法,取最大值×1.2  
  
plt.xlim(x.min() * 1.2, x.max() * 1.2)#橫座標範圍  
  
plt.ylim(y1.min() * 1.2, y1.max() * 1.2)#縱座標範圍  
  
plt.xticks([0, x.max(), x.min()], [0, r"$\pi$", "$-\pi$"])#橫座標刻度  
  
plt.yticks([y1.min(), y1.max()])#縱座標刻度  
  
#圖例個性設置,自定義字體大小,位置默認是最佳,顯示內容是label內容  
  
#也能夠這樣  
  
plt.legend(['sin','cos'],fontsize=20)  
  
#plt.legend(fontsize=20) #如何這樣的話,那麼須要在上面加入label  
  
#標註設置  
  
t = 2 / 3 * np.pi  
  
#標註藍色點垂直線  
  
plt.plot([t, t], [0, np.sin(t)], "--", color="b")  
  
plt.scatter([t], [np.sin(t)], s=100)#散點圖  
  
#標註紅色點垂直線  
  
plt.plot([t, t], [0, np.cos(t)], "--", color="r")  
  
plt.scatter([t], [np.cos(t)], s=100)#散點圖  
  
#設置標註  
  
plt.annotate(r"$\sin(\frac{2\pi}{3})=\frac{\sqrt{3}}{2}$",  
  
             (t, np.sin(t)),  
  
             xycoords="data", textcoords="offset pixels",  
  
             xytext=(20, 20),  
  
             arrowprops=dict(arrowstyle="->" , connectionstyle="arc3,rad=.2"),#箭頭屬性  
  
             fontsize=16,#zi字體大小  
  
            )  
  
#設置標註  
  
plt.annotate(r"$\cos(\frac{2\pi}{3})=-\frac{1}{2}$",  
  
             (t, np.cos(t)),  
  
             xycoords="data", textcoords="offset pixels",  
  
             xytext=(20, 0),  
  
             arrowprops=dict(arrowstyle="->" , connectionstyle="arc3,rad=.2"),#箭頭屬性  
  
             fontsize=16,#zi字體大小  
  
            )  
  
#ax定義和邊框線,也能夠註釋掉,那就是默認  
  
ax = plt.gca()  
  
#去除圖片的四邊黑框線  
  
ax.spines["bottom"].set_position(("data", 0))  
  
ax.spines["left"].set_position(("data", 0))  
  
ax.spines["top"].set_color("none")  
  
ax.spines["right"].set_color("none")  
  
#圖片展現  
  
plt.show()

5.4 圖:sin-cos-s-2

python的matplotlib的三角函數sin和cos的靜態做圖詳解

5.5 豪華版代碼:

#---導出模塊---  
  
import numpy as np  
  
import matplotlib.pyplot as plt  
  
#---函數定義和畫函數線---  
  
#x座標的取值範圍:linspace是等差數列法  
  
x=np.linspace(-2*np.pi,2*np.pi,256,endpoint=True)  
  
#arrange法,由於0.001取值很小很平滑,因此可能☆就不能顯示  
  
#x =np.arange(-2*np.pi,2*np.pi,0.001)  
  
#定義餘弦函數正弦函數,一行定義法,也能夠y1和y2  
  
c,s=np.cos(x),np.sin(x)  
  
#畫三角函數曲線,以x爲橫座標,以s和c爲縱座標  
  
#plt.plot(x,s,"r*",label="sin-s-3")  #r*=red的*,至關於color='red',linestyle="*"  
  
plt.plot(x,s,color="blue",label="sin-s-3")  
  
plt.plot(x,c,color="green",linestyle="-",label="cos-s-3",alpha=0.5)  
  
ax=plt.gca()  
  
#去除圖片的四邊的邊框黑線  
  
ax.spines["right"].set_color("none")  
  
ax.spines["top"].set_color("none")  
  
ax.spines["left"].set_position(("data",0))  
  
ax.spines["bottom"].set_position(("data",0))  
  
#自定義標籤文字  
  
#x軸標籤依次是:,若是註釋掉就是-6~6,間隔2  
  
plt.xticks([-np.pi,-np.pi/2,0,np.pi/2,np.pi],[r'$-\pi$',r'$-\pi/2$',r'$0$',r'$+\pi/2$',r'$+\pi$'])  
  
#y軸的標籤,取值從-1~1,分5個等差  
  
plt.yticks(np.linspace(-1,1,5,endpoint=True))  
  
#默認標籤位置也是這樣,因此能夠不要,註釋掉  
  
#ax.xaxis.set_ticks_position("bottom")  #線下  
  
#ax.yaxis.set_ticks_position("left")  #線左邊  
  
'''  
  
#若是上面的2行註釋掉,那麼下面的存在乎義不大,也能夠註釋掉  
  
for label in ax.get_xticklabels()+ax.get_yticklabels():  
  
    label.set_fontsize(16)  
  
    label.set_bbox(dict(facecolor="white",edgecolor="None",alpha=0.2))  
  
'''  
  
#固定面積顯示  
  
plt.fill_between(x,np.abs(x)<0.5,c,c>0.5,color="yellow",alpha=0.25)  
  
#固定垂直虛線標註  
  
t=1  
  
plt.plot([t,t],[0,np.cos(t)],"y",linewidth=3,linestyle="--")  
  
#箭頭標註  
  
plt.annotate("cos(1)",xy=(t,np.cos(1)),xycoords="data",xytext=(+10,+30),  
  
textcoords="offset points",arrowprops=dict(arrowstyle="->",connectionstyle="arc3,rad=.2"))  
  
#增長標題  
  
plt.title("sin-cos-s-3")  
  
#plt.figure(1)  #能夠註釋掉,採用默認  
  
#圖例顯示,loc表明位置,這是固定左上角位置,默認best,最佳位置,能夠自動調節空擋顯示  
  
plt.legend(loc="upper left")  
  
#顯示網格,能夠註釋掉  
  
plt.grid()  
  
#顯示圖形  
  
plt.show()

5.6 圖:sin-cos-s-3

python的matplotlib的三角函數sin和cos的靜態做圖詳解

6 sin和cos的佈局

6.1 ggplot法,代碼:

#導出模塊  
  
import numpy as np  
  
import matplotlib.pyplot as plt  
  
#畫布採用默認大小  
  
fig=plt.figure()   
  
#採用ggplot法佈局三個圖片位置  
  
plt.style.use('ggplot')  
  
left,width = 0.05,0.95  
  
#位置佈局一:上面一行2個  
  
rect_sin=[left,0.55,0.45,0.3]  #第1個圖  
  
rect_cos=[left+0.5,0.55,0.45,0.3]  #第2個圖  
  
'''  
  
#位置佈局二:上下2個,靠左  
  
rect_sin=[left,0.55,0.45,0.3]  #第1個圖  
  
rect_cos=[left,0.1,0.45,0.3]   #第2個圖  
  
'''  
  
#定義x和y座標  
  
#x=np.linspace(-10,10) #未設置等分,則線條不平滑  
  
#x=np.linspace(-10,10,260)  #260等分,數值越大,曲線的線條越平滑  
  
x=np.arange(-10,10,0.001)  #arange則是0.001,越小越平滑  
  
#y1=np.sin(x)  
  
#y1=np.cos(x)  
  
#---第1個圖---正弦sin  
  
ax_sin = fig.add_axes(rect_sin)  
  
ax_sin.plot(x,np.sin(x),color='blue')  
  
ax_sin.set_title('Sin-s-ggplot')  
  
#---第2個圖---餘弦cos  
  
ax_cos=fig.add_axes(rect_cos)  
  
ax_cos.plot(x,np.cos(x),color='green')  
  
ax_cos.set_title('Cos-s-ggplot')  
  
#圖片展現  
  
plt.show()

圖:2lf-ggplot法

python的matplotlib的三角函數sin和cos的靜態做圖詳解

2ud-ggplot法圖

python的matplotlib的三角函數sin和cos的靜態做圖詳解

6.2 subplot法

代碼:  
  
#---導出模塊---  
  
import matplotlib.pyplot as plt  
  
import numpy as np  
  
#---定義畫布大小和分辨率---  
  
fig = plt.figure(figsize=(8,8),dpi=80)  
  
#採用subplot法,分四個圖  
  
#2,2,1=2行2列,第一個,從左邊數  
  
# 畫正弦曲線  
  
fig.add_subplot(2,2,1)  
  
x = np.arange(-2*np.pi,2*np.pi,0.001)  
  
y = np.sin(x)  
  
plt.plot(x,y,color='blue')  
  
plt.title('Sin-s-subplot')  
  
plt.legend(['sin'])  
  
#方法一:第1行1和2並列  
  
# 餘弦,2,2,2=2行2列,第2個,從左邊數  
  
#fig.add_subplot(2,2,2)  
  
#方法二:第1行1和第2行1,上下  
  
# 餘弦,2,2,2=2行2列,第2個,從左邊數  
  
fig.add_subplot(2,2,3)  
  
x = np.arange(-2*np.pi,2*np.pi,0.001)  
  
y = np.cos(x)  
  
plt.plot(x,y,color='green')  
  
plt.title('Cos-s-subplot')  
  
plt.legend(['cos'])  
  
plt.show()

6.3 圖略,做圖位置如上面的ggplot法。

7.小結:

7.1 學習sin和cos有沒有用,固然有,在畫圓中須要sin和cos來定位圓的座標。基礎必定要打好。

7.2 順帶複習matplotlib的相關做圖。

**7.3 我本身整理好,也分享出來,值得收藏。**感謝做者分享-http://bjbsair.com/2020-04-07/tech-info/30778.html

1.說明:

1.1 推薦指數:★★★

1.2 基礎知識:三角函數sin和cos,在計算機編程中,尤爲python中,應用到畫圓很重要。

1.3 用通俗易懂的方式,來說解,三角函數的matplotlib做圖,靜態圖,爲之後的畫圓打基礎。

1.4 爲了突出重點,暫時不提中文設置。複習matplotlib做圖的基礎知識,深刻了解sin和cos的關係。

1.5 適合學習人羣:小白、學生、老師、愛好做圖人員和計算機編程人員閱讀。

python的matplotlib的三角函數sin和cos的靜態做圖詳解

2.理論:

好比:

r = 1 #假設半徑爲1  
  
# 0~2π(一圈,一個π是半圈,步長=0.01,步長越小圖線越平滑)  
  
a = np.arange(0,2*np.pi,0.01)   
  
#圓的座標點與三角函數的關係  
  
x = r*np.cos(a)  
  
y = r*np.sin(a)  
  
#畫圓  
  
plt.plot(x,y,color='red')

3.sin正弦函數

3.1 靜態:sin-s

3.2 代碼:簡潔版

#---導出模塊---  
  
import matplotlib.pyplot as plt  
  
import numpy as np  
  
#定義座標關係  
  
x = np.arange(-2*np.pi,2*np.pi,0.1)  
  
y = np.sin(x)  
  
#畫線  
  
plt.plot(x,y,color='blue')  
  
plt.title('sin-s') #標題  
  
plt.legend(['sin']) #圖例,注意中括號  
  
plt.show()  #圖片展現

3.3 圖

sin-s-1

python的matplotlib的三角函數sin和cos的靜態做圖詳解

3.4 代碼:註釋版

#---導出模塊---  
  
import matplotlib.pyplot as plt  
  
import numpy as np  
  
#---定義畫布大小和分辨率  
  
#fig = plt.figure(figsize=(8,8),dpi=80) #自定義  
  
#fig = plt.figure() #這是默認的,也能夠這一行不設,就是默認  
  
#---畫正弦sin曲線---  
  
#0.001越小,線條越平滑好看  
  
#從-2*np.pi到2*np.pi=就是2個2π,4個波=2個波峯+2個波底  
  
#x = np.arange(-2*np.pi,2*np.pi,0.001)  
  
x = np.arange(-2*np.pi,2*np.pi,0.1)  
  
y = np.sin(x)  
  
#畫線  
  
plt.plot(x,y,color='blue')  
  
#默認顯示2個2π,4個波=2個波峯+2個波底  
  
#plt.ylim(-2, 2)  
  
#plt.xlim(-2, 2)  
  
plt.title('sin-s') #標題  
  
plt.legend(['sin']) #圖例,注意中括號  
  
plt.show()  #圖片展現

4.cos餘弦函數:

4.1 將上面的sin函數的簡潔版的代碼中,sin改成cos便可,顏色定義爲綠色=green。

4.2 代碼:簡潔版

#---導出模塊---  
  
import matplotlib.pyplot as plt  
  
import numpy as np  
  
#---畫正弦cos曲線---  
  
x = np.arange(-2*np.pi,2*np.pi,0.1)  
  
y = np.cos(x)  
  
#畫線  
  
plt.plot(x,y,color='green')  
  
plt.title('cos-s') #標題  
  
plt.legend(['cos']) #圖例,注意中括號  
  
plt.show()  #圖片展現

4.3 圖:cos-s-1

python的matplotlib的三角函數sin和cos的靜態做圖詳解

5.一個座標系展現sin和cos做圖法

5.1 代碼1:

#---導出模塊---  
  
import matplotlib.pyplot as plt  
  
import numpy as np  
  
#plt.figure() #能夠不要,採用默認  
  
#取值範圍-2π~2π,比較能展示sin和cos的特色  
  
#0.1~0.001,最好越小越好,線條越平滑  
  
x=np.arange(-2*np.pi,2*np.pi,0.1)  
  
y1=np.sin(x)  #正弦sin函數線條  
  
y2=np.cos(x)  #餘弦cos函數線條  
  
#繪製兩個圖形,須要繪製兩次  
  
#不設置顏色,採用默認的2種不一樣顏色,也能夠單獨設置顏色  
  
#本講解中sin設置藍色=blue,cos設置爲綠色=green  
  
plt.plot(x,y1,color='blue')  
  
plt.plot(x,y2,color='green')  
  
#增長標題  
  
plt.title('x‘sin and cos')  
  
#增長圖例  
  
plt.legend(['y=sinx','y=cosx'])  
  
#增長x軸和y軸標籤名  
  
plt.xlabel('x-v')  
  
plt.ylabel('y-v',rotation=0)  
  
#圖片展現  
  
plt.show()

5.2 圖:sin-cos-s-1

python的matplotlib的三角函數sin和cos的靜態做圖詳解

5.3 升級版,代碼:

#---導出模塊---  
  
import numpy as np  
  
from matplotlib import pyplot as plt  
  
#---sin和cos的座標值定義---  
  
#---注意np的arrange和linspace的含義,在這裏區別不大  
  
##在-np.pi~np.pi之間選擇256個等差數  
  
#x = np.linspace(-2*np.pi, 2*np.pi, 512, endpoint=True)  
  
x =np.arange(-2*np.pi,2*np.pi,0.001)  
  
#y1=sin,y2=cos  
  
y1, y2 = np.sin(x), np.cos(x)  
  
#定義畫布大小,不設置就是默認  
  
#plt.figure(figsize=(10, 7))#取出一張10*7的白紙  
  
#畫sin和cos,自定義顏色blue和green,label="sin",label="cos"  
  
plt.plot(x, y1, "-", color='blue',lw=2, aa=False, ms=50)#設置線寬5 aa關閉抗鋸齒 默認開啓  
  
plt.plot(x, y2, "-", color='green',lw=2, aa=True)#默認線寬10,不設置就是默認  
  
#去掉就是默認  
  
#自定義刻度法,取最大值×1.2  
  
plt.xlim(x.min() * 1.2, x.max() * 1.2)#橫座標範圍  
  
plt.ylim(y1.min() * 1.2, y1.max() * 1.2)#縱座標範圍  
  
plt.xticks([0, x.max(), x.min()], [0, r"$\pi$", "$-\pi$"])#橫座標刻度  
  
plt.yticks([y1.min(), y1.max()])#縱座標刻度  
  
#圖例個性設置,自定義字體大小,位置默認是最佳,顯示內容是label內容  
  
#也能夠這樣  
  
plt.legend(['sin','cos'],fontsize=20)  
  
#plt.legend(fontsize=20) #如何這樣的話,那麼須要在上面加入label  
  
#標註設置  
  
t = 2 / 3 * np.pi  
  
#標註藍色點垂直線  
  
plt.plot([t, t], [0, np.sin(t)], "--", color="b")  
  
plt.scatter([t], [np.sin(t)], s=100)#散點圖  
  
#標註紅色點垂直線  
  
plt.plot([t, t], [0, np.cos(t)], "--", color="r")  
  
plt.scatter([t], [np.cos(t)], s=100)#散點圖  
  
#設置標註  
  
plt.annotate(r"$\sin(\frac{2\pi}{3})=\frac{\sqrt{3}}{2}$",  
  
             (t, np.sin(t)),  
  
             xycoords="data", textcoords="offset pixels",  
  
             xytext=(20, 20),  
  
             arrowprops=dict(arrowstyle="->" , connectionstyle="arc3,rad=.2"),#箭頭屬性  
  
             fontsize=16,#zi字體大小  
  
            )  
  
#設置標註  
  
plt.annotate(r"$\cos(\frac{2\pi}{3})=-\frac{1}{2}$",  
  
             (t, np.cos(t)),  
  
             xycoords="data", textcoords="offset pixels",  
  
             xytext=(20, 0),  
  
             arrowprops=dict(arrowstyle="->" , connectionstyle="arc3,rad=.2"),#箭頭屬性  
  
             fontsize=16,#zi字體大小  
  
            )  
  
#ax定義和邊框線,也能夠註釋掉,那就是默認  
  
ax = plt.gca()  
  
#去除圖片的四邊黑框線  
  
ax.spines["bottom"].set_position(("data", 0))  
  
ax.spines["left"].set_position(("data", 0))  
  
ax.spines["top"].set_color("none")  
  
ax.spines["right"].set_color("none")  
  
#圖片展現  
  
plt.show()

5.4 圖:sin-cos-s-2

python的matplotlib的三角函數sin和cos的靜態做圖詳解

5.5 豪華版代碼:

#---導出模塊---  
  
import numpy as np  
  
import matplotlib.pyplot as plt  
  
#---函數定義和畫函數線---  
  
#x座標的取值範圍:linspace是等差數列法  
  
x=np.linspace(-2*np.pi,2*np.pi,256,endpoint=True)  
  
#arrange法,由於0.001取值很小很平滑,因此可能☆就不能顯示  
  
#x =np.arange(-2*np.pi,2*np.pi,0.001)  
  
#定義餘弦函數正弦函數,一行定義法,也能夠y1和y2  
  
c,s=np.cos(x),np.sin(x)  
  
#畫三角函數曲線,以x爲橫座標,以s和c爲縱座標  
  
#plt.plot(x,s,"r*",label="sin-s-3")  #r*=red的*,至關於color='red',linestyle="*"  
  
plt.plot(x,s,color="blue",label="sin-s-3")  
  
plt.plot(x,c,color="green",linestyle="-",label="cos-s-3",alpha=0.5)  
  
ax=plt.gca()  
  
#去除圖片的四邊的邊框黑線  
  
ax.spines["right"].set_color("none")  
  
ax.spines["top"].set_color("none")  
  
ax.spines["left"].set_position(("data",0))  
  
ax.spines["bottom"].set_position(("data",0))  
  
#自定義標籤文字  
  
#x軸標籤依次是:,若是註釋掉就是-6~6,間隔2  
  
plt.xticks([-np.pi,-np.pi/2,0,np.pi/2,np.pi],[r'$-\pi$',r'$-\pi/2$',r'$0$',r'$+\pi/2$',r'$+\pi$'])  
  
#y軸的標籤,取值從-1~1,分5個等差  
  
plt.yticks(np.linspace(-1,1,5,endpoint=True))  
  
#默認標籤位置也是這樣,因此能夠不要,註釋掉  
  
#ax.xaxis.set_ticks_position("bottom")  #線下  
  
#ax.yaxis.set_ticks_position("left")  #線左邊  
  
'''  
  
#若是上面的2行註釋掉,那麼下面的存在乎義不大,也能夠註釋掉  
  
for label in ax.get_xticklabels()+ax.get_yticklabels():  
  
    label.set_fontsize(16)  
  
    label.set_bbox(dict(facecolor="white",edgecolor="None",alpha=0.2))  
  
'''  
  
#固定面積顯示  
  
plt.fill_between(x,np.abs(x)<0.5,c,c>0.5,color="yellow",alpha=0.25)  
  
#固定垂直虛線標註  
  
t=1  
  
plt.plot([t,t],[0,np.cos(t)],"y",linewidth=3,linestyle="--")  
  
#箭頭標註  
  
plt.annotate("cos(1)",xy=(t,np.cos(1)),xycoords="data",xytext=(+10,+30),  
  
textcoords="offset points",arrowprops=dict(arrowstyle="->",connectionstyle="arc3,rad=.2"))  
  
#增長標題  
  
plt.title("sin-cos-s-3")  
  
#plt.figure(1)  #能夠註釋掉,採用默認  
  
#圖例顯示,loc表明位置,這是固定左上角位置,默認best,最佳位置,能夠自動調節空擋顯示  
  
plt.legend(loc="upper left")  
  
#顯示網格,能夠註釋掉  
  
plt.grid()  
  
#顯示圖形  
  
plt.show()

5.6 圖:sin-cos-s-3

python的matplotlib的三角函數sin和cos的靜態做圖詳解

6 sin和cos的佈局

6.1 ggplot法,代碼:

#導出模塊  
  
import numpy as np  
  
import matplotlib.pyplot as plt  
  
#畫布採用默認大小  
  
fig=plt.figure()   
  
#採用ggplot法佈局三個圖片位置  
  
plt.style.use('ggplot')  
  
left,width = 0.05,0.95  
  
#位置佈局一:上面一行2個  
  
rect_sin=[left,0.55,0.45,0.3]  #第1個圖  
  
rect_cos=[left+0.5,0.55,0.45,0.3]  #第2個圖  
  
'''  
  
#位置佈局二:上下2個,靠左  
  
rect_sin=[left,0.55,0.45,0.3]  #第1個圖  
  
rect_cos=[left,0.1,0.45,0.3]   #第2個圖  
  
'''  
  
#定義x和y座標  
  
#x=np.linspace(-10,10) #未設置等分,則線條不平滑  
  
#x=np.linspace(-10,10,260)  #260等分,數值越大,曲線的線條越平滑  
  
x=np.arange(-10,10,0.001)  #arange則是0.001,越小越平滑  
  
#y1=np.sin(x)  
  
#y1=np.cos(x)  
  
#---第1個圖---正弦sin  
  
ax_sin = fig.add_axes(rect_sin)  
  
ax_sin.plot(x,np.sin(x),color='blue')  
  
ax_sin.set_title('Sin-s-ggplot')  
  
#---第2個圖---餘弦cos  
  
ax_cos=fig.add_axes(rect_cos)  
  
ax_cos.plot(x,np.cos(x),color='green')  
  
ax_cos.set_title('Cos-s-ggplot')  
  
#圖片展現  
  
plt.show()

圖:2lf-ggplot法

python的matplotlib的三角函數sin和cos的靜態做圖詳解

2ud-ggplot法圖

python的matplotlib的三角函數sin和cos的靜態做圖詳解

6.2 subplot法

代碼:  
  
#---導出模塊---  
  
import matplotlib.pyplot as plt  
  
import numpy as np  
  
#---定義畫布大小和分辨率---  
  
fig = plt.figure(figsize=(8,8),dpi=80)  
  
#採用subplot法,分四個圖  
  
#2,2,1=2行2列,第一個,從左邊數  
  
# 畫正弦曲線  
  
fig.add_subplot(2,2,1)  
  
x = np.arange(-2*np.pi,2*np.pi,0.001)  
  
y = np.sin(x)  
  
plt.plot(x,y,color='blue')  
  
plt.title('Sin-s-subplot')  
  
plt.legend(['sin'])  
  
#方法一:第1行1和2並列  
  
# 餘弦,2,2,2=2行2列,第2個,從左邊數  
  
#fig.add_subplot(2,2,2)  
  
#方法二:第1行1和第2行1,上下  
  
# 餘弦,2,2,2=2行2列,第2個,從左邊數  
  
fig.add_subplot(2,2,3)  
  
x = np.arange(-2*np.pi,2*np.pi,0.001)  
  
y = np.cos(x)  
  
plt.plot(x,y,color='green')  
  
plt.title('Cos-s-subplot')  
  
plt.legend(['cos'])  
  
plt.show()

6.3 圖略,做圖位置如上面的ggplot法。

7.小結:

7.1 學習sin和cos有沒有用,固然有,在畫圓中須要sin和cos來定位圓的座標。基礎必定要打好。

7.2 順帶複習matplotlib的相關做圖。

7.3 我本身整理好,也分享出來,值得收藏。

相關文章
相關標籤/搜索