MATLAB画图---设置坐标轴为固定值(以4厘米为例)

在我们写论文的时候,通常要绘制仿真结果图。不同的期刊会有不同的格式要求,碰到一些期刊要求比较严格的,就会很伤脑筋。
例如某个期刊的格式要求:

  • 带坐标的图,单幅宽度(横坐标宽度,不包含参量与文字)4 cm。非坐标图视具体情况而定,一般单幅约6 cm。双幅横排12 cm,3幅横排16 cm;
    在这里插入图片描述
图1

那么我们如何画一张宽和高为6cm,其中坐标轴宽度为4cm的图呢?
在这之前,我去网上查了一些方法,有说将matlab的图片放到visio中然后取消组合的,还有一些方法都不适合,好在自己最终捣鼓出来了。
以这篇博客为例MATLAB中如何设置图片大小?,在这篇博客中,首先通过以下命令,将图片的大小设置为7cm×5cm。

set(gcf,’unit’,’centimeters’,’position’,[3 5 7 5])%前面的3 5 指的是要生成的图片窗口距离电脑左下角的距离
%后面的7 5 指的是实际图片大小

在这里插入图片描述

图2

然后,通过以下命令,将坐标轴的宽度按比例去占据。

set(gca,'Position',[0.15 0.15 0.8 0.75]);
说明:
%0.15 x轴起点从7*0.15=1.05cm的位置开始
%0.15 y轴的起点从5*0.15=0.75cm
%0.8 表示x轴的长度占总宽度的比例为0.8,即x轴的长度为7*0.8=5.6cm
%0.75 同理表示y轴的长度为5*0.75=3.75cm

在这里插入图片描述

图3

这样一来不就很简单了吗,开干!(可是事实真的如此吗?)
分析,要求图片为6cm6cm,坐标轴为4cm4cm,大致的形状如下:在这里插入图片描述

图4

按照上面的思想,两条代码应这样设置:

set(gcf,’unit’,’centimeters’,’position’,[10 10 6 6])set(gca,'Position',[0.16666 0.16666 0.66666 0.66666]);

其中0.16666的作用为0.16666*61cm表示左隔1cm之后开始绘制x轴
0.66666的作用为0.66666*64cm表示x轴的长度为4cm
补充(其实第二行的代码可以不用设置,在图片的属性编辑器中也可以设置)

但是当我将我的图(随意弄了一个图:有对照组)按照这种方法画了出来,会发现是下面这个鬼样子,图片确实是缩小了,但是图例并不会按照比例去缩小。(图例指的是每个颜色代表什么意思,这个应该都懂的)
在这里插入图片描述

图5
  • 那有什么方法能够在图例保持不变的情况下,将图片按照大小为6cm6cm,并且包含坐标轴为4cm4cm呢?

进入正文

还是借助上面的比例的思想,因为这个比例我们已经知道了:0.66666=4cm/6cm,我们可以现在图片比较大的时候,将所有图都画好,然后设置好比例即可,最后即使是10cm10cm的图,我们把它缩放为6cm6cm依然适用。可能有点绕口,直接看操作吧。
第一步: 无需设置什么东西,直接画图即可,然后点击查看,把绘图浏览器和属性编辑器打开。在这里插入图片描述

图6

第二步: 在属性编辑器中有一个检查器,打开它。在这里插入图片描述

图7

在属性检查器中,我们可以看到Location and Size这个标签,这个和之前出现过的

set(gcf,’unit’,’centimeters’,’position’,[10 10 6 6])

有异曲同工之妙,从图8我们也能看出来,x和y由于距离左下角很近,所以接近0,width和height表示图片的长度,这里我们最好拖动窗口保证width=height在这里插入图片描述

图8

第三步: 在图9中我已经把图片的宽和高设置成一样了,我设置的是500,这个数值不影响,只要一样就行。下一步只需把坐标轴的比例设置一下就好了。在这里插入图片描述

图9

第四步: 然后,鼠标选中坐标轴,再点击属性检查器,修改Location and Size这个标签中的position,其他地方不要动,将其改成[0.16666 0.16666 0.66666 0.66666],当然小数点越多越精确了。在这里插入图片描述

图10

第五步:,我们点击左上角的编辑,然后复制图片到visio软件上,然后修改图片的大小为60mm*60mm。可以发现图片已经是我们想要的效果了。在这里插入图片描述

图11

在这里插入图片描述

图12

最后一步: 保存当前图片,这个看你想要保存什么要求的图片了,至于我就保存为emp格式,放在论文中也不失真,很清晰。在图14中上一幅图的宽度我设为成了4cm,对比发现我们画出的图片完美的符合预期。在这里插入图片描述

图13

在这里插入图片描述

图14

这段话是第二天写的:

当时没注意,以为万事大吉了,后面才发现上面的操作搞完之后,虽然长度都满足了,但是100%状态下看的时候字体还是会不清楚,原因就是因为当初放大的时候设置的是8pt,缩小到6cm*6cm实际上字体就不是8pt了。但是我没有把这篇博客删了,目的是让大家知道MATLAB在画图这方面真的不是万能的。
建议: 画图还是origin香,MATLAB用于跑实验就好了,最后的数据结果放在origin展示。MATLAB虽然说可以满足大部分的要求,但是有些期刊的要求真的不好搞,不如直接上手origin,也没什么学习成本,我用汉化破解版的,半天就上手了,如果不知道去哪安装,推荐一个微信公众号软件通,(我不是来打广告的,这公众号也没给我广告费,只是给小伙伴们一个良心的建议,祝大家早日发文章)。

为了解决这个bug以及写这篇博客费了我好多心思,觉得本文内容对你有所帮助的话,希望能点赞收藏,你的鼓励是对我最大的支持!祝看完这篇文章的小伙伴论文都能顺利录用!

连接导航—论文要求MATLAB坐标轴中的x和y轴标签中文用宋体,英文用其它字体,该如何解决?

猜你喜欢

转载自blog.csdn.net/qq_40077565/article/details/121492530
今日推荐