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

Posted Better Bench

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了科研技巧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

(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 抓状图

(1)单个柱状图

clc
clear
figure()
y = [8,7,7,6,6]
Method1='方法1';
Method2='方法2';
Method3='方法3';
Method4='方法4';
Method5='方法5';



b=bar(y,0.6);
set(gca,'FontSize',13)
set(gcf,'Position',[100 100 700 600]);
ylabel('文献数(篇)','fontsi',14) %y轴坐标描述
set(gca,'xticklabel',Method1,Method2,Method3,Method4,Method5)
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

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

clc
clear
figure()
y = [12 3.95;24 7.89;25 8.22;13 4.28;23 7.57]
Method1= '方法一';
Method2='方法二';
Method3='方法三';
Method4='方法四';
Method5='方法五';



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',Method1,Method2,Method3,Method4,Method5)
% 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

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

以上是关于科研技巧Matlab 绘制论文所需格式图实现(柱状图折线散点图)的主要内容,如果未能解决你的问题,请参考以下文章

科研技巧Mac下使用SciDavis绘制科研论文图教程(安装及使用)

【无机纳米材料科研制图——OriginLab 0204】Origin细胞存活率柱状图绘制

Matlab---绘制柱状图

MATLAB | 绘图复刻 | 折线图+误差棒+柱状图+散点抖动+灰色背景+图片叠加

MATLAB | 绘图复刻 | 折线图+误差棒+柱状图+散点抖动+灰色背景+图片叠加

MATLAB如何绘制每组数量不一致柱状图