【科研技巧】Matlab 绘制论文所需格式图实现(柱状图、折线、散点图)

简介: 【8月更文挑战第5天】Matlab绘制不同类型的图表(包括折线图、柱状图和散点图)的代码示例,以及如何调整图表的字体大小、坐标轴描述、图例和网格线等属性,以满足论文所需的格式要求。

1 折线图

(1)纵坐标直接显示数值

clc
clear
figure()
t1 = (2010:1:2019)'
y1 = [40,45,42,41,33,25,26,19,14,19]


plot(t1,y1,'-ro','linewidth',2)

set(gca,'FontSize',15)
set(gcf,'Position',[100 100 700 600]);
ylabel('数量','fontsi',14) %y轴坐标描述
ylabel('年份','fontsi',14) %y轴坐标描述
% xlabel('年份','fontsi',10,'position',[2022 2026]);
xlabel('年份','fontsi',14);
% set(gca,'XTick',[2009:1:2020]) 
title('2010-2019数据')
ylim([10,47]);
set(gca,'XTick',[2009:1:2020]) 
xlim([2009,2020]);

grid on
grid minor

1.png

(2)纵坐标显示对数,纵坐标是10的次幂显示

figure()
x = 0:5:30
y = [0.045,0.006,0.005,0006,0.0004,0.0002,0.0001]% y是你的数据
% 纵坐标是10的次幂显示
semilogy(x,y,'-r*','linewidth',2)
% 纵坐标是直接显示数据
% plot(x,y.BER,'-r*','linewidth',2)
legend('数量');%右上角标注
xlabel('横轴')  %x轴坐标描述
ylabel('纵轴') %y轴坐标描述
%     ylim([10^(-3) 0])%y轴范围
xlim([0 30])%x轴范围
set(gca,'FontSize',15)%字体大小
set(gcf,'Position',[100 100 700 600]);%边框大小
grid on%打开表格线
grid minor

2.png

2 抓状图

(1)单个柱状图

clc
clear
figure()
y = [8,7,7,6,6]
Method{1}='方法1';
Method{2}='方法2';
Method{3}='方法3';
Method{4}='方法4';
Method{5}='方法5';



b=bar(y,0.6);
set(gca,'FontSize',13)
set(gcf,'Position',[100 100 700 600]);
ylabel('文献数(篇)','fontsi',14) %y轴坐标描述
set(gca,'xticklabel',{Method{1},Method{2},Method{3},Method{4},Method{5}})
ylim([0,10]);
set(gca,'XTick',[1:1:5]) 

xtb = get(gca,'XTickLabel');% 获取横坐标轴标签句柄
xt = get(gca,'XTick');% 获取横坐标轴刻度句柄
yt = get(gca,'YTick'); % 获取纵坐标轴刻度句柄         
xtextp=xt;%每个标签放置位置的横坐标,这个自然应该和原来的一样了。                    
ytextp=yt(1)*ones(1,length(xt)); 
text(xtextp,ytextp,xtb,'HorizontalAlignment','left','rotation',-45,'fontsize',12);
set(gca,'xticklabel','');% 将原有的标签隐去


xtips1 = b.XEndPoints;
ytips1 = b.YEndPoints; %获取 Bar 对象的 XEndPoints 和 YEndPoints 属性
labels1 = string(b.YData); %获取条形末端的坐标
text(xtips1,ytips1,labels1,'HorizontalAlignment','center',...
    'VerticalAlignment','bottom')
grid on
grid minor

3.png

(2)两个柱状图同时显示

clc
clear
figure()
y = [12 3.95;24 7.89;25 8.22;13 4.28;23 7.57]
Method{1}= '方法一';
Method{2}='方法二';
Method{3}='方法三';
Method{4}='方法四';
Method{5}='方法五';



b=bar(y,0.6);%0.6表示宽度占比
set(gca,'FontSize',13)
set(gcf,'Position',[100 100 700 600]);
ylabel('数量|占比','fontsi',14) %y轴坐标描述
set(gca,'xticklabel',{Method{1},Method{2},Method{3},Method{4},Method{5}})
% ylim([0,10]);
set(gca,'XTick',[1:1:5]) 

xtb = get(gca,'XTickLabel');% 获取横坐标轴标签句柄
xt = get(gca,'XTick');% 获取横坐标轴刻度句柄
yt = get(gca,'YTick'); % 获取纵坐标轴刻度句柄         
xtextp=xt;%每个标签放置位置的横坐标,这个自然应该和原来的一样了。                    
ytextp=yt(1)*ones(1,length(xt)); 
text(xtextp,ytextp,xtb,'HorizontalAlignment','left','rotation',-45,'fontsize',12);
set(gca,'xticklabel','');% 将原有的标签隐去

% 在蓝色的柱状图的上,显示数值
xtips1 = b(1).XEndPoints;
ytips1 = b(1).YEndPoints; %获取 Bar 对象的 XEndPoints 和 YEndPoints 属性
labels1 = string(b(1).YData); %获取条形末端的坐标
text(xtips1,ytips1,labels1,'HorizontalAlignment','center',...
    'VerticalAlignment','bottom')

% 在黄色的柱状图的上,显示数值
xtips2 = b(2).XEndPoints;
ytips2 = b(2).YEndPoints; %获取 Bar 对象的 XEndPoints 和 YEndPoints 属性
labels2 = string(b(2).YData); %获取条形末端的坐标
text(xtips2,ytips2,labels2,'HorizontalAlignment','center',...
    'VerticalAlignment','bottom')
grid on
grid minor

4.png

3 散点图

figure()
x=-8:1:8;
y=x.^2;
scatter(x,y,'*')
legend('数量');%右上角标注
xlabel('横轴')  %x轴坐标描述
ylabel('纵轴') %y轴坐标描述
set(gca,'FontSize',15)%字体大小
set(gcf,'Position',[100 100 700 600]);%边框大小
grid on%打开表格线
grid minor

5.png

目录
相关文章
|
7月前
|
编解码 资源调度
MATLAB | 绘图配色第九期带高斯分布的直方图
MATLAB | 绘图配色第九期带高斯分布的直方图
84 0
|
7月前
|
存储 编解码
MATLAB | 科研绘图第十八期散点密度图
MATLAB | 科研绘图第十八期散点密度图
197 0
|
7月前
|
编解码
MATLAB | 科研绘图第十三期表示散点分布的双柱状统计图
MATLAB | 科研绘图第十三期表示散点分布的双柱状统计图
42 0
|
机器学习/深度学习 传感器 算法
【免费】基于matlab绘制三维柱形图
【免费】基于matlab绘制三维柱形图
|
7月前
MATLAB实战 | 科赫曲线的绘制
MATLAB实战 | 科赫曲线的绘制
431 0
MATLAB实战 | 科赫曲线的绘制
|
7月前
|
编解码
MATLAB | SCI 绘图配色第三四期 | 二维堆叠柱状图 | 大理寺日志
MATLAB | SCI 绘图配色第三四期 | 二维堆叠柱状图 | 大理寺日志
86 0
|
7月前
|
编解码
MATLAB | SCI 绘图配色第七期 | 二维纵轴堆叠柱状图 | 雾山五行
MATLAB | SCI 绘图配色第七期 | 二维纵轴堆叠柱状图 | 雾山五行
109 0
|
7月前
|
编解码
MATLAB | SCI绘图配色第三期 | 二维柱状图 | 一人之下
MATLAB | SCI绘图配色第三期 | 二维柱状图 | 一人之下
122 0
|
7月前
|
编解码
MATLAB | 科研绘图第十四期表示散点分布的双柱状双Y轴统计图
MATLAB | 科研绘图第十四期表示散点分布的双柱状双Y轴统计图
50 0
|
7月前
|
编解码
MATLAB | SCI 绘图配色第六期 | 三维折线图
MATLAB | SCI 绘图配色第六期 | 三维折线图
194 0