【Matlab纯代码绘图】---科研报告/SCI绘图
前言
自己一直在Matlab中绘图,包括自己写文章时也是,但之前都是用代码+手动调整的方法,当需要做一些小修改时,又是需要重复进行不必要的调整,非常费时费力。根据个人经验给出纯代码实现各种想要的功能(只针对二维图),希望对读者有所帮助。
主要功能有:
1)背景色从灰色变纯白;
2)xy轴的刻度、标签、legend字体大小及样式,xy轴刻度设置;
3)线型的颜色和样式,线上固定间隔做标记设置;
4)线型颜色的RGB值设置;
5)左右都有纵坐标设置;
6)保存高清图片;
7)方差与均值的学术式绘制方法
1.背景色从灰色变纯白;
一行代码解决
set(0,'defaultfigurecolor','w')
2.xy轴的刻度、标签、legend字体大小及样式,xy轴刻度大小设置;
- xy轴刻度的字体格式及大小设置:
如下所示,gca
为固定格式,FontName
后接字体格式,FontSize
后接字体大小
set(gca,'FontName','Times New Roman','FontSize',13);
- xy轴标签的字体格式,大小设置:
标签中既含中文又含数字格式的设置如下,根据需要再{}中修改字体样式,FontSize
后设置字体大小。
xlabel('\fontname{宋体}时间\fontname{Times New Roman}(s)','FontSize',18);
ylabel('\fontname{宋体}力矩值\fontname{Times New Roman}(Nm)','FontSize',18);
- legend字体大小及样式:
同上述xy轴标签的字体设置一样的原理,多出的'northeast'
代表生成的legend放置与那个位置,这里放置于东北处。
legend('\fontname{宋体}实际力矩基于电流','fontsize',10.5,'location','northeast')
- xy轴的刻度大小设置:
使xy按给定规律画刻度。xticks( )
,yticks( )
括号中写自己需要刻度规律(数组形式)。xlim( )
,ytlim( )
括号中设置上下界(数组格式),不设置可能会出现刻度乱跑。下面是一个示例。
xticks([0 4 8 12]);yticks([ -0.15 -0.05 0.05 0.15 ]);xlim([0,12]);ylim([-0.15,0.15]);
- 四者结合用需要注意的点:
set()
函数必须在xlabel()``ylabel()
之前,不然字体大小会乱,
legend('\fontname{宋体}实际力矩基于电流','fontsize',10.5,'location','northeast')
set(gca,'FontName','Times New Roman','FontSize',13);
xlabel('\fontname{宋体}时间\fontname{Times New Roman}(s)','FontSize',18);ylabel('\fontname{宋体}力矩值\fontname{Times New Roman}(Nm)','FontSize',18);
xticks([0 4 8 12]);yticks([ -0.15 -0.05 0.05 0.15 ]);xlim([0,12]);ylim([-0.15,0.15]);
给出效果图
3. 线型的颜色和样式,线上固定间隔做标记设置;
先只写线型颜色和样式设置(固定间隔做标记给忘了,回头找到相关代码再写上)。只关于plot()
函数的设置。示例:
假设你想绘制横轴为t,纵轴为y的图形;那么使用plot(t,y)
,需要注意t和y维度必须一致。接下来你又想控制颜色,那么使用plot(t,y,'r')
,接上第三个参数'r'
,r值红色,matlab中主要有:r——红色,g——绿色,b——蓝色,c——青绿色,m——粉红色,y——黄色,k——黑色,w——白色。接着又想控制线型,那么使用plot(t,y,'r--')
代表红色双划线,其他类推,matlab中主要有:
一般这些够用了。
4. 线型颜色的RGB值设置;
如果上述那些'r','b','k'
的颜色不能满足你的需求,你需要更高级的基于RGB因子的颜色设置,那matlab也是支持的。这里也只给出关于plot()
函数的设置,示例:
那我们看形如#8B05F7
色号怎么转换并输入到matlab中呢?
一般RGB因子是0-255(十进制)分布,#8B05F7
分别代表的是十六进制下RGB的颜色因子。R因子转10进制:8B=8×16+11=139;G因子转10进制:05=0×16+5=5;B因子转10进制:F7=15×16+7=247。matlab中输入的因子参数为归一化形式的,需要除以255,(有些人除256,个人觉得没多大区别),即[139, 5, 247]/255就是#8B05F7
色号,其他的同理。知道这个之后,就只需要使用'color'
后接上你这个色号,就可以啦。
下面我给出我平常用的三种配色:橙、绿、蓝。然后分享一个比较好的配色网站
plot(t,y1,'color',[0.94,0.38,0.09],'linewidth',2);hold on;
plot(t,y2,'color',[0.05,0.73,0.29],'linewidth',2);hold on;
plot(t,y3,'color',[0.06,0.50,0.84],'linewidth',2);hold on;
给出这三种颜色的一个效果图,具体怎么用直接套就行了,相信有这个需求的人不至于不理解
5.左右都有纵坐标设置;
6.保存高清图片;
步骤看图片
步骤4中的保存的文件类型需要说明一下:.fig
后缀呢是基于matlab可打开的,以后你还可以继续对其进行修改,再进行上述的保存操作,所以建议一般把.fig
文件保存在来,然后再保存成.jpg
/.png
格式高清图片。
7. 方差与均值的学术式绘制方法
先给出效果图,回头写:
结语
后续再补