导包
import matplotlib.pyplot as plt
# 准备绘图数据
import numpy as np
x=np.arange(0,1,0.05)
print(x)
[0. 0.05 0.1 0.15 0.2 0.25 0.3 0.35 0.4 0.45 0.5 0.55 0.6 0.65
0.7 0.75 0.8 0.85 0.9 0.95]
#y=sin(2*pi*x)
y=np.sin(2*np.pi*x)
print(y)
[ 0.00000000e+00 3.09016994e-01 5.87785252e-01 8.09016994e-01
9.51056516e-01 1.00000000e+00 9.51056516e-01 8.09016994e-01
5.87785252e-01 3.09016994e-01 1.22464680e-16 -3.09016994e-01
-5.87785252e-01 -8.09016994e-01 -9.51056516e-01 -1.00000000e+00
-9.51056516e-01 -8.09016994e-01 -5.87785252e-01 -3.09016994e-01]
#plt.plot
plt.plot(x,y)
plt.show()
# 修改线条颜色,线型
plt.plot(x,y,'b--')#设置蓝色,虚线--
plt.show()
plt.plot(x,y,'b--*')
plt.show()
#添加标题
plt.plot(x,y,'b--*')
plt.title('My first plot')
plt.show()
#添加横纵坐标
plt.plot(x,y,'b--*')
plt.title('My first plot')
plt.xlabel('x lable')
plt.ylabel('y lable')
plt.show()
#添加图例 两步:添加label='sin';调用plt.legend函数
plt.plot(x,y,'b--*',label='sin')
plt.title('My first plot')
plt.xlabel('x lable')
plt.ylabel('y lable')
plt.legend(loc='best')
plt.show()
#添加多个图表 figure和subplot
fig=plt.figure()#创建figure对象
ax1=fig.add_subplot(221) #221代表两行、两列、第一个图
ax2=fig.add_subplot(222)
ax3=fig.add_subplot(223)
plt.show()
#添加多个图表 figure和subplot
#绘制某个图表
fig=plt.figure()#创建figure对象
ax1=fig.add_subplot(221) #221代表两行、两列、第一个图
ax2=fig.add_subplot(222)
ax3=fig.add_subplot(223)
ax2.plot(x,y)
plt.show()
#颜色、线型、标记
#方法一:
fig=plt.figure()
ax=fig.add_subplot(111)
ax.plot(x,y,'r--*')
plt.show()
# 方法二:根据对象参数设置
fig=plt.figure()
ax=fig.add_subplot(111)
ax.plot(x,y,color='b',linestyle='--',marker='*')
plt.show()
#添加多个图表 :简写方法subplots
# 方法一:
fig=plt.figure()#创建figure对象
ax1=fig.add_subplot(221) #221代表两行、两列、第一个图
ax2=fig.add_subplot(222)
ax3=fig.add_subplot(223)
ax2.plot(x,y)
plt.show()
#方法二:简写方法subplots
fig,ax=plt.subplots(2,2)
#根据索引定位
ax[0,1].plot(x,y)
plt.show()
#标题、标签、图例
fig,ax=plt.subplots()
ax.plot(x,y,'g--o')
ax.set(title='my first plot',xlabel='x',ylabel='y')
ax.legend(loc='best') #设置位置
ax.grid()#添加网格线
plt.show()
#y2=cos(2*pi*x)
y2=np.cos(2*np.pi*x)
print(y2)
[ 1.00000000e+00 9.51056516e-01 8.09016994e-01 5.87785252e-01
3.09016994e-01 6.12323400e-17 -3.09016994e-01 -5.87785252e-01
-8.09016994e-01 -9.51056516e-01 -1.00000000e+00 -9.51056516e-01
-8.09016994e-01 -5.87785252e-01 -3.09016994e-01 -1.83697020e-16
3.09016994e-01 5.87785252e-01 8.09016994e-01 9.51056516e-01]
fig,ax=plt.subplots()
ax.plot(x,y,'b--*',label='sin')
ax.plot(x,y2,'r--o',label='cos')
ax.legend(loc='best') #自动显示
#ax.legend(loc='upper right') #靠右侧显示
ax.set(title='sin&cos')
plt.show()
#将图表保存到本地
fig.savefig('myfig.png')