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*6≈1cm表示左隔1cm之后开始绘制x轴
0.66666的作用为0.66666*6≈4cm表示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轴标签中文用宋体,英文用其它字体,该如何解决?
MATLAB画图---设置坐标轴为固定值(以4厘米为例)相关推荐
- MATLAB画图——设置轴标签不同字体
MATLAB画图--设置轴标签不同字体 投论文需要插入MATLAB图,但是图需要按照严格的文字格式怎么办?如,x轴标签"时间/s"需要8号字体且中文宋体,英文Times New R ...
- bar图设置距离 python_python画图设置坐标轴的位置及角度及设置colorbar
用python画图 设置y轴在右边显示 f, ax = plt.subplots(figsize = (14, 10)) sns.heatmap(corr,cmap='RdBu', linewidth ...
- matlab之设置坐标轴范围和纵横比函数axis
一.功能 设置坐标轴范围和纵横比 二.语法 1.axis(limits) 指定当前坐标区的范围.以包含 4 个.6 个或 8 个元素的向量形式指定范围. 2.axis style 使用预定义样式设置轴 ...
- python如何画图设置坐标轴_python matplotlib坐标轴设置的方法
在使用matplotlib模块时画坐标图时,往往需要对坐标轴设置很多参数,这些参数包括横纵坐标轴范围.坐标轴刻度大小.坐标轴名称等 在matplotlib中包含了很多函数,用来对这些参数进行设置. 我 ...
- matlab画图双坐标轴和多坐标轴代码
matlab的绘图模块相比于其他软件要好看很多,可以使用句柄画出很漂亮的图,下面介绍plot画单坐标轴图和双坐标轴图,另附上多坐标轴图的代码下载 一.单坐标轴图 直接使用plot(x,y)即可,x为横 ...
- matlab画图设置
设置坐标轴显示范围: xlim([0,150]) 设置坐标轴显示的刻度: set(gca, 'XTicklabel',[0,50,100,150] ); 不显示坐标轴刻度: set(gca, 'YTi ...
- MATLAB绘图设置坐标轴标注
绘图之后设置坐标轴标注,以下均为用例,自行按需更改 xlim([0,512]); %限制x轴坐标数值范围 ylim([0,512]); %限制y轴坐标数值范围 set(gca,'XTick',0:51 ...
- matlab画图 设置按钮,Matlab绘图操作(1)
1 二维数据曲线图 1.1 绘制单根二维曲线 plot函数的基本调用格式为:plot(x,y) 其中x和y为长度相同的向量,分别用于存储x坐标和y坐标数据. 例1 在0≤x≤2p区间内,绘制曲线 y= ...
- python画图设置坐标轴为科学记数法_防止matplotlib.pyplot中的科学记数法
当年话下 就您而言,您实际上是想禁用偏移量.使用科学计数法是与根据偏移值显示事物分开的设置.但是,它ax.ticklabel_format(useOffset=False)应该可以工作(尽管您将其列为 ...
最新文章
- 软件项目开发无成熟框架套路之成本代价
- Viewpager的创建和使用——————————不懂的大家可以问,欢迎提问
- java.lang.IllegalStateException: Context namespace element ‘annotation-config’ and its parser class
- 「后端小伙伴来学前端了」Vue中全局事件总线(GlobalEventBus)原理及探究过程
- 《MySQL——恢复数据-误删行、表、库》
- MAC 更新 PHP 指南 以及 PHP常用命令示例
- 笨办法学 Python · 续 练习 8:`cut`
- UI设计实用素材|iPhone样机模型(展示你的应用程序、网站或用户界面的完美方式。
- Codeforces 710 E. Generate a String (dp)
- python---之suplot和suplots的区别
- oracle函数应用,oracle函数应用
- 锐起无盘XP安装与配置图文(一)
- OrCAD(二)功能详情与实战总结
- github网络安全项目工具集合
- 【Pytorch】解决使用BucketIterator.splits警告volatile was removed and now has no effect. Use `with torch.no_g
- 西南科技大学计算机考研好考吗,西南科技大学考研难吗?一般要什么水平才可以进入?...
- CenterNet做2D和3D目标检测
- RISC-V应用于高性能处理器的可能性
- 程序猿生存指南-60 一晌贪欢
- 同一交换机不同网段的主机间通信