Matplotlib學習筆記-----Python

# pylab 是 matplotlib 面向對象繪圖庫的一個接口。它的語法和 Matlab 十分相近。也就是說,它主要的繪圖
# 命令和 Matlab 對應的命令有相似的參數。
import numpy as np
from matplotlib import *
from matplotlib.pylab import *
X = np.linspace(-np.pi,np.pi,256,endpoint=True)
C ,S = np.cos(X), np.sin(X)
plot(X,C)
plot(X,S)
show()
# X 是一個 numpy 數組,包含了從到等間隔的256個值。 C 和 S 則分別是這 256 個值對應的餘
# 弦和正弦函數值組成的 numpy 數組

在這裏插入圖片描述

import numpy as np
from matplotlib import *
from matplotlib.pylab import *
figure(figsize=(8,6),dpi=80)
subplot(1,1,1)
# 創建一個新的1*1的子圖,接下來的圖樣繪製在其中的第一塊
X = np.linspace(-np.pi, np.pi, 256,endpoint=True)
C,S = np.cos(X), np.sin(X)

plot(X,C,color='blue',linewidth=1.0,linestyle="-")
plot(X,S,color='red',linewidth=1.0,linestyle='-')
# 分別以紅色和藍色繪製正弦和餘弦曲線

xlim(-4.0, 4.0)
ylim(-1.0,1.0)
# 設置橫軸和縱軸的上下限

xticks(np.linspace(-4,4,9,endpoint=True))
yticks(np.linspace(-1,1,5,endpoint=True))
# 設置橫軸和縱軸的記號

savefig("sin&&cos\\exercice_2.png",dpi=72)
# 以分辨率72保存圖片

show()
# 在屏幕顯示


在這裏插入圖片描述

# 設置圖片邊界&&線條加粗&&拉伸圖像
import numpy as np
from matplotlib import *
from matplotlib.pylab import *
figure(figsize=(10,6),dpi=80)

subplot(1,1,1)
# 創建一個新的1*1的子圖,接下來的圖樣繪製在其中的第一塊
X = np.linspace(-np.pi, np.pi, 256,endpoint=True)
C,S = np.cos(X), np.sin(X)

plot(X,C,color='blue',linewidth=2.5,linestyle="-")
plot(X,S,color='red',linewidth=2.5,linestyle='-')
# 分別以紅色和藍色繪製正弦和餘弦曲線

# xlim(-4.0, 4.0)
# ylim(-1.0,1.0)
# 設置橫軸和縱軸的上下限
xlim(X.min()*1.1,X.max()*1.1)
ylim(C.min()*1.1,C.max()*1.1)

xticks(np.linspace(-4,4,9,endpoint=True))
yticks(np.linspace(-1,1,5,endpoint=True))
# 設置橫軸和縱軸的記號

savefig("sin&&cos\\exercice_3.png",dpi=72)
# 以分辨率72保存圖片

show()
# 在屏幕顯示

在這裏插入圖片描述

# 設置記號,函數在±Π和±Π/2處的值有意義
import numpy as np
from matplotlib import *
from matplotlib.pylab import *
figure(figsize=(10,6),dpi=80)

subplot(1,1,1)
# 創建一個新的1*1的子圖,接下來的圖樣繪製在其中的第一塊
X = np.linspace(-np.pi, np.pi, 256,endpoint=True)
C,S = np.cos(X), np.sin(X)

plot(X,C,color='blue',linewidth=2.5,linestyle="-")
plot(X,S,color='red',linewidth=2.5,linestyle='-')
# 分別以紅色和藍色繪製正弦和餘弦曲線

# xlim(-4.0, 4.0)
# ylim(-1.0,1.0)
# 設置橫軸和縱軸的上下限
xlim(X.min()*1.1,X.max()*1.1)
ylim(C.min()*1.1,C.max()*1.1)

# xticks(np.linspace(-4,4,9,endpoint=True))
# yticks(np.linspace(-1,1,5,endpoint=True))
xticks([-np.pi,-np.pi/2,0,np.pi/2,np.pi],[r'$-\pi$',r'$-\pi/2$',r'$0$',r'$+\pi/2$',r'$+\pi$'])
yticks([-1,0,1],[r'$-1$',r'$0$',r'$1$'])
# 設置橫軸和縱軸的記號

savefig("sin&&cos\\exercice_4.png",dpi=72)
# 以分辨率72保存圖片

show()
# 在屏幕顯示

在這裏插入圖片描述

# 移動脊柱
import numpy as np
from matplotlib import *
from matplotlib.pylab import *
figure(figsize=(10,6),dpi=80)

subplot(1,1,1)
# 創建一個新的1*1的子圖,接下來的圖樣繪製在其中的第一塊
X = np.linspace(-np.pi, np.pi, 256,endpoint=True)
C,S = np.cos(X), np.sin(X)

plot(X,C,color='blue',linewidth=2.5,linestyle="-")
plot(X,S,color='red',linewidth=2.5,linestyle='-')
# 分別以紅色和藍色繪製正弦和餘弦曲線

# xlim(-4.0, 4.0)
# ylim(-1.0,1.0)
# 設置橫軸和縱軸的上下限
xlim(X.min()*1.1,X.max()*1.1)
ylim(C.min()*1.1,C.max()*1.1)

# xticks(np.linspace(-4,4,9,endpoint=True))
# yticks(np.linspace(-1,1,5,endpoint=True))
xticks([-np.pi,-np.pi/2,0,np.pi/2,np.pi],[r'$-\pi$',r'$-\pi/2$',r'$0$',r'$+\pi/2$',r'$+\pi$'])
yticks([-1,1],[r'$-1$',r'$1$'])
# 設置橫軸和縱軸的記號

ax = gca()
ax.spines['right'].set_color('none')
ax.spines['top'].set_color('none')
ax.xaxis.set_ticks_position('bottom')
ax.spines['bottom'].set_position(('data',0))
ax.yaxis.set_ticks_position('left')
ax.spines['left'].set_position(('data',0))
# 移動脊柱

savefig("sin&&cos\\exercice_5.png",dpi=72)
# 以分辨率72保存圖片

show()
# 在屏幕顯示

在這裏插入圖片描述

# 添加圖例
import numpy as np
from matplotlib import *
from matplotlib.pylab import *
figure(figsize=(10,6),dpi=80)

subplot(1,1,1)
# 創建一個新的1*1的子圖,接下來的圖樣繪製在其中的第一塊
X = np.linspace(-np.pi, np.pi, 256,endpoint=True)
C,S = np.cos(X), np.sin(X)

# 添加圖例
plot(X,C,color='blue',linewidth=2.5,linestyle='-',label="consine")
plot(X,S,color='red',linewidth=2.5,linestyle='-',label="sine")
legend(loc='upper left')

plot(X,C,color='blue',linewidth=2.5,linestyle="-")
plot(X,S,color='red',linewidth=2.5,linestyle='-')
# 分別以紅色和藍色繪製正弦和餘弦曲線

# xlim(-4.0, 4.0)
# ylim(-1.0,1.0)
# 設置橫軸和縱軸的上下限
xlim(X.min()*1.1,X.max()*1.1)
ylim(C.min()*1.1,C.max()*1.1)

# xticks(np.linspace(-4,4,9,endpoint=True))
# yticks(np.linspace(-1,1,5,endpoint=True))
xticks([-np.pi,-np.pi/2,0,np.pi/2,np.pi],[r'$-\pi$',r'$-\pi/2$',r'$0$',r'$\pi/2$',r'$\pi$'])
yticks([-1,1],[r'$-1$',r'$1$'])
# 設置橫軸和縱軸的記號

ax = gca()
ax.spines['right'].set_color('none')
ax.spines['top'].set_color('none')
ax.xaxis.set_ticks_position('bottom')
ax.spines['bottom'].set_position(('data',0))
ax.yaxis.set_ticks_position('left')
ax.spines['left'].set_position(('data',0))
# 移動脊柱

savefig("sin&&cos\\exercice_6.png",dpi=72)
# 以分辨率72保存圖片

show()
# 在屏幕顯示

在這裏插入圖片描述

# 添加一些特殊點做註釋
import numpy as np
from matplotlib import *
from matplotlib.pylab import *
figure(figsize=(10,6),dpi=80)

subplot(1,1,1)
# 創建一個新的1*1的子圖,接下來的圖樣繪製在其中的第一塊
X = np.linspace(-np.pi, np.pi, 256,endpoint=True)
C,S = np.cos(X), np.sin(X)

# 添加圖例
plot(X,C,color='blue',linewidth=2.5,linestyle='-',label="consine")
plot(X,S,color='red',linewidth=2.5,linestyle='-',label="sine")
legend(loc='upper left')

# 添加特殊點
t = 2*np.pi/3
plot([t,t],[0,np.cos(t)], color ='blue', linewidth=2.5, linestyle="--")
scatter([t,],[np.cos(t),], 50, color ='blue')
annotate(r'$\sin(\frac{2\pi}{3})=\frac{\sqrt{3}}{2}$',xy=(t, np.sin(t)), xycoords='data',xytext=(+10, +30), textcoords='offset points', fontsize=16,arrowprops=dict(arrowstyle="->", connectionstyle="arc3,rad=.2"))
plot([t,t],[0,np.sin(t)], color ='red', linewidth=2.5, linestyle="--")
scatter([t,],[np.sin(t),], 50, color ='red')
annotate(r'$\cos(\frac{2\pi}{3})=-\frac{1}{2}$',xy=(t, np.cos(t)), xycoords='data',xytext=(-90, -50), textcoords='offset points', fontsize=16,arrowprops=dict(arrowstyle="->", connectionstyle="arc3,rad=.2"))


plot(X,C,color='blue',linewidth=2.5,linestyle="-")
plot(X,S,color='red',linewidth=2.5,linestyle='-')
# 分別以紅色和藍色繪製正弦和餘弦曲線

# xlim(-4.0, 4.0)
# ylim(-1.0,1.0)
# 設置橫軸和縱軸的上下限
xlim(X.min()*1.1,X.max()*1.1)
ylim(C.min()*1.1,C.max()*1.1)

# xticks(np.linspace(-4,4,9,endpoint=True))
# yticks(np.linspace(-1,1,5,endpoint=True))
xticks([-np.pi,-np.pi/2,0,np.pi/2,np.pi],[r'$-\pi$',r'$-\pi/2$',r'$0$',r'$\pi/2$',r'$\pi$'])
yticks([-1,1],[r'$-1$',r'$1$'])
# 設置橫軸和縱軸的記號

ax = gca()
ax.spines['right'].set_color('none')
ax.spines['top'].set_color('none')
ax.xaxis.set_ticks_position('bottom')
ax.spines['bottom'].set_position(('data',0))
ax.yaxis.set_ticks_position('left')
ax.spines['left'].set_position(('data',0))
# 移動脊柱

savefig("sin&&cos\\exercice_7.png",dpi=72)
# 以分辨率72保存圖片

show()
# 在屏幕顯示

在這裏插入圖片描述

# 精益求精
import numpy as np
from matplotlib import *
from matplotlib.pylab import *
figure(figsize=(10,6),dpi=80)

subplot(1,1,1)
# 創建一個新的1*1的子圖,接下來的圖樣繪製在其中的第一塊
X = np.linspace(-np.pi, np.pi, 256,endpoint=True)
C,S = np.cos(X), np.sin(X)


# 添加圖例
plot(X,C,color='blue',linewidth=2.5,linestyle='-',label="consine")
plot(X,S,color='red',linewidth=2.5,linestyle='-',label="sine")
legend(loc='upper left')

# 添加特殊點
t = 2*np.pi/3
plot([t,t],[0,np.cos(t)], color ='blue', linewidth=2.5, linestyle="--")
scatter([t,],[np.cos(t),], 50, color ='blue')
annotate(r'$\sin(\frac{2\pi}{3})=\frac{\sqrt{3}}{2}$',xy=(t, np.sin(t)), xycoords='data',xytext=(+10, +30), textcoords='offset points', fontsize=16,arrowprops=dict(arrowstyle="->", connectionstyle="arc3,rad=.2"))
plot([t,t],[0,np.sin(t)], color ='red', linewidth=2.5, linestyle="--")
scatter([t,],[np.sin(t),], 50, color ='red')
annotate(r'$\cos(\frac{2\pi}{3})=-\frac{1}{2}$',xy=(t, np.cos(t)), xycoords='data',xytext=(-90, -50), textcoords='offset points', fontsize=16,arrowprops=dict(arrowstyle="->", connectionstyle="arc3,rad=.2"))


plot(X,C,color='blue',linewidth=2.5,linestyle="-")
plot(X,S,color='red',linewidth=2.5,linestyle='-')
# 分別以紅色和藍色繪製正弦和餘弦曲線

# xlim(-4.0, 4.0)
# ylim(-1.0,1.0)
# 設置橫軸和縱軸的上下限
xlim(X.min()*1.1,X.max()*1.1)
ylim(C.min()*1.1,C.max()*1.1)

# xticks(np.linspace(-4,4,9,endpoint=True))
# yticks(np.linspace(-1,1,5,endpoint=True))
xticks([-np.pi,-np.pi/2,0,np.pi/2,np.pi],[r'$-\pi$',r'$-\pi/2$',r'$0$',r'$\pi/2$',r'$\pi$'])
yticks([-1,1],[r'$-1$',r'$1$'])
# 設置橫軸和縱軸的記號

ax = gca()
ax.spines['right'].set_color('none')
ax.spines['top'].set_color('none')
ax.xaxis.set_ticks_position('bottom')
ax.spines['bottom'].set_position(('data',0))
ax.yaxis.set_ticks_position('left')
ax.spines['left'].set_position(('data',0))
# 移動脊柱

# 記號標記不被曲線擋住
for label in ax.get_xticklabels() + ax.get_yticklabels():
    label.set_fontsize(16)
    label.set_bbox(dict(facecolor='white', edgecolor='black', alpha=0.65 ))

savefig("sin&&cos\\exercice_8.png",dpi=72)
# 以分辨率72保存圖片

show()
# 在屏幕顯示

在這裏插入圖片描述
學習的原文章見此鏈接

發佈了11 篇原創文章 · 獲贊 11 · 訪問量 1萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章