Matlab进阶绘图第49期—气泡堆叠图

news2024/11/26 10:34:28

气泡堆叠图是堆叠图与气泡图的组合—在堆叠图每根柱子上方添加大小不同的气泡,用于表示另外一个数据变量(如每根柱子各组分的平均值)的大小

本文利用自己制作的BarBubble工具,进行气泡堆叠图的绘制,先来看一下成品效果:

特别提示:本期内容『数据+代码』已上传资源群中,加群的朋友请自行下载。有需要的朋友可以关注同名公号【阿昆的科研日常】,后台回复关键词【绘图桶】查看加入方式


1. 数据准备

此部分主要是读取原始数据并初始化绘图参数

% 读取数据load data.mat% 初始化绘图参数bardata = y1;bubbledata = y2;offset = 1.6;bsz = [5 20];

2. 颜色定义

作图不配色就好比做菜不放盐,总让人感觉少些味道。

但颜色搭配比较考验个人审美,需要多加尝试。

这里直接使用TheColor配色工具中的SCI权威配色库

C = TheColor('sci',2040,'map',4);C = flipud(C);

3. 气泡堆叠图绘制

调用‘BarBubble’命令,绘制初始气泡堆叠图

[b1,b2] = BarBubble(bardata,bubbledata,offset,bsz,'stacked');hTitle = title('Stacked Bar with Bubble');hXLabel = xlabel('Samples');hYLabel = ylabel('Number');

4. 细节优化

为了插图的美观与信息完整性,对图形细节等进行美化

% 气泡堆叠图属性调整% 堆叠图for i = 1:4    b1(i).FaceColor = C(i,1:3);    b1(i).BarWidth = 0.8;    b1(i).LineWidth = 0.8;end% 气泡图b2.MarkerFaceColor = [0.2 0.2 0.2];b2.MarkerFaceAlpha = 1;b2.MarkerEdgeColor = [0.2 0.2 0.2];% 坐标区调整set(gca, 'Box', 'off', ...                                   % 边框         'LineWidth', 1,...                                  % 线宽         'XGrid', 'on', 'YGrid', 'on', ...                   % 网格         'TickDir', 'out', 'TickLength', [.015 .015], ...    % 刻度         'XMinorTick', 'off', 'YMinorTick', 'off', ...       % 小刻度         'XColor', [.1 .1 .1],  'YColor', [.1 .1 .1])        % 坐标轴颜色% 坐标轴刻度调整set(gca, 'YTick', 0:0.2:2,...         'Ylim' , [0 1.8], ...         'Xlim' , [0.2 15.8], ...         'XTick', 1:15)% 气泡图图例blgd = bubblelegend('Location','southeastoutside',...                    'Style','vertical',...                    'BubbleSizeOrder','descending',...                    'box','off',...                    'NumBubbles',3,... ...                    'FontName', 'Arial',...                    'FontSize', 11);% 气泡堆叠图图例    hLegend = legend(b1, ...                 ' A1', ' A2', ' A3', ' A4', ...                 'Position',[0.79,0.35,0.11,0.15],...                 'Orientation','vertical');legend('boxoff');% 字体和字号set(gca, 'FontName', 'Arial', 'FontSize', 10)set([hLegend, hXLabel, hYLabel], 'FontSize', 11, 'FontName', 'Arial')set(hTitle, 'FontSize', 12, 'FontWeight' , 'bold')% 背景颜色set(gcf,'Color',[1 1 1])% 添加上、右框线xc = get(gca,'XColor');yc = get(gca,'YColor');unit = get(gca,'units');ax = axes( 'Units', unit,...           'Position',get(gca,'Position'),...           'XAxisLocation','top',...           'YAxisLocation','right',...           'Color','none',...           'XColor',xc,...           'YColor',yc);set(ax, 'linewidth',1,...        'XTick', [],...        'YTick', []);

设置完毕后,以期刊所需分辨率、格式输出图片。

%% 图片输出figW = figureWidth;figH = figureHeight;set(figureHandle,'PaperUnits',figureUnits);set(figureHandle,'PaperPosition',[0 0 figW figH]);fileout = 'test';print(figureHandle,[fileout,'.png'],'-r300','-dpng');

以上。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1580109.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

牛客 2024春招冲刺题单 ONT82 腐烂的苹果【中等 BFS Java,Go】

题目 题目链接: https://www.nowcoder.com/practice/54ab9865ce7a45968b126d6968a77f34 思路 广度优先搜索。首先找到2坐标集合,然后每次往四周为1的坐标扩展参考答案Java import java.util.*;public class Solution {/*** 代码中的类名、方法名、参数…

Unity 世界坐标、屏幕坐标、UGUI 坐标 相互转换

Unity 世界坐标、屏幕坐标、UGUI 坐标 相互转换坐标转换是游戏开发过程中必不可少的环节 看下图 世界坐标、屏幕坐标、UI 坐标 三种坐标系的转换过程,此文章中的 UI 坐标特指 UGUI 坐标 从上图可以看到,世界坐标 和 UI 坐标 需要通过 屏幕坐标作为中间转…

从“危”到“机”:HubSpot如何助企业转化出海营销CRM风险?

在全球化的大背景下,越来越多的企业选择出海拓展业务,以寻求更大的发展空间。然而,随着市场的扩大,企业在出海营销过程中也面临着各种风险。为了有效规避这些风险,许多企业选择借助HubSpot这样的专业营销软件。今天运营…

A Study of Network Forensic Investgation in Docker Environments文章翻译

A Study of Network Forensic Investgation in Docker Environments Docker环境下的网络取证研究 摘要 网络罪犯利用越来越多的技术(如虚拟机或基于容器的基础设施)进行恶意活动。 这些虚拟环境的固有动态简化了恶意服务的快速创建,并隐藏了所涉及的系统,这是以前没有的技…

C语言面试题之化栈为队

化栈为队 实例要求 C语言实现实现一个MyQueue类,该类用两个栈来实现一个队列;示例: MyQueue queue new MyQueue();queue.push(1); queue.push(2); queue.peek(); // 返回 1 queue.pop(); // 返回 1 queue.empty(); // 返回 false说明&…

关于51单片机TMOD定时器的安全配置

定时器介绍: -------------------------------------------------------------------------------------------------------------------------- 首先配置的是控制寄存器 TCON 说直白点,这个寄存器就是用来计数的,打开计时器,关…

UEditor 任意文件上传漏洞

前言 前段时间在做某政府单位的项目的时候发现存在该漏洞,虽然是一个老洞,但这也是容易被忽视,且能快速拿到shell的漏洞,在利用方式上有一些不一样的心得,希望能帮助到一些还不太了解的小伙伴,故此写了此篇…

AI爆款文案 巧用AI大模型让文案变现插上翅膀

💂 个人网站:【 摸鱼游戏】【神级代码资源网站】【工具大全】🤟 一站式轻松构建小程序、Web网站、移动应用:👉注册地址🤟 基于Web端打造的:👉轻量化工具创作平台💅 想寻找共同学习交…

kali基础渗透学习,永恒之蓝,木马实战

简介 kali的学习本质是在linux上对一些攻击软件的使用,只是学习的初期 先在终端切换到root用户,以便于有些工具对权限的要求 下载链接 镜像源kali 攻击流程 公网信息搜集 寻找漏洞,突破口,以进入内网 进入内网&#xff0c…

组装机械狗电子玩具方案

这款机械狗玩具电子方案结合了现代电子技术和人工智能元素,旨在为用户提供一个高科技、互动性强的娱乐体验。通过不断的软件更新和硬件迭代,机械狗的功能将持续扩展。 一、功能特点: 1、自动巡游:机械狗能够自主在房间内巡游&am…

用Wireshark工具对gRPC接口进行本地抓包

前言: 本人一名敲代码的程序员,突然领导安排研究gRPC接口,并且抓包分析, 抓包工具试了Charles、mitmproxy都不行,浪费很多时间,最后使用Wireshark工具对本地启动的gRPC接口成功抓包,关于安装W…

modelsim 仿真bmp图片实现RGB_YCrCb

用modelsim_se软件仿真bmp图片,可在modesim中实现一些图片处理算法和查看效果 本文以最简单的仿真一副bmp图像为例,实现RGB_YCrCb的modelsim仿真,带源工程 1、先在本地建立文件夹 2、首先打开moselsim 3、新建库和新建项目,保存到建立的文件…

逐行讲解python实现A*路径规划

目录 搜索步骤关键点开集合和闭集合复杂度优化 代价父节点替换 距离地图设置 完整代码备注 搜索步骤 A*路径规划是一种广度优先搜索算法,需要在栅格地图上进行搜索。其主要搜索步骤如下: 得到栅格地图,确定起点和终点位置;计算起…

Vue项目打包配置生产环境去掉console.log语句的方法

一、Vue2项目 使用webpack内置的 terser 工具,在vue.config.js文件加上相应的配置即可。 二、Vue3项目 同样是使用 terser 工具,不过vite没有内置terser,需要手动安装依赖 安装完后在vite.config.js文件加上相应的配置即可。 2024-4-9

深挖抖快近2000个品类,我们发现了10万亿“她经济”的新商机!

在这个数字化时代,女性消费力量正以前所未有的速度崛起。根据埃森哲数据显示,我国现有近4亿20岁-60岁的女性消费者,其每年所掌握的消费支出高达10万亿元! 面对庞大的“她经济”市场,专属于女性的三八妇女节&#xff0c…

【Python系列】读取 Excel 第一列数据并赋值到指定列

💝💝💝欢迎来到我的博客,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。 推荐:kwan 的首页,持续学…

米多论文方便吗 #经验分享#经验分享

米多论文是一款专业的论文写作、查重和降重工具,被广泛认可为高效、靠谱、方便的软件。无论是学生、科研人员还是教师,都可以从中受益匪浅。 首先,米多论文拥有强大的查重功能,可以帮助用户快速检测论文中的抄袭内容,提…

openGauss 5.0 单点企业版部署_Centos7_x86(上)

背景 通过openGauss提供的脚本安装时,只允许在单台物理机部署一个数据库系统。如果您需要在单台物理机部署多个数据库系统,建议您通过命令行安装,不需要通过openGauss提供的安装脚本执行安装。 本文档环境:CentOS7.9 x86_64 4G1…

人社大赛算法赛题解题思路分享+季军+三马一曹团队

团队成员介绍: 梅鵾 上海交通大学 众安科技 算法工程师 吴栋梁 复旦大学 众安科技 算法工程师 李玉娇 复旦大学 众安科技 算法工程师 一、赛题背景分析及理解 本赛题提供了部分地区2016年度的医疗保险就医结…