matlab - 如何在 matlab 中绘制专业质量的图表?
解决方案
这个问题将避免向 OP 讲授图形的最佳实践,而只是尝试按要求回答问题。我个人同意提出的一些担忧,但让 OP 去寻找有关数据可视化和图形美学的资源。(为了记录,我不是图表的粉丝。)
资源:
MATLAB Plot Gallery描述了一系列可能对您有所帮助的绘图和调整。要获得高质量、专业外观的图表,请向下滚动到Advanced Plots以查看源代码和结果图。
可用的 MATLAB 绘图类型的图形概述。
您还可以制作基本绘图,然后使用 MATLAB 的绘图编辑器通过图形界面自定义属性。完成后,单击File-->Generate Code,您将看到一种可能的方法来对该图进行编码。当您知道如何通过界面做某事但想在将来编写脚本时,这很有帮助。
- Mathworks 关于制作漂亮图表的博客
- 另一个在 MATLAB 中为论文和演示文稿创建高质量图形的示例
我意识到其中一些链接最终可能会过期。如果他们这样做,请随时发表评论
示例:
我不是专家。我通过查看文档、绘图源代码以及使用各种绘图组件的属性来了解此答案中的所有内容。
% Functions of Interest % MATLAB 2018a
fh=@(x) a + a*sin(b*x) + 1-exp(-b*x);
gh=@(x) a + (a/b)*cos(c*x);
a = 20;
b = .3;
c = .2;
% Plot
X = (0:.01:25)';
figure, hold on
p(1) = plot(X,fh(X),'r-','DisplayName','Excitation')
p(2) = plot(X,gh(X),'b-','DisplayName','Recovery')
% legend('show') % Optional legend (omitted here since we're adding text)
xlabel('X')
ylabel('Y')
title('Particle Displacement')
% Options
ha = gca;
box on
grid on
ylim([-80 100])
set(ha,'GridLineStyle','--') % use ':' for dots
t(1) = text(3.5,80,'excitation')
t(2) = text(12,20,'recovery')
for k = 1:2
p(k).LineWidth = 2.2;
t(k).FontWeight = 'bold';
t(k).FontSize = 12;
t(k).FontName = 'Arial';
end
推荐阅读
- database - Presto 识别唯一值
- ffmpeg - 使用 ffmpeg 批量提取多个 mp3 文件的前 10 秒
- node.js - 更新的 API 在本地工作,但在 Heroku 上不起作用,即使它使用更新的代码
- javascript - 使用网络音频 API 进行峰值检测?
- c++ - C++ googlemock 不会在愚蠢的例子中编译
- swift - 为什么编译器在使用 ?? 时会给出错误(中止陷阱:6)?字典上的运算符
- javascript - 给出提示后,如何将函数的结果输出到同一个 HTML 页面?
- c# - 如何在脚本中使用 bool 参数开始两个动画之间的过渡?
- javascript - 如何从具有特定属性值的按钮重定向 url?
- excel - 如何删除重复值?