【科研技巧】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

目录
相关文章
【MATLAB】全网入门快、免费获取、持续更新的科研绘图教程系列1
【MATLAB】全网入门快、免费获取、持续更新的科研绘图教程系列1
278 0
【MATLAB】全网入门快、免费获取、持续更新的科研绘图教程系列1
|
程序员 数据库 开发者
值得收藏!如何快速画出一幅漂亮的架构图
这篇文章总结了常用的架构图类型,可以借鉴笔者提供的模板,快速地产出符合业务需要的架构图。
162323 95
|
机器学习/深度学习 人工智能 自然语言处理
一文搞懂【知识蒸馏】【Knowledge Distillation】算法原理
一文搞懂【知识蒸馏】【Knowledge Distillation】算法原理
一文搞懂【知识蒸馏】【Knowledge Distillation】算法原理
|
Windows
mathtype7产品激活密钥最新
MathType是强大的数学公式编辑器,MathType公式编辑器可以说是专门为理科生准备的软件,它可以帮助用户快速的在各种文档中插入符号和公式,不论是简单的公式和符号,还是复杂的都可以非常轻松的输入,并且在与office文档结合使用时,表现的非常完美,是非常好的一款软件,与常见的文字处理软件和演示程序配合使用,能够在各种文档中加入复杂的数学公式和符号,可用在编辑数学试卷、书籍、报刊、论文、幻灯演示等方面,是编辑数学资料的得力工具。
49369 0
【Matlab 2019b】Matlab在figure中如何把横坐标或者纵坐标单位转换为10的几次方
本文提供了在Matlab中如何改变图形坐标轴单位的方法,举例说明了如何将横轴刻度标签设置为特定的年份,并调整刻度取值以匹配自变量的变化。
1938 1
|
12月前
|
数据可视化 算法 Python
基于OpenFOAM和Python的流场动态模态分解:从数据提取到POD-DMD分析
本文介绍了如何利用Python脚本结合动态模态分解(DMD)技术,分析从OpenFOAM模拟中提取的二维切片数据,以深入理解流体动力学现象。通过PyVista库处理VTK格式的模拟数据,进行POD和DMD分析,揭示流场中的主要能量结构及动态特征。此方法为研究复杂流动系统提供了有力工具。
578 2
基于OpenFOAM和Python的流场动态模态分解:从数据提取到POD-DMD分析
|
机器学习/深度学习 自然语言处理 大数据
【Transformer系列(2)】注意力机制、自注意力机制、多头注意力机制、通道注意力机制、空间注意力机制超详细讲解
【Transformer系列(2)】注意力机制、自注意力机制、多头注意力机制、通道注意力机制、空间注意力机制超详细讲解
6979 2
【Transformer系列(2)】注意力机制、自注意力机制、多头注意力机制、通道注意力机制、空间注意力机制超详细讲解
|
存储 Linux Docker
在Docker中,本地的镜像文件都存放在哪里?
在Docker中,本地的镜像文件都存放在哪里?
|
存储 运维 监控
带你从概念、指标、标准这3方面了解所谓的数据中心。
带你从概念、指标、标准这3方面了解所谓的数据中心。
774 0
|
机器学习/深度学习
YOLOv8的多分类模型如何计算准确率(Accuracy)、精确率(Precision)、召回率(recall)和F1-Score模型评估参数
YOLOv8的多分类模型如何计算准确率(Accuracy)、精确率(Precision)、召回率(recall)和F1-Score模型评估参数