Python制图代码
本文旨在寻求一套规范Python的制图代码,首次尝试,仅解决了单图绘制问题,代码运行效果如下。
'''
python制图代码模块-绘制单图-无导入数据,以绘制PMSM三相相电压波形为例
编写人:PEZHANG
时间:2021.11.30
'''
import matplotlib.pyplot as plt
import numpy as np
x=np.linspace(0,10,100)
y1=np.cos(x)
y2=np.cos(x-2*np.pi/3)
y3=np.cos(x-4*np.pi/3)
ax=plt.figure(figsize=(9,5))
plt.rc('font',family='Times New Roman')
plt.rcParams['xtick.direction']='in'
plt.rcParams['ytick.direction']='in'
plt.plot(x,y1,color="red",label="$cos(x)$",linewidth=1.5)
plt.plot(x,y2,"b--",label="$cos(x-2\pi/3)$",linewidth=1.5)
plt.plot(x,y3,"g-.",label="$cos(x-4\pi/3)$",linewidth=1.5)
plt.annotate("zero",fontsize=20,xy=(np.pi/2,0), xytext=(2,0.3),arrowprops=dict(facecolor='g',shrink=0.05))
plt.axis([0,8,-1,1])
plt.xticks(fontsize=15)
plt.yticks(fontsize=15)
plt.xlabel("Time(s)",fontsize='15')
plt.ylabel("Voltage",fontsize='15')
plt.grid(True,c='k',linestyle='--',linewidth=0.5,alpha=0.8)
plt.legend(loc='upper center', bbox_to_anchor=(0.88, 0.95),shadow=False)
plt.savefig("testfigure.svg",dpi=600)
plt.show()
后续将继续尝试解决局部放大图绘制问题、MATLAB导出的mat格式文件与Python的数据交互等问题,有新的进展将会在本文继续更新。
|