Matlab论文插图绘制模板第95期—双向柱状图

news2025/1/8 5:03:33

在之前的文章中,分享了很多Matlab柱状图的绘制模板:

进一步,再来看一种特殊的柱状图:双向柱状图

先来看一下成品效果:

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


模板中最关键的部分内容

1. 数据准备

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

% 读取数据load data.mat% 初始化参数X = x;Y1 = dataset1;Y2 = dataset2;

2. 颜色定义

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

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

这里直接使用TheColor配色工具中的XKCD配色库

%% 颜色定义C1 = TheColor('xkcd',426);C2 = TheColor('xkcd',627);

3. 双向柱状图绘制

使用调用两次‘bar’命令,绘制初始双向柱状图

GO1 = bar(X,Y1,0.6,'EdgeColor','k','LineWidth',1);GO2 = bar(X,Y2,0.6,'EdgeColor','k','LineWidth',1);hTitle = title('Bidirectional bar chart');hXLabel = xlabel('Xaxis');hYLabel = ylabel('Yaxis');

4. 细节优化

为了插图的美观,将初始双向柱状图赋上之前选择的颜色并对基线属性进行调整

% 赋色GO1.FaceColor = C1;GO2.FaceColor = C2;% 基线调整BL = get(GO2,'BaseLine');BL.LineWidth = 1;

然后,对坐标轴细节等进行美化:

% 坐标区调整set(gca, 'Box', 'off', ...                                         % 边框         'LineWidth', 1, 'GridLineStyle', '-',...                  % 坐标轴线宽         'XGrid', 'off', 'YGrid', 'on', ...                        % 网格         'TickDir', 'out', 'TickLength', [.015 .015], ...          % 刻度         'XMinorTick', 'off', 'YMinorTick', 'off', ...             % 小刻度         'XColor', [.1 .1 .1],  'YColor', [.1 .1 .1])              % 坐标轴颜色set(gca, 'XTick', 1:6,...         'Xlim' , [0.5 6.5], ...          'Xticklabel',{'A','B','C','D','E','F'},...         'YTick', -8000:4000:12000)% LegendhLegend = legend([GO1,GO2], ...                 'Income','Payout', ...                 'Location', 'northeast');% 字体和字号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/582809.html

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

相关文章

抖音seo源码如何开发部署?

前言:抖音seo源码,抖音矩阵系统源码搭建,抖音矩阵同步分发。抖音seo源码部署是需要对接到这些正规接口再来做开发的,目前账号矩阵程序开发的功能,围绕一键管理多个账号,做到定时投放,关键词自动…

腾讯云服务器常用端口号大全以及端口开启方法

腾讯云服务器常用端口号如80、21、22、8080等端口,出于安全考虑一些常用端口默认是关闭的,腾讯云服务器端口如何打开呢?云服务器CVM在安全组中开启端口,轻量应用服务器在防火墙中可以打开端口,腾讯云百科来详细说下腾讯…

解析云盘存储的优缺点:安全靠谱还是存在风险?

云盘是一种基于云计算技术的在线存储服务,用户可以通过互联网将文件上传到云端,并可以随时随地通过网络访问这些文件。 相较于传统的本地存储,云盘具有以下优势: 1.数据安全性更高:云盘使用专业的云计算技术和安全措施…

vue 截取字符串的方法

vue中的字符串方法,我目前使用最多的是下面两种方法,因为 vue的字符串方法支持断言操作。 1、 vue中截取字符串的方法如下: 2、 vue中截取字符串的方法,这个方法也是需要依赖于 vue库提供的支持。 3、 vue中截取字符串的方法&…

腾讯云服务器CVM和轻量应用服务器区别

关于腾讯云轻量应用服务器和云服务器CVM的区别,之前腾讯云百科写过一篇文章来对比,如今2023阿腾云又更新了一篇新的区别对比文章,比之前的要更加详细,包括轻量服务器的使用限制、CPU型号、公网限制月流量、内网连通性、硬盘存储等…

f1c200s---编译uboot

目录 前言安装必要工具安装交叉编译链工具 下载Uboot切换分支查看配置文件 配置Uboot修改Makefile配置文件 编译uboot出现/bin/sh: 1: python: not found错误出现multiple definition of yylloc错误出现FATAL ERROR: Unable to parse input tree错误出现/usr/bin/env: python2:…

微服务架构综合实战 一文让你了解什么是微服务 使用PHP 搭建微服务框架 最全微服务架构讲解以及演示

本文将带你从基础的微服务架构设计、网络协议、注册中心、配置中心、网关层面 渐进式讲解其微服务。 一、微服务架构设计方案 架构演进 在将微服务之前 我们看看目前的架构 单体架构 按照模块划分,公用一个数据库 垂直拆分架构 按业务功能划分单独的子系统&…

为什么pnpm比npm、yarn使用更好

performant npm ,意味高性能的 npm。pnpm由 npm/yarn 衍生而来,解决了 npm/yarn 内部潜在的bug,极大的优化了性能,扩展了使用场景。被誉为"最先进的包管理工具"。 我们按照包管理工具的发展历史开始讲起: n…

切片工具tippecanoe的全网最详细的解释

1.下载和安装 tippecanoe工具是mapbox官方提供的一个服务端切片工具,因此它是运行在服务器上的,它比较友好的支持mac和linux机器。对于windows来讲,就比较麻烦了。 首先对于mac系统,你只需配置好自己的homebrew,保证homebrew能够正常下载东西。 然后只需要一个命令: …

Jmeter 压测工具进行压力测试

需求:接口需要进行压力测试,有减库存的场景,要求并发不能超库存,接口鉴权类似token方式校验。 一、jemter 下载安装Java Downloads | Oracle ,下载安装可以自行翻帖子,很多教程,本次实验用的是…

用Python体素化3D网格和点云

推荐:用 NSDT设计器 快速搭建可编程3D场景。 3D 数据的持续学习正在成为机器学习和理解我们周围世界的越来越重要的部分。 随着新的 3D 数据提取硬件(如深度相机和 LiDAR)在闭路电视、相机和智能手机中变得司空见惯,越来越多的人正…

法线贴图的类型

1、切线空间法线贴图 这是当今最常见的法线贴图,也是我们在本系列中讨论的法线贴图。它根据模型顶点的法线方向修改模型的法线方向(因此我们必须控制lowpoly的顶点法线)。 请记住,切线法线贴图是使用顶点指示的方向进行计算的。这…

【WPF】数据绑定,资源字典

数据绑定 将数据与视图分开,创建MainViewModel .cs 作为数据源的处理 MainViewModel using System; using System.Collections.Generic; using System.ComponentModel; using System.Linq; using System.Runtime.CompilerServices; using System.Text; using System.Threading…

华为OD机试真题 Java 实现【基站维修工程师】【2023Q1 200分】,附详细解题思路

一、题目描述 小王是一名基站维护工程师,负责某区域的基站维护。 某地方有n个基站(1<n<10),已知各基站之间的距离s(0<s<500),并且基站x到基站y的距离,与基站y到基站x的距离并不一定会相同。 小王从基站1出发,途径每个基站1次,然后返回基站1,需要请你…

Swift 中的 Actors 使用以及如何防止数据竞争

文章目录 前言Actors 的基本原理Actor 是引用类型&#xff0c;但与类相比仍然有所不同 为什么会出现数据竞争如何防止数据竞争使用 async/await 访问数据防止不必要的暂停非隔离(nonisolated)访问为什么在使用 Actors 时仍会出现数据竞争&#xff1f;总结 前言 Actors 是 Swif…

FFMPEG常用命令 音视频合并

目录 一、音频合并 1.获取音频时长 2.合并两段音频 3.合并音频插入空白 二、视频加背景图 三、音视频合成 1.保留视频声音 2.不保留视频声音 四、合并视频 本文将用几个实例&#xff0c;介绍ffmpeg命令的综合使用&#xff0c;主要涉及音频处理、视频处理和音视频合成。…

如何搭建自己的CentOS系统

CentOS是一个完全免费的操作系统&#xff0c;这对于开发人员来说非常有吸引力。他们可以使用CentOS来开发和测试应用程序&#xff0c;而不需要支付任何费用。那么作为程序员如果搭建自己的CentOS服务器呢&#xff1f; 搭建自己的CentOS系统需要以下步骤&#xff1a; 1、下载Ce…

借助KafkaTool在海量Kafka数据快速精准定位/查询目标数据

如何在海量的Kafka数据定位/查询精准到秒级的数据&#xff1f; 解决方案&#xff1a;Kafka命令 KafkaTool 1. 使用Kafka命令定位Offset sh ./kafka-run-class.sh kafka.tools.GetOffsetShell --broker-list $ip:$port -topic ${topic.name} -time $timestamp参数说明&#…

程序员大战黄牛党,破解演唱会门票秒光之困

反黄牛&#xff0c;为何是场持久战&#xff1f; 撰文 | 林秋艺 编辑 | 龚 正 这个五月&#xff0c;似乎都被五月天霸屏了。从5月9日的30万张五月天演唱会门票被5秒扫光&#xff1b;到粉丝群起反抗&#xff0c;喊出“宁可鸟巢门口站&#xff0c;也不能让黄牛赚”&#xff0c;…

基于实体类导出excel模板

很多需求是导入excel的功能&#xff0c;但是导入的时候需要excel模板。如果很多模板的&#xff0c;就需要一个通过工具类来实现了&#xff0c;根据配置好一个实体类来实现模板的导出。 <dependency><groupId>org.jodd</groupId><artifactId>jodd-core&…