Loren在Matlab的艺术上

将想法转化为matlab

制作漂亮的图

今天我想介绍一位客座博主Jiro Doke(电子邮件:Jiro.Doke@mathworks.com),谁是在MathWorks这里的应用程序工程师。他在玛特在数学工作之前使用matlab,以及他的一个
兴趣是数据可视化。

内容

在我的研究生工作中,我使用Matlab广泛用于进行分析和可视化。通常是时候,我创造的情节
用于我的出版物。然后,当我开始探索句柄图形的灵活性来定制matlab时
绘图以创建出版物质量图形。最终,我能够为我的情节完全使用matlab。

让我通过我做的逐步过程。我正在使用一些制造的数据,但剧情非常相似
我为我的研究制作的

加载数据

首先,您可以下载数据

加载数据

创建基本的情节

首先,我绘制我的数据以创建原油可视化

数字(“单位”'像素'...“位置”, [100 100 500 375]);持有;hFit = line(xfit, yfit);他= errorbar(xdata_m, ydata_m, ydata_s);hData = line(xdata, yVdata);hModel = line(xmodel, ymodel);hCI(1) = line(xmodel, ymodelell);hCI(2) = line(xmodel, ymodelU);

调整线条属性(功能性)

接下来,我做了我的第一轮修改我的情节。此时,我并不担心美学。

设置(HFIT,...“颜色”, [0 0 .5] ); 设(他,,...“线型”'没有任何'...'标记''。'...“颜色”,(。3.。3.。3.] ); set(hData ,...“线型”'没有任何'...'标记''。');套装(HModel,...“线型”' - '...“颜色”'r');设置(HCI(1),...“线型”' - 。'...“颜色”,[0 .5 0]);SET(HCI(2),...“线型”' - 。'...“颜色”,[0 .5 0]);

调整线属性(美学)

要使它更好地发布 - 质量,我会对行属性进行以下更改,包括错误栏宽度。在
我的观点是,使用更粗的线条和更大的标记极大地改善了我的图形的“外观”。这很主观,但是
我根据图表上的数据量选择它们。我选择适当的“拥挤”(黑暗空间的平衡):

设置(HFIT,...“线宽”,2);套(他,...“线宽”,1,...'标记'“哦”...'Markersize'6...“MarkerEdgeColor”,[.2 .2 .2],...'markerfacecolor',[.7 .7。]);设置(hdata,...'标记'“哦”...'Markersize'5,...“MarkerEdgeColor”'没有任何'...'markerfacecolor',(。7.5.。7.5.1] ); set(hModel ,...“线宽”, 1.5 ); 设置(hCI(1),...“线宽”, 1.5);SET(HCI(2),...“线宽”, 1.5);%调整误差条宽度he_c =...get(他'孩子们');errorbarxdata =....得到(he_c(2),“XData”);errorbarXData(9:结束)=...errorbarXData(1:9:结束)- 0.2;errorbarxdata(7:9:结束)=...errorbarXData(1:9:结束)- 0.2;errorbarXData(9:结束)=...errorbarXData(1:9:结束)+ 0.2;ERRORBARXDATA(8:9:结束)=...errorbarXData(1:9:结束)+ 0.2;集(hE_c (2),“XData”, errorbarXData);

添加图例和标签

没有很好的注解,情节是不完整的。

htitle =标题('我的出版物质量图形');hxlabel = xlabel(的长度(米));hYLabel = ylabel (的质量(公斤));hText = text(10,800,...sprintf (' {C = %0.1g \pm %0.1g (CI)}'...c, cint (2) - c));hLegend =传奇(...[hE, hFit, hData, hModel, hCI(1)],...'数据(\ mu \ pm \ sigma)'...'适合(\它{c x ^ 3})'...验证数据的...”模型(\ {C x ^ 3})”...'95%ci'...'地点'“西北”);

调整字体和轴属性

由于许多出版物接受EPS格式,我选择PostScript和Ghostscript支持的字体。万博1manbetx的东西
不支持的万博1manbetx将由快递员替换。我还定义了记号的位置,特别是当默认值太拥挤时。

集(gca),...“字体名”“Helvetica”);设置[hTitle, hXLabel, hYLabel, hText],...“字体名”'avantgarde');SET([HLEGEND,GCA],...“字形大小”8);[hXLabel, hYLabel, hText],...“字形大小”10);集(hTitle,...“字形大小”,12,...'fontweight'“大胆”);集(gca),...“盒子”“关闭”...'tickdir''出去'...“TickLength”,[.02 .02],...'xminortick''在'...'yminortick''在'...'ygrid''在'...“XColor”,[.3 .3 .3],...“YColor”,[.3 .3 .3],...“伊蒂克”,0:500:2500,...“线宽”1);

出口到每股收益

我设置PaperPositionMode自动使输出的图形看起来与屏幕上的图形一样。

集(gcf,'picensaositionMode''汽车');打印-depsc2finalPlot1.eps关闭;

后期过程

这看起来太棒了!我想要改变的一件事是虚线和虚线的样子。注意这些点
太小。所以,我写了一个简单的函数,进入EPS文件并修改行定义。我发布了
功能,fixPSlinestyle,在文件交换中。

fixPSlinestyle ('finalplot1.eps'“最后时刻”);

好了。我已经自动化了制作出版物质量的图形的过程。处理图形为您提供高级控制图形的样子。如果您不知道,Matlab允许您快速拍摄Matlab脚本
并发布格式化报告(HTML、Word、LaTeX、XML、PPT),其中的数字自动转换为各种图形格式,
包括eps。本文档使用发布

你的例子

告诉我们在这里关于你用Handle Graphics做的一些很酷的事情,让你的图形看起来更漂亮。

发布MATLAB®7.5

|

评论

要留下评论,请点击在这里登录到您的MathWorks帐户或创建一个新帐户。