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');

也可以尝试其它配色:

以上。

获取方式:

Matlab气泡图模板

版权声明:本文为qq_26447137原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/qq_26447137/article/details/126103452

智能推荐

从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.工厂模式存在的意义 工厂存在的意义是:高效的制造某一类产品。 工厂模式存在的意义是:高效的创建某一类对象。 工厂模式有很多种,本文只介绍以下三种: 简单工厂模式,又称静态工厂模式。 工厂方法模式,全称多个工厂方法模式。 抽象工厂模式。 本文以`手机制造工厂生产手机为场景来学习工厂模式。 手机有两种:苹果...

猜你喜欢

find

   ...

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):将远程版本库合并到本地版...