一、创建图像并设置分辨率
二、绘制图像设置坐标轴的上下限
三、移动坐标脊柱使用gca()
四、添加图例使用label参数
五、注释
①有指向型文本注释 annotate()
②无指向型文本注释 text()
六、保存图片savefig()
import matplotlib.pyplot as plt
import numpy as np
# 创建一个8*6的图,并设置分辨率为80
plt.Figure(figsize=(8,6),dpi=80)
import matplotlib.pyplot as plt
import numpy as np
# 创建一个8*6的图,并设置分辨率为80
plt.Figure(figsize=(8,6),dpi=80)
# endpoint默认为True,输出结束点 为False时,不输出结束点
X=np.linspace(-np.pi,np.pi,256,endpoint=True)
C,S=np.cos(X),np.sin(X)
# 绘制余弦曲线
plt.plot(X,C,color='y',linestyle='-',linewidth=2)
# 绘制正弦曲线
plt.plot(X,S,color='r',linestyle='--',linewidth=2)
# 设置x轴的上下限
plt.xlim(-4,4)
# 设置y轴的上下限
plt.ylim(-2,2)
# 设置x轴只显示-3到3之间的记号
plt.xticks(np.linspace(-3,3,7))
# 设置y轴只显示-1到1之间的记号
plt.yticks(np.linspace(-1,1,5))
plt.show()
说明:实际上每幅图有四条脊柱(上下左右),为了将脊柱放在图的中间,我们必须将其中的两条设置为无色,然后调整剩下的两条到合适的位置——数据空间的 0 点。
import matplotlib.pyplot as plt
import numpy as np
# 创建一个8*6的图,并设置分辨率为80
plt.Figure(figsize=(8,6),dpi=80)
# endpoint默认为True,输出结束点 为False时,不输出结束点
X=np.linspace(-np.pi,np.pi,256,endpoint=True)
C,S=np.cos(X),np.sin(X)
# 绘制余弦曲线
plt.plot(X,C,color='y',linestyle='-',linewidth=2)
# 绘制正弦曲线
plt.plot(X,S,color='r',linestyle='--',linewidth=2)
# 设置x轴的上下限
plt.xlim(-4,4)
# 设置y轴的上下限
plt.ylim(-2,2)
# 设置x轴只显示-3到3之间的记号
plt.xticks(np.linspace(-3,3,7))
# 设置y轴只显示-1到1之间的记号
plt.yticks(np.linspace(-1,1,5))
ax=plt.gca()
# 设置右边和上边的边框线颜色为none
ax.spines['right'].set_color('none')
ax.spines['top'].set_color('none')
# 把bottom设置为x轴刻度线
ax.xaxis.set_ticks_position('bottom')
# 设置bottom对应到0点
ax.spines['bottom'].set_position(('data',0))
# 把left设置为y轴刻度线
ax.yaxis.set_ticks_position('left')
# 设置left对应到0点
ax.spines['left'].set_position(('data',0))
plt.show()
import matplotlib.pyplot as plt
import numpy as np
# 创建一个8*6的图,并设置分辨率为80
plt.Figure(figsize=(8,6),dpi=80)
# endpoint默认为True,输出结束点 为False时,不输出结束点
X=np.linspace(-np.pi,np.pi,256,endpoint=True)
C,S=np.cos(X),np.sin(X)
# 绘制余弦曲线
plt.plot(X,C,color='y',linestyle='-',linewidth=2)
# 绘制正弦曲线
plt.plot(X,S,color='r',linestyle='--',linewidth=2)
# 设置x轴的上下限
plt.xlim(-4,4)
# 设置y轴的上下限
plt.ylim(-2,2)
# 设置x轴只显示-3到3之间的记号
plt.xticks(np.linspace(-3,3,7))
# 设置y轴只显示-1到1之间的记号
plt.yticks(np.linspace(-1,1,5))
ax=plt.gca()
# 设置右边和上边的边框线颜色为none
ax.spines['right'].set_color('none')
ax.spines['top'].set_color('none')
# 把bottom设置为x轴刻度线
ax.xaxis.set_ticks_position('bottom')
# 设置bottom对应到0点
ax.spines['bottom'].set_position(('data',0))
# 把left设置为y轴刻度线
ax.yaxis.set_ticks_position('left')
# 设置left对应到0点
ax.spines['left'].set_position(('data',0))
# 添加图例
plt.plot(X,C,color='y',linestyle='-',linewidth=2,label='cosine')
plt.plot(X,S,color='r',linestyle='--',linewidth=2,label='sine')
# legend显示图例位置,不加参数,系统选择合适位置
# loc参数可以控制具体位置 1234象限
plt.legend(loc=2)
plt.show()
annotate():在图中带有指向型文本注释信息,突显细节
常用参数:
import matplotlib.pyplot as plt
import numpy as np
# 创建一个8*6的图,并设置分辨率为80
plt.Figure(figsize=(8,6),dpi=80)
# endpoint默认为True,输出结束点 为False时,不输出结束点
X=np.linspace(-np.pi,np.pi,256,endpoint=True)
C,S=np.cos(X),np.sin(X)
# 绘制余弦曲线
plt.plot(X,C,color='y',linestyle='-',linewidth=2)
# 绘制正弦曲线
plt.plot(X,S,color='r',linestyle='--',linewidth=2)
# 设置x轴的上下限
plt.xlim(-4,4)
# 设置y轴的上下限
plt.ylim(-2,2)
# 设置x轴只显示-3到3之间的记号
plt.xticks(np.linspace(-3,3,7))
# 设置y轴只显示-1到1之间的记号
plt.yticks(np.linspace(-1,1,5))
ax=plt.gca()
# 设置右边和上边的边框线颜色为none
ax.spines['right'].set_color('none')
ax.spines['top'].set_color('none')
# 把bottom设置为x轴刻度线
ax.xaxis.set_ticks_position('bottom')
# 设置bottom对应到0点
ax.spines['bottom'].set_position(('data',0))
# 把left设置为y轴刻度线
ax.yaxis.set_ticks_position('left')
# 设置left对应到0点
ax.spines['left'].set_position(('data',0))
# 添加图例
plt.plot(X,C,color='y',linestyle='-',linewidth=2,label='cosine')
plt.plot(X,S,color='r',linestyle='--',linewidth=2,label='sine')
# legend显示图例位置,不加参数,系统选择合适位置
# loc参数可以控制具体位置 1234象限
plt.legend(loc=2)
# 设置有指向型注释文本annotate()
t=2*np.pi/3
plt.plot([t,t],[0,np.cos(t)])
plt.scatter([t,],[np.cos(t),],50,color='b')
plt.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="angle3,angleA=-90,angleB=80"),
bbox=dict(boxstyle='roundtooth,
pad=0.1',
fc='w',
ec='r',
lw=2,
alpha=0.5))
plt.plot([t,t],[0,np.sin(t)])
plt.scatter([t,],[np.sin(t),],50,color='r')
plt.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=.3"),
bbox=dict(boxstyle='round,pad=.5',fc='w',ec='r',lw=2,alpha=0.5))
plt.show()
text()语法:plt.text(x,y,s,family,fontsize,style,color)
import matplotlib.pyplot as plt
import numpy as np
# 创建一个8*6的图,并设置分辨率为80
plt.Figure(figsize=(8,6),dpi=80)
# endpoint默认为True,输出结束点 为False时,不输出结束点
X=np.linspace(-np.pi,np.pi,256,endpoint=True)
C,S=np.cos(X),np.sin(X)
# 绘制余弦曲线
plt.plot(X,C,color='y',linestyle='-',linewidth=2)
# 绘制正弦曲线
plt.plot(X,S,color='r',linestyle='--',linewidth=2)
# 设置x轴的上下限
plt.xlim(-4,4)
# 设置y轴的上下限
plt.ylim(-2,2)
# 设置x轴只显示-3到3之间的记号
plt.xticks(np.linspace(-3,3,7))
# 设置y轴只显示-1到1之间的记号
plt.yticks(np.linspace(-1,1,5))
ax=plt.gca()
# 设置右边和上边的边框线颜色为none
ax.spines['right'].set_color('none')
ax.spines['top'].set_color('none')
# 把bottom设置为x轴刻度线
ax.xaxis.set_ticks_position('bottom')
# 设置bottom对应到0点
ax.spines['bottom'].set_position(('data',0))
# 把left设置为y轴刻度线
ax.yaxis.set_ticks_position('left')
# 设置left对应到0点
ax.spines['left'].set_position(('data',0))
# 添加图例
plt.plot(X,C,color='y',linestyle='-',linewidth=2,label='cosine')
plt.plot(X,S,color='r',linestyle='--',linewidth=2,label='sine')
# legend显示图例位置,不加参数,系统选择合适位置
# loc参数可以控制具体位置 1234象限
plt.legend(loc=2)
t=2*np.pi/3
plt.plot([t,t],[0,np.cos(t)])
plt.scatter([t,],[np.cos(t),],50,color='b')
# 无指向型注释文本text()
# text()语法:plt.text(x,y,s,family,fontsize,style,color)
# x,y代表注释内容位置
# s代表注释文本内容
# family设置字体,自带的可选项有{'serif', 'sans-serif', 'cursive', 'fantasy', 'monospace'}
# fontsize字体大小
# style设置字体样式,可选项{'normal', 'italic'(斜体), 'oblique'(也是斜体)}
plt.text(x=t-1,y=np.cos(t)-0.5,s=r'$\cos(\frac{2\pi}{3})=-\frac{1}{2}$',fontsize=15,family='monospace',style='normal')
plt.show()
savefig()语法:
savefig(fname, *, dpi='figure', format=None, metadata=None, bbox_inches=None, pad_inches=0.1, facecolor='auto', edgecolor='auto', backend=None, **kwargs )
常用参数:
import matplotlib.pyplot as plt
import numpy as np
# 创建一个8*6的图,并设置分辨率为80
plt.Figure(figsize=(8,6),dpi=80)
# endpoint默认为True,输出结束点 为False时,不输出结束点
X=np.linspace(-np.pi,np.pi,256,endpoint=True)
C,S=np.cos(X),np.sin(X)
# 绘制余弦曲线
plt.plot(X,C,color='y',linestyle='-',linewidth=2)
# 绘制正弦曲线
plt.plot(X,S,color='r',linestyle='--',linewidth=2)
# 设置x轴的上下限
plt.xlim(-4,4)
# 设置y轴的上下限
plt.ylim(-2,2)
# 设置x轴只显示-3到3之间的记号
plt.xticks(np.linspace(-3,3,7))
# 设置y轴只显示-1到1之间的记号
plt.yticks(np.linspace(-1,1,5))
ax=plt.gca()
# 设置右边和上边的边框线颜色为none
ax.spines['right'].set_color('none')
ax.spines['top'].set_color('none')
# 把bottom设置为x轴刻度线
ax.xaxis.set_ticks_position('bottom')
# 设置bottom对应到0点
ax.spines['bottom'].set_position(('data',0))
# 把left设置为y轴刻度线
ax.yaxis.set_ticks_position('left')
# 设置left对应到0点
ax.spines['left'].set_position(('data',0))
# 添加图例
plt.plot(X,C,color='y',linestyle='-',linewidth=2,label='cosine')
plt.plot(X,S,color='r',linestyle='--',linewidth=2,label='sine')
# legend显示图例位置,不加参数,系统选择合适位置
# loc参数可以控制具体位置 1234象限
plt.legend(loc=2)
# 保存图片
plt.savefig('annotate.png',dpi=100)
plt.show()