MATLAB画平行于坐标轴的直线,添加图例以及画图坐标轴等设计方法

1,plot([x1,x2],[y1,y2],'--k')------------注:表示画(x1,y1)到(x2,y2)两点之间的直线

2,当从figure图像直接添加图例时,会出现所有的线段,如下所示:

这时候可以选择不从figure的编辑中添加,直接在代码中写上:legend('Psum1','Psum2');结果如下:

3,axis([0,11,1000,2000]);//限制横纵坐标轴范围
legend('Psum1','Psum2');
xlabel('t\s');
ylabel('Psum\MW');

4,xtick是刻度(小竖线);xticklabel 刻度值(竖线下面的数值)。
set(gca,'xtick',-pi:pi/2:pi)这句的意思是:手动设置x轴刻度,-pi到pi之间,每间隔pi/2,划一小竖线;
set(gca,'xticklabel',{'-pi','-pi/2','0','pi/2','pi'})这句的意思是:给刚才划上的小竖线,标个数值。如果你把它改成:set(gca,'xticklabel',{'a','b','c','d','e'}),那么那小竖线下就变成:a,b,c,d,e了。

 

5,将x坐标轴放到上面显示。

set(gca,'XAxisLocation','top')

xlabel('$\it R_{\rm n3} \verb|/|\Omega$','Interpreter','latex','Fontname','Times New Roman');

ylabel('$\it I_{\rm sum4}\verb|/|kA$','Interpreter','latex','Fontname','Times New Roman');


legend('\fontname{Times New Roman}MATLAB\fontname{宋体}计算结果','\fontname{Times New Roman}PSCAD\fontname{宋体}仿真结果');

%legend('\it P_{sum1}','\it P_{sum2}');%--------------legend可以这么加下标

legend('\it P\rmsum1','\it P\rm sum2');%------后面那个\rm后面会使得图例中产生空格,,只有在latex中才有空格语法要求,,即latex中没有空格会使得编译错误

注意:1,设置‘斜体’和‘正常’的\it 与\rm后面需要有个空格。

           2,legend中将英文设置为times将中文设置为宋体,,,可以不设置为latex,,。。。妈的害我弄了好长时间

           3,xlabel中的\verb|/|设置一个斜杠,\verb|//|设置两个斜杠。

           4,\mathrm{MW}。加上罗马字母MW,,,也就是说字母要放在中括号里面。

%------------------------1:得到原始数据
t=M1(:,1);
P1=M1(:,3);
P2=M2(:,11);
P3=M3(:,2);
%------------------------2:得到画legend的数据
t_legend=t(1:2);
P1_legend=P1(1:2);
P2_legend=P2(1:2);
P3_legend=P3(1:2);
%-----------------------3,得到画marker的数据
l=round(size(t));
l=l(1);%注:不能直接在上行括号后面加:(1),这样会显示错误
t_marker=t(1:l/10:end);
P1_marker=P1(1:l/10:end);
P2_marker=P2(1:l/10:end);
P3_marker=P3(1:l/10:end);
%-----------------------4,开始画图,必须按照顺序,因为legend只按照第一个,不过可以用h句柄变量解决这个问题
hold on;%使得所有后面图像保持下去
h=plot(t_legend,P1_legend,'g*',t_legend,P2_legend,'bv',t_legend,P3_legend,'ro');
plot(t_marker,P1_marker,'g*',t_marker,P2_marker,'bv',t_marker,P3_marker,'ro');

plot(t,P1,'g',t,P2,'b',t,P3,'r');

%---------------------------5,添加legend和轴名称
legend(h,'\fontname{宋体}常规控制','\fontname{宋体}仅含频率调节','\fontname{宋体}本论文方法');
xlabel('t/s','Fontname','Times New Roman');
ylabel('$\it P\verb|/|\rm MW$','Interpreter','latex','Fontname','Times New Roman');

legend函数其他控制方式可查阅链接:https://blog.csdn.net/a573233077/article/details/46575469

6,matlab中换行符号与前面代码要有个空格:

x0=[0,1,0,0,1,0,0,1,1,0 ...%即0后面与三个点之间实际有个空格
    ,1,1,1,0,0,1,1,1,1,0 ...
    ,1,1,0
    ];

  • 3
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值