Matlab进阶绘图第22期—不等宽柱状图

news2024/12/27 11:23:01

不等宽柱状图是一种特殊的柱状图。

与常规柱状图相比,不等宽柱状图可以通过柱高与柱宽分别表达两个维度的数据,因此在多个领域得到应用。

在《Matlab论文插图绘制模板第91期》中,虽有介绍过利用Matlab自带bar函数绘制不等宽柱状图的方法,但操作较为复杂,自由度较低,且最后一根柱子的绘制无法做到准确与美观的平衡

为了从根源解决以上问题,本文使用自己制作的uwbar小工具进行不等宽柱状图的绘制,先来看一下成品效果:

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


1. 数据准备

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

% 读取数据load data.mat% 初始化参数X = x;Y = y;LW = 1;

2. 颜色定义

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

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

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

%% 颜色定义C = TheColor('sci',2052,'map',5);C = flipud(C);

3. 不等宽柱状图绘制

调用‘uwbar’命令,绘制初始不等宽柱状图

h = uwbar(X,Y,LW,C);hTitle = title('Bar chart with unequal width');hXLabel = xlabel('Scale');hYLabel = ylabel('RMSE (m)');

4. 细节优化

为了插图的美观,对坐标轴细节等进行美化

% 坐标区调整set(gca, 'Box', 'off', ...                                         % 边框         'LineWidth', 1, 'GridLineStyle', '-',...                  % 坐标轴线宽         'XGrid', 'on', 'YGrid', 'on', ...                         % 网格         'TickDir', 'out', 'TickLength', [.015 .015], ...          % 刻度         'XMinorTick', 'off', 'YMinorTick', 'off', ...             % 小刻度         'XColor', [.1 .1 .1],  'YColor', [.1 .1 .1],...           % 坐标轴颜色         'YTick', 0:10:100,...                                     % 坐标轴刻度         'Ylim' , [-2 60], ...                                              'Xlim' , [-3 93], ...         'XTick', 0:10:100)% Legend hLegend = legend(h, ...                 'A', 'B', 'C', 'D', 'E', ...                 'Location', 'eastoutside');% 字体和字号set(gca, 'FontName', 'Arial', 'FontSize', 10)set([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/592409.html

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

相关文章

LDGRB-01 3BSE013177R1 将数字输入和继电器输出结合

LDGRB-01 3BSE013177R1包的一部分是全面的通信选项,包括Modbus主/从或CS31,这种产品很少提供。128kB的用户内存和0.1秒/指令的程序处理时间只是AC500-eCo令人印象深刻的性能的两个例子。除了与现有AC500系列的互操作性,AC500-eCo系统还使用基…

PMP-范围管理的重要性

本篇文章主要是方便从事项目管理的“初学者”们了解范围管理的重要性 一、什么是范围管理 项目范围管理包括确保项目做且只做所需的全部工作,以成功完成项目的各个过程。管理项目范围主要在于定义和控制哪些工作应该包括在项目内,哪些不应该包括在项目内…

推动创意成果:创意过程如何改变 2023 年的业务

时下全球经济放缓,很多企业业务都陷入了增长瓶颈,如何突破?今天我们来聊聊一般业务突破的3种方式: 发现一片新的蓝海,迅速杀入占领生态位(快); 发现结构性红利机会,大量投…

低代码开发重要工具:jvs-rules 规则引擎功能介绍(二)

一、JVS规则引擎接口管理 接口管理是将逻辑引擎对接所有的接口进行统一管理,便于各种应用统一引用。 接口的界面展示 接口列表的展示,接口列表是根据系统内部支持的接口进行展现,包括查看接口的详情 详情中包括,入参与出参的展…

QT(QPainter画圆弧)

文章目录 前言一、QPainter画圆弧方法二、使用示例三、画一个彩色环总结 前言 本篇文章给大家介绍一下如何使用QPainter来画圆弧。 一、QPainter画圆弧方法 drawArc() 函数是 Qt 绘图类库中的一个函数,用于在画布上绘制圆弧。可以通过设置起点角度和圆弧弧度来控…

Keil_C51之Memory_mode解析

有时我们会遇到这样的报错: *** ERROR L107: ADDRESS SPACE OVERFLOW SPACE: DATA SEGMENT: _DATA_GROUP_ LENGTH: 002CH Program Size: data117.0 xdata0 code6242 Target not created. Build Time Elapsed: 00:00:00 报错截图如下: 这类报…

程序员怎么玩转Linux

Linux下可以使用Python编写爬虫程序,常用的爬虫框架有Scrapy和BeautifulSoup。 Scrapy是一个基于Python的开源网络爬虫框架,可以快速高效地从网站上获取数据。它提供了强大的数据提取和处理功能,支持异步网络请求和分布式爬取等特性。 Beau…

九耶丨阁瑞钛伦特-springmvc(五)

Spring是最流行的企业级开发框架之一,它提供了一套完整的IOC(控制反转)和AOP(面向切面编程)解决方案,可以帮助软件开发人员快速开发出高效、可扩展的应用程序。Spring MVC是Spring框架中的一个模块&#xf…

cesium模型在前端页面加载后亮度异常的处理

一.问题产生与分析 通常情况下,后端生成的模型数据,以默认参数加载在前端页面时亮度能显示是正常的,如果不正常,猜测可能与生成的原数据有关(数据本身在前端页面加载亮度就低) 二.问题解决 前端页面针对这…

OpenHarmony 3.2 Release新特性解读之驱动HCS

OpenAtom OpenHarmony(以下简称“OpenHarmony”)开源社区,在今年4月正式发布了OpenHarmony 3.2 Release版本,标准系统能力进一步完善,提升了系统的整体性能、稳定性和安全性。此次版本对于驱动也提供了一些新的特性&am…

ELK高可用集群添加用户名密码认证

确定主节点 GET _cat/nodes?v带*的就是主节点,这里是zcpt-prd-ELK-01节点 生成根证书elastic-stack-ca.p12(进入主节点) 注意操作es7.7.0使用es用户 su es进入主节点的bin目录下执行 ./elasticsearch-certutil ca会要求输入密码直接回车…

Structural Deep Clustering Network

Structural Deep Clustering Network | Proceedings of The Web Conference 2020 (acm.org) 目录 Abstract 1 Introduction 2 Model 2.1 KNN Graph 2.2 DNN Module 2.3 GCN Module 2.4 Dual Self-Supervised Module Abstract 深度聚类方法通常是通过深度学习强大的表示…

为什么很多人做项目经理多年都没有进步?

为什么很多人做项目经理多年都没有进步? 项目经理是一个需要不断学习和成长的职业。然而,很多人在做了多年的项目经理后却没有看到自己的进步。这是为什么呢?以下是一些可能的原因: 1. 缺乏自我反思和改进意识 有些人可能会在自…

Ceph架构组件及存储过程

1、存储基础 //单机存储设备 ●DAS(直接附加存储,是直接接到计算机的主板总线上去的存储) IDE、SATA、SCSI、SAS、USB 接口的磁盘 所谓接口就是一种存储设备驱动下的磁盘设备,提供块级别的存储 ●NAS(网络附加存储&am…

喜讯!图扑荣获用友年度十佳产业融合生态伙伴称号

2023 年 4 月 20 日,由中华全国工商业联合会联合工业和信息化部、国务院国资委组织开展的 2023 年度“百场万企”大中小企业融通对接活动——智能制造 MES 产业融通对接会暨 2023 用友 BIP 技术大会 MES 生态创新专题论坛在用友产业园顺利召开。 用友年度生态合作伙…

港联证券|资金疯狂涌入AI,这一板块涨幅超90%!万亿巨头继续狂飙

国内外资金继续加码AI概念股。 当前,国内政策层面对于通用人工智能和算力中心的创新发展扶持政策不断推出,资本市场对于AI(人工智能)热情不断升温。在AI下游应用中,游戏板块成为最被看好的投资标的,资金流入…

正则表达式实现关键字高亮

使用正则表达式实现一个类似于navicat中sql编辑器功能&#xff0c;大致实现以下目标&#xff1a; 指定关键字高亮(eg. 红色)数字高亮(eg. 蓝色)引号内容高亮(eg.浅绿色) 实现效果如下&#xff1a; 下面直接上代码&#xff0c;具体解释见代码&#xff1a; <!DOCTYPE htm…

C语言参悟-分支和跳转

C语言参悟-分支跳转 一、概述二、判断条件三、if else 条件判断1. 单判断2. 条件“并联”3. 条件“串联” 四、switch case 条件判断1. “单刀” 开关2. “多刀”开关 一、概述 下面只是我的对于C语言的认识拙见&#xff0c;可以多多提出批评建议&#x1f604; 计算机的诞生很…

16JS07——数组

目标&#xff1a; 1、数组的概念 2、创建数组 3、获取数组中的元素 4、遍历数组 5、数组中新增元素 6、数组案例 一、数组的概念 数组是指一组数据的集合&#xff0c;其中的每个数据被称作元素&#xff0c;在数组中可以存放任意类型的元素。数组是一种将一组数据存储在单个变…

Flink从入门到精通之-12Flink CEP

Flink从入门到精通之-12Flink CEP 在 Flink 的学习过程中&#xff0c;从基本原理和核心层 DataStream API 到底层的处理函数、再到应用层的 Table API 和 SQL&#xff0c;我们已经掌握了 Flink 编程的各种手段&#xff0c;可以应对实际应用开发的各种需求了。 在大数据分析领域…