MATLAB画图
python安装matlap
python -m pip install matplotlib
python导入matlab包
常用方法:
画图开始需要加如下代码显示中文
my_font = font_manager.FontProperties(fname="C:/Windows/Fonts/simhei.ttf")
plt.rcParams['font.sans-serif'] = ['SimHei'] # 用来正常显示中文标签
plt.rcParams['axes.unicode_minus'] = False # 用来正常显示负号
plt.figure(figsize=(50,1)) #可以通过设置图片尺寸来画长图和短图
如果x轴密集有重叠,可以通过设置figsize尺寸来解决
画线:plt.plot(([横坐标],[纵坐标]) 常用关键字 zorder=1表示层级,lable标签,需要和plt.legend()配合使用才能显示出来(需要放在plt.plot后面)。marker=”*”控制线的类型,linewidth=1线宽,会受图片大小的影响。
画点:plt.scatter([横坐标],[纵坐标]) 常用属性 zorder表示层级,color表示颜色,s控制点的大小
显示图形:plt.show() 显示所画图形。注意plt.savafig("123.jpg")保存图形的时候需要注释掉。
坐标:
设置坐标标签 plt.ylabel("我是纵坐标标签"),plt.xlabel("我是横坐标标签")
设置坐标范围 plt.xlim([1,100]) plt.xlim([1,100]) 可以和plt.x/yticks()配合使用达到选择局部区域显示和设置坐标刻度的目的
import matplotlib.pyplot as plt
plt.yticks([0,0.1,0.2,0.3,0.4,0.5]),plt.xticks([0,0.1,0.2,0.3,0.4,0.5]) #手动设置坐标刻度
plt.xticks([1,2,3],labels=["我是1","woshi2","woshi3"],rotation=90) #rotation表示刻度的旋转角度值,最后一个多余的"我是4"将不会显示,如果labels少于,则后面的讲不会被显示。
没有设置值的地方不会画坐标值,如果不在程序指明程序会自己设置坐标间隔,可以设置不同的坐标间隔
plt.show()
显示时候使用网格 plt.grid(True)
面向对象的MATLAB编程:
import matplotlib.pyplot as plt
fig=plt.figure() #初始化一个画布
ax.=plt.add_subplots(221) #初始化一个2行2列,表示要在第一个位置画图
ax1=ax.twins() #设置两个纵坐标
plt.show()
实战:
matlab画间断的图 需要增加一个None 作为间断
import matplotlib.pyplot as plt
plt.plot([1,2,2,3,4,5],[1,2,None,3,4,5])
plt.show()