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万+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章