—— 要投稿,上万维,轻松学术交流

严正声明

本站非期刊官网,非中介代理,
不向作者收取任何费用!
举报微信:13140028228 冯老师

态度公正、信息求实、投稿自助、使用免费
您的位置:学术资讯 » 正文
  • 阅读: 2023/9/27 14:45:35

    之前的文章中,分享了Matlab带线标记的图:

    带阴影标记的图:

    带箭头标记的图:

    带图形标记的图:

    进一步,分享一下带Latex公式的图,先来看一下成品效果:

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

    1. 数据准备

    此部分主要是读取原始数据。

    %% 数据准备

    x = 1:10;

    fib = zeros(1, 10);

    for i = 1:10

    fib(i) = (((1+sqrt(5))/2)^i - ((1-sqrt(5))/2)^i)/sqrt(5);

    end

    eq = '$$F_n={1 \over \sqrt{5}}\left[\left({1+\sqrt{5}\over 2}\right)^n -\left({1-\sqrt{5}\over 2}\right)^n\right]$$';

    2. 颜色定义

    作图不配色就好比做菜不放盐,总让人感觉少些味道。

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

    这里直接使用TheColor配色工具中的XKCD配色库:

    C = TheColor('xkcd',[715 587]);

    C1 = C(1,:);

    C2 = C(2,:);

    3. Latex公式的图绘制

    通过调用text’命令,绘制初始带Latex公式的图。

    p = plot(x, fib);

    t = text(2, 45, eq);

    hTitle = title('Fibonacci Numbers from 1-10');

    hXLabel = xlabel('n');

    hYLabel = ylabel('F_n');

    4. 细节优化

    为了插图的美观,对坐标轴细节等进行美化:

    % 公式及线条属性调整

    set(t,'Interpreter', 'Latex', 'FontSize', 13, 'Color', C1)

    set(p,'LineStyle','-','Marker','s','MarkerSize',10,'MarkerFaceColor',C2, ...

    'LineWidth',2.5,'Color',C2)

    % 坐标区属性调整

    set(gca, 'Box', 'off', ... % 边框

    'LineWidth', 1,... % 线宽

    'XGrid', 'off', 'YGrid', 'on', ... % 网格

    'TickDir', 'out', 'TickLength', [.01 .01], ... % 刻度

    'XMinorTick', 'off', 'YMinorTick', 'off', ... % 小刻度

    'XColor', [.1 .1 .1], 'YColor', [.1 .1 .1]) % 坐标轴颜色

    set(gca, 'XLim',[0.5 10.5],...

    'YLim',[-5 60])

    % 字体和字号

    set(gca, 'FontName', 'Arial', 'FontSize', 10)

    set([hXLabel, hYLabel], 'FontSize', 11, 'FontName', 'Arial')

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

    % 背景颜色

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

    % 添加上、右框线

    xc = get(gca,'XColor');

    yc = get(gca,'YColor');

    unit = get(gca,'units');

    ax = axes( 'Units', unit,...

    'Position',get(gca,'Position'),...

    'XAxisLocation','top',...

    'YAxisLocation','right',...

    'Color','none',...

    'XColor',xc,...

    'YColor',yc);

    set(ax, 'linewidth',1,...

    'XTick', [],...

    'YTick', []);

    设置完毕后,以期刊所需分辨率、格式输出图片。

    %% 图片输出

    figW = figureWidth;

    figH = figureHeight;

    set(figureHandle,'PaperUnits',figureUnits);

    set(figureHandle,'PaperPosition',[0 0 figW figH]);

    fileout = 'test';

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

    以上。

    转自:“阿昆的科研日常”微信公众号

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


    浏览(174)
    点赞(0)
    收藏(0)

上一篇:Matlab进阶绘图第30期—冲击图

下一篇:临床科研 | 自带“制氧工厂”,植入式装置实现无注射控制糖尿病