Matlab进阶绘图第30期—冲击图

2023-09-20 10:56:58

冲击图是一种特殊的堆叠柱状图

与堆叠柱状图相比,冲击图添加了相邻柱子中相同组分之间的连线,可以更加清晰地表达各组分占比情况

由于Matlab中未收录冲击图的绘制函数,因此需要大家自行解决。

本文使用自制的Fbarstacked小工具进行冲击图的绘制,先来看一下成品效果:

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


1. 数据准备

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

% 读取数据load data.mat% 初始化绘图参数y = A(:,1:6);

2. 颜色定义

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

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

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

%% 颜色定义map = TheColor('sci',2064,'map',10);map = flipud(map);C = map([1 2 3 6],1:3);

3. 冲击图绘制

调用‘Fbarstacked’命令,绘制初始冲击图

GO = Fbarstacked(y,0.4,C,0.7);hTitle = title('Filled stacked bar chart');hXLabel = xlabel('Samples');hYLabel = ylabel('RMSE (m)');

4. 细节优化

为了插图的美观,将初始冲击图坐标区基本参数进行调整

% 坐标区基本属性调整set(gca, 'Box', 'off', ...                                         % 边框         'LineWidth', 1, ...                                       % 线宽         'XGrid', 'off', 'YGrid', 'on', ...                        % 网格         'TickDir', 'out', 'TickLength', [.01 .01], ...            % 刻度         'XMinorTick', 'off', 'YMinorTick', 'off', ...             % 小刻度         'XColor', [.1 .1 .1],  'YColor', [.1 .1 .1])              % 坐标轴颜色% 坐标轴刻度调整set(gca, 'YTick', 0:0.3:1.5,...         'Ylim' , [0 1.5], ...         'Xlim' , [0.5 6.5], ...         'XTick', 1:7,...         'Xticklabel',{1:7},...         'Yticklabel',{0:0.3:1.5})% legendhLegend = legend([GO(1),GO(2),GO(3),GO(4)],...         {'A', 'B', 'C', 'D'});% 字体和字号set(gca, 'FontName', 'Arial', 'FontSize', 10)set([hLegend, hXLabel, hYLabel], 'FontName', 'Arial', 'FontSize', 11)set(hTitle, 'FontSize', 12, 'FontWeight' , 'bold')% 背景颜色set(gcf,'Color',[1 1 1])

然后,以期刊所需分辨率、格式输出图片。

%% 图片输出exportgraphics(gca,'test.png','Resolution',300)

以上。

更多推荐

k8备份与恢复-Velero

简介Velero是一款可以安全的备份、恢复和迁移Kubernetes集群资源和持久卷等资源的备份恢复软件。Velero实现的kubernetes资源备份能力,可以轻松实现Kubernetes集群的数据备份和恢复、复制kubernetes集群资源到其他kubernetes集群或者快速复制生产环境到测试环境等功能,这种备份

4. algorithm

algorithm书写1.algorithm2.algorithm2e1.algorithm在LaTeX中,要显示算法,您可以使用algorithm宏包来排版算法,并使用algorithmic宏包来编写算法的伪代码。以下是显示算法的基本步骤:导入宏包:在LaTeX文档的导言区(preamble)中,导入algorith

idea集成tomcat(Smart Tomcate插件安装)

当我们在tomcat上部署好一个webapp后,如果我们要修改代码,就需要重新进行打包和部署,但往往在工作中是需要频繁修改代码,然后再查看成果的,就需要反复的进行打包和部署的过程,这是很麻烦的通过SmartTomcate插件我们就能解决这个问题,可以直接使用idea图形化界面把代码部署到tomcat上达成“一键打包&部

Windows服务器设置Nginx实现分布式服务

1.安装Nginx下载Nginx-1.16.1版本。解压到如下目录:设置环境变量:检查版本:启动nginx.exe,出现黑框一闪而过,进程中出现如下情况代表启动成功:2.搭建模拟HTTP服务下载wiremock-standalone-2.25.1.jar,可以使用Maven配置pom.xml下载。注意下载standal

JavaWeb后端开发 JWT令牌解析 登录校验 通用模板/SpringBoot整合

目录实现思路相关技术的解析​编辑会话跟踪三个方案JWT令牌技术​生成令牌校验令牌登录下发令牌实现思路通过登录成功的标记来检测,在每个接口前做一个标记判断是否登录,若没登录则返回错误信息,并使前端退出.但这样较为繁琐,因此我们可以通过一种统一拦截的技术来拦截所有请求.相关技术的解析会话跟踪的三个方案1.访问cookie的

Nginx替代产品-Tengine健康检测

1、官网地址官网地址:TheTengineWebServer文档地址:文档-TheTengineWebServer健康检测模块:ngx_http_upstream_check_module-TheTengineWebServer2、安装下载wgethttps://tengine.taobao.org/download/

数据中心防雷机柜PDU产品应该怎么选?

PDU防雷插座是针对标准机柜上安装而设计,主要保护机柜内通信、电子等重要设备,避免因过电压和雷电感应而造成设备损坏。该类型PDU将防雷器与电源插板完美组合,配有多路输出插孔,兼容多国插头标准,可同时保护多路电源,使用安全可靠,简单方便,可更换式防雷模块、维护方便等优点。随着现代科技的发展和社会的进步,各行各业在不断地引

E. Moment of Bloom

Problem-E-Codeforces思路:这个题看到之后想到了不可能的情况,就是如果度为奇数就一定不可能实现都是偶数,但是后面就不知道怎么搞了。正解是欧拉定理的应用把算是,首先对于给定的q个要求,我们从a->b连一条边,如果此时生成的图由许多个欧拉回路组成,并且我们还知道给定的这个图是联通的,那么我们就可以生成一颗

阿里云产品试用系列-函数计算 FC

函数计算(FunctionCompute)是一个事件驱动的全托管Serverless计算服务,您无需管理服务器等基础设施,只需编写代码并上传,函数计算会为您准备好计算资源,并以弹性、可靠的方式运行您的代码。如上所示,在阿里云首页访问免费试用函数计算FC云计算产品如上所示,设置内存资源以及计算资源的容量如上所示,在阿里云

如何获取美团的热门商品和服务

导语美团是中国最大的生活服务平台之一,提供了各种各样的商品和服务,如美食、酒店、旅游、电影、娱乐等。如果你想了解美团的热门商品和服务,你可以使用爬虫技术来获取它们。本文将介绍如何使用Python和BeautifulSoup库来编写一个简单的爬虫程序,以及如何使用爬虫代理来提高爬虫的效率和稳定性。概述爬虫技术是一种通过网

【qiankun乾坤】从0到1搭建微前端

微前端是一种将一个大型单体应用拆分成多个小型应用的架构方式。它可以让不同的团队独立开发部署自己的应用,同时这些应用可以集成到一个统一的底座应用中,对用户来说就是一个完整的应用。qiankun是阿里开源的一个微前端实现框架,可以帮助我们比较容易地实现微前端架构。下面来介绍如何从0到1使用qiankun+vue搭建一个微前

热文推荐