Matlab论文插图绘制模板第41期—气泡图(bubblechart)
标签: Matlab插图 matlab 开发语言 可视化 论文插图
在之前的文章中分享过Matlab散点气泡图的绘制模板:

说是气泡图,本质上还是散点图,作为论文插图不是很标准。
所以,这一次来分享一下Matlab自带气泡图的绘制模板。
先来看一下成品效果:

特别提示:Matlab论文插图绘制模板系列,旨在降低大家使用Matlab进行科研绘图的门槛,只需按照模板格式添加相应内容,即可得到满足大部分期刊以及学位论文格式要求的数据插图。如果觉得有用可以分享给你的朋友。
模板中最关键的部分内容:
1. 数据准备
此部分主要是读取数据,定义各变量。
% 读取数据
load data.mat
% x坐标
xx = data(:,1);
% y坐标
yy = data(:,2);
% 特征(特征大小对应颜色/点的尺寸)
sz = data(:,3);
2. 颜色定义
颜色搭配比较考验个人审美,需要多加尝试。
这里直接用之前分享的addcolorplus工具中的渐变色:
%% 颜色定义
map = addcolorplus(300);

3. 气泡图绘制
使用‘bubblechart’命令,绘制未经美化的气泡图。
bubblechart(xx, yy, sz, sz,'MarkerFaceAlpha',0.7);
hTitle = title('BubbleChart');
hXLabel = xlabel('XAxis');
hYLabel = ylabel('YAxis');
其中,第一个‘sz’表示气泡的尺寸,第二个‘sz’表示气泡的颜色,这里我用了同一个特征,如果有需要,可以用气泡颜色表示另一种特征。
值得一提的是,bubblechart函数需要Matlab R2020b以上。
4. 细节优化
为了插图的美观,利用’colormap’命令赋上之前选择好的颜色:
% 赋色
colormap(map)
进一步,添加图例,调整字体字号、背景颜色等属性:
% 坐标轴美化
set(gca, 'Box', 'on', ... % 边框
'XGrid', 'off', 'YGrid', 'off', ... % 网格
'TickDir', 'in', 'TickLength', [.01 .01], ... % 刻度
'XMinorTick', 'off', 'YMinorTick', 'off', ... % 小刻度
'XColor', [.1 .1 .1], 'YColor', [.1 .1 .1],... % 坐标轴颜色
'XTick', 0:2:24,... % 坐标区刻度、范围
'XLim', [0 23],...
'YTick', 0:0.2:1.2,...
'YLim', [0 1.2])
% 添加图例
blgd = bubblelegend('Style','vertical',...
'BubbleSizeOrder','descending',...
'box','off',...
'Location','northeastoutside',...
'NumBubbles',3,... ...
'FontName', 'Helvetica',...
'FontSize', 9);
colorbar('Position',[0.79,0.11,0.03,0.4])
% 字体和字号
set(gca, 'FontName', 'Helvetica')
set([hXLabel, hYLabel], 'FontName', 'AvantGarde')
set(gca, 'FontSize', 10)
set([hXLabel, hYLabel], 'FontSize', 11)
set(hTitle, 'FontSize', 12, 'FontWeight' , 'bold')
% 背景颜色
set(gcf,'Color',[1 1 1])
设置完毕后,以期刊所需分辨率、格式输出图片。
%% 图片输出
figW = figureWidth;
figH = figureHeight;
set(figureHandle,'PaperUnits',figureUnits);
set(figureHandle,'PaperPosition',[0 0 figW figH]);
fileout = 'test';
print(figureHandle,[fileout,'.png'],'-r300','-dpng');

也可以尝试其它配色:




以上。
获取方式:
智能推荐
从Java到Android_Java基础_6.Java数组
6.Java数组 一、数组 1.使用数组的原因 2.什么是数组 3.数组声明 4.数组创建 5.数组在内存中的存储 6.局部变量和数组的默认值 7.数组的初始化 8.数组元素的引用 9.数组长度 二、一维数组 1.默认值 2.循环赋值 3.循环输出 4.数组下标越界异常 三、应用 1.求整数数组的累加和 2.求数组元素最大值 四、增强型for循环 1.增强型for循环 2.foreach循环应用 ...
通过修改MotorControl Workbench生成的程序来改变死区时间
本例程是基于MotorControl Workbench 5.2.0版本生成的HALL传感器的FOC控制程序。 程序的修改是在drive_parameters.h文件里211行处,如下图:...
vue组件中使用的一些细节点
1. 在table/ul/ol/select中显示子组件 bug 效果如下,我们会发现出现了…跑到tbody外面和table同级的情况,违反了H5的要求,即tr必须在tbody中,tbody必须在table中。: 解决 2. 子组件中的data函数 在子组件中data应该是一个函数,而不是一个对象;在根组件里data定义为一个对象; 是因为子组件也许会被调用多次,这样定义使每一个子组...
Redis进阶 -CLUSTER NODES 信息结合实际输出信息解读
文章目录 Pre cluster nodes 作用 输出格式 flags 含义 slot 第一种 单哈希槽 第二种 Range 第三种特殊状态 导入和迁移 Pre Redis进阶 - 因异常断电导致的Redis Cluster Fail故障处理 处理了redis cluster 断电后的异常,中间使用了cluster nodes 命令,我们来看下这个命令的组成 cluster nodes Redi...
设计模式-工厂模式-3种-以手机制造工厂为例
超级链接: Java常用设计模式的实例学习系列-绪论 参考:《HeadFirst设计模式》 1.工厂模式存在的意义 工厂存在的意义是:高效的制造某一类产品。 工厂模式存在的意义是:高效的创建某一类对象。 工厂模式有很多种,本文只介绍以下三种: 简单工厂模式,又称静态工厂模式。 工厂方法模式,全称多个工厂方法模式。 抽象工厂模式。 本文以`手机制造工厂生产手机为场景来学习工厂模式。 手机有两种:苹果...
猜你喜欢
MySQL的基础内容
数据库的基本概念 1.数据库的英文单词: DataBase 2.什么是数据库:就是用于存储和管理数据的仓库 3.数据库的特点: 1. 持久化存储数据,其实数据库就是一个文件系统 2. 方面存储和管理数据 3. 使用了统一的方式操作数据库 SQL 1.什么是SQL:Structured Query Language:结构化查询语言 2.SQL通用语法 1. SQL 语句可以单行或多行书写,以分号结尾...
python的.py文件生成可运行的exe文件
使用PyInstaller生成可运行的exe文件 使用第三方库PyInstaller实现.py文件快速生成exe文件可执行文件 注意 首先要将cmd命令行的路径切换到.py文件所在的文件夹目录下 例如:我的.py文件在桌面的code文件夹里面的wordpress文件夹下,使用cd命令进行切换目录,使用dir命令查看当前目录下的子文件的目录 切换到目录下只有输入下面的指令,我的.py文件是prt1....
Spring Cloud系列教程 | 第十七篇:Spring cloud 如何在Zuul中使用fallback功能
推荐 Spring Boot/Cloud 视频: Java 微服务实践 - Spring Boot Java 微服务实践 - Spring Cloud 如何在Zuul中使用fallback功能 我们在项目中使用Spring cloud zuul的时候,有一种这样的需求,就是当我们的zuul进行路由分发时,如果后端服务没有启动,或者调用超时,这时候我们希望Zuul提供一种降级功能,而不是将异常暴露出...
在Visual Studio 2015中使用Git进行代码管理【VS+Qt项目开发系列】(四)
在上一篇博客【VS+Qt项目开发】(三)解决方案与项目文档架构设计中我们介绍了项目架构。 使用Git进行代码管理是非常好的习惯,能记录每一次的进度和遇到、解决的问题,特别是代码的回退为我们提供了保障机制。 拉取(Pull):将远程版本库合并到本地版...
