Matlab实战系列(一)——一些常用的绘图语句

        之前一直用Python的matplotlib.pyplot包画图,很少用matlab,这次作业想用一下发现很多调整画图版式的函数都不太会用,网上系统一点的代码也不多,于是写一篇这个记录一下。

  • 母函数plot
    plot(lambda,R,'color','#666600','linewidth',1);
    %意思就是以lambda为x轴,R为y轴画折线图
    %颜色为16进制的#666600 折现宽度为1
    %还有很多的Name,Value元组 如linestyle marker两个常用的 详情doc plot查看
  • 图框大小设置
    %gcf是图框设置 
    set(gcf, 'Position', [0 0 1600 900]); 
    %position指figure图框的位置设置 这个4个数字的数组的后两位就是分辨率设置
    %1600 900即为长1600px 宽900px
    %前两位是在显示屏的位置 默认0 0即可
  • 坐标轴设置
%首先是坐标轴的显示范围
xlim([200,2600])
ylim([0,1])
%这个数组就是范围大小

%然后是坐标轴的标题
xlabel("波长(纳米)",'fontsize',15,'fontname','宋体','fontweight','bold')
ylabel("反射率(%)",'fontsize',15,'fontname','宋体','fontweight','bold')
%标题名称放在第一个 fontsize是字体大小 fontname是字体选择 fontweight是字体粗细
%还有很多其他的属性 可以doc xlabel看看

%接着是刻度设置
xticks(200:150:2600)
yticks(0:0.1:1)
%这样x轴就是从200到2600 每隔150为一个刻度
%y轴式从0到1 每隔0.1为一个刻度

%最后是坐标轴的标签 gca就是边框的意思
set(gca,'TickLabelInterpreter','latex'); %这个是设置字体为latex显示
set(gca,'XTick',[freqCentLog([21 28])]); %x轴的两个刻度变成21 28
set(gca,'Xticklabel',{0.4 4});           %但显示是0.4和4的文字
set(gca,'YTick',[MelScale([1 7 14 21 28])]); %同理如上
set(gca,'Yticklabel',{'$0$','${m_{\pi_1}}$','${m_{\pi_2}}$','${m_{\pi_3}}$','${m_N}$'});
% $符号是latex公式的写法
  • 标题设置
    title("混合草地反射波谱",'fontsize',17,'fontname','宋体','fontweight','bold')
    %直接title就可以了 fontsize是字体大小 fontweight是字体粗细
  • 图例设置
    h=legend("混合草地反射率");
    set(h,'fontname','宋体','fontsize',14,'fontweight','bold','location','northwest')
    legend('boxoff')
    %legend写图例的名称
    %后面set设置图例的字体大小位置 location这个需要自己设置 详情doc legend
    %legend('boxoff')把图例外围的边框消除
  •  边框设置
    %gca是边框设置
    set(gca,'fontname','Times','fontsize',13,'fontweight','bold')
    set(gca,'linewidth',1.2)
    %其他都是元组属性 详情可查看doc gca
  • 保存设置
    img=gcf;  %获取当前画图的句柄
    print(img, '-dpng', '-r600', './混合草地.png')%即可得到对应格式和期望dpi的图像
    %获取句柄后print函数保存 600指dpi 后面是名字命名 格式可以调整
     按照上述设置可以得到出图如下:Matlab实战系列(一)——一些常用的绘图语句_第1张图片

 

你可能感兴趣的:(Matlab,matlab,开发语言)