学术资讯 » 学术资源

  • 首 页
  • 期刊选题
  • 期刊点评
  • 期刊大全
  • 学人博客
  • 编辑征稿
  • 投稿选刊
  • 投稿群聊
  • 学术会议
  • 万维读书
  • SCI/E期刊
  • SSCI期刊
  • AHCI期刊
  • Matlab论文插图绘制模板第28期—折线图进阶

    阅读: 2022/5/20 14:58:00

    在之前的文章中,分享了Matlab折线图的绘制模板:

    散点图的绘制模板:

    也介绍了误差棒的使用方式:

    这一次,我们尝试在折线图的基础上,加入更多的元素,比如线型、符号类型、公式,并在此基础上添加误差棒。

    先来看一下成品效果:

    特别提示:Matlab论文插图绘制模板系列,旨在降低大家使用Matlab进行科研绘图的门槛,只需按照模板格式添加相应内容,即可得到满足大部分期刊以及学位论文格式要求的数据插图。如果觉得有用可以分享给你的朋友。

    模板中所用案例原始版本可以在file-exchange中找到(搜索图的标题),文章在此基础上进行了修改。

    模板中最关键的部分内容:

    1. 数据准备

    此部分主要是读取数据。

    % 导入数据

    load data xfit yfit xdata_m ydata_m ydata_sxVdata yVdata xmodel ymodel ...

    ymodelL ymodelUc cint

    2. 颜色定义

    颜色搭配比较考验个人审美,需要多加尝试。

    这里用之前分享的addcolorplus工具:

    %% 颜色定义

    color_hFit = addcolorplus(1);

    color_hModel = addcolorplus(168);

    color_hData = addcolorplus(140);

    color_hCI1 = addcolorplus(136);

    color_hCI2 = addcolorplus(136);

    color_hE = addcolorplus(93);

    获取方式:公众号(阿昆的科研日常)后台回复 配色强化

    3. 进阶折线图绘制

    首先使用‘line’命令,绘制初始折线图,然后使用‘errorbar’命令,绘制误差棒。

    % 绘制初始折线图

    hFit = line(xfit, yfit);

    hData = line(xVdata, yVdata);

    hModel = line(xmodel, ymodel);

    hCI(1) = line(xmodel, ymodelL);

    hCI(2) = line(xmodel, ymodelU);

    hE = errorbar(xdata_m, ydata_m, ydata_s);

    % 添加label

    hTitle = title('My Publication-Quality Graphics');

    hXLabel = xlabel('Length (m)');

    hYLabel = ylabel('Mass (kg)');

    % 添加公式

    hText = text(10, 800, ...

    sprintf('{\\itC = %0.1g \\pm %0.1g (CI)}', c, cint(2)-c));

    4. 细节优化

    为了插图的美观,首先赋上之前选好的颜色:

    % 赋色

    set(hFit, 'Color', color_hFit)

    set(hModel, 'Color', color_hModel)

    set(hCI(1), 'Color', color_hCI1)

    set(hCI(2), 'Color', color_hCI2)

    set(hData, 'MarkerEdgeColor', 'none','MarkerFaceColor', color_hData)

    set(hE, 'Color', color_hE,'MarkerEdgeColor', [.2 .2 .2], 'MarkerFaceColor' , color_hE)

    进一步,调整线型、符号类型等属性:

    % 设置线属性

    set(hFit, 'LineWidth', 1.5)

    set(hModel, 'LineStyle', '--', 'LineWidth',1.5)

    set(hCI(1), 'LineStyle', '-.','LineWidth',1.5)

    set(hCI(2), 'LineStyle', '-.','LineWidth',1.5)

    set(hData, 'LineStyle', 'none', 'Marker','.','Marker', 'o', 'MarkerSize', 5)

    set(hE, 'LineStyle', 'none', 'Marker','.','LineWidth', 1.5, 'Marker', 'o', 'MarkerSize', 6)

    需要注意的是,当把'LineStyle'设置为'none',只保留符号标记,则呈现效果与散点图一致。

    然后对坐标轴参数、字体字号等进行调整:

    % 设置坐标轴属性

    set(gca, 'Box', 'off',...

    'TickDir', 'out', 'TickLength', [.02 .02], ...

    'XMinorTick', 'on', 'YMinorTick', 'on',...

    'XGrid', 'off', 'YGrid', 'on', ...

    'XColor', [.3 .3 .3], 'YColor', [.3 .3 .3],...

    'YTick', 0:500:2500, ...

    'LineWidth', 1)

    % legend

    hLegend = legend([hE, hFit, hData, hModel,hCI(1)], ...

    'Data ({\it\mu} \pm {\it\sigma})', 'Fit (C{\itx}^3)', ...

    'Validation Data', 'Model (C{\itx}^3)', '95% CI', ...

    'Location', 'NorthWest');

    % 设置字体字号

    set(gca, 'FontName', 'Helvetica')

    set([hTitle, hXLabel, hYLabel, hText],'FontName', 'AvantGarde')

    set([hLegend, gca], 'FontSize', 8)

    set([hXLabel, hYLabel, hText], 'FontSize',10)

    set(hTitle, 'FontSize', 12, 'FontWeight' ,'bold')

    % 背景颜色

    set(gcf,'Color',[1 1 1])

    设置完毕后,按照所需分辨率、格式输出

    。

    %%

    输出

    figW = figureWidth;

    figH = figureHeight;

    set(figureHandle,'PaperUnits',figureUnits);

    set(figureHandle,'PaperPosition',[0 0 figWfigH]);

    fileout = 'test';

    print(figureHandle,[fileout,'.png'],'-r300','-dpng');

    以上。

    转自:阿昆的科研日常

    如有侵权,请联系本站删除!


    浏览(549)
    点赞(0)
    收藏(0)
  • 上一篇:内心戏满满......如何优雅地向导师表达:这周科研没什么进展?

    下一篇:教学相关 | “课程思政”教学设计编制指南及方法

  • 首页

  • 文章

  • 期刊

  • 帮助

  • 我的

版权所有 Copyright@2023    备案号:豫ICP备2021036211号