Matlab进阶绘图第70期—正负面积图

正负面积图是指通过一条水平线将一条曲线分割为上下两部分,并分别填充不同的颜色,用以表示不同的类别属性。

由于Matlab中未收录的正负面积图的绘制方法,因此需要大家自行解决。

本文利用自己制作的PNarea工具,进行正负面积图的绘制,先来看一下成品效果:

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


1. 数据准备

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

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

2. 颜色定义

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

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

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

%% 颜色定义map = TheColor('sci',1875);C = map([2,4],:);

3. 正负面积图绘制

调用‘PNarea’命令,绘制初始正负面积图

[f1,f2] = PNarea(x,y,0,C);hTitle = title('Up Down Area Plot');hXLabel = xlabel('xaxis');hYLabel = ylabel('yaxis');

4. 细节优化

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

% 坐标区调整set(gca, 'Box', 'off', ...                                % 边框         'LineWidth',1,...                                % 线宽         'XGrid', 'off', 'YGrid', 'off', ...              % 网格         'TickDir', 'out', 'TickLength', [.01 .01], ...   % 刻度         'XMinorTick', 'off', 'YMinorTick', 'off', ...    % 小刻度         'XColor', [.1 .1 .1],  'YColor', [.1 .1 .1])     % 坐标轴颜色% legendhLegend = legend([f1,f2],...         {'Samp1', 'Samp2'},...         'Location','northeast');% 字体和字号set(gca, 'FontName', 'Arial', 'FontSize', 10)set([hXLabel, hYLabel, hLegend], '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.xdnf.cn/news/1550869.html

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

相关文章

《程序猿之Redis缓存实战 · Redis 与数据库一致性》

📢 大家好,我是 【战神刘玉栋】,有10多年的研发经验,致力于前后端技术栈的知识沉淀和传播。 💗 🌻 CSDN入驻不久,希望大家多多支持,后续会继续提升文章质量,绝不滥竽充数…

【Android 源码分析】Activity短暂的一生 -- 目录篇 (持续更新)

1. 前言 忽然有一天,我想要做一件事:去代码中去验证那些曾经被“灌输”的理论。                                                                                  …

springboot厨房达人美食分享平台(源码+文档+调试+答疑)

文章目录 前言一、主要技术?二、项目内容1.整体介绍(示范)2.运行截图3.部分代码介绍 总结更多项目 前言 厨房达人美食分享平台的目的是让使用者可以更方便的将人、设备和场景更立体的连接在一起。能让用户以更科幻的方式使用产品&#xff0c…

【车载开发系列】ParaSoft单元测试环境配置(四)

【车载开发系列】ParaSoft单元测试环境配置(四) 【车载开发系列】ParaSoft单元测试环境配置(四) 【车载开发系列】ParaSoft单元测试环境配置(四)一. 如何设置过滤二. 如何设置静态扫描的规则三. 如何设置单…

Linux操作系统中Redis

1、什么是Redis Redis(Remote Dictionary Server ),即远程字典服务,是一个开源的使用ANSIC语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。 可以理解成一个大容量的map。…

IPS和IDS分别适用于哪些网络环境和安全需求

IPS即入侵防御系统和IDS即入侵检测系统是网络安全中的重要工具。 IPS适用于企业内部网络、数据中心以及云环境等网络环境中。 在企业内部网络中,特别是关键业务系统和数据中心的防护。IPS能够实时监控网络流量、识别和阻止潜在的恶意攻击,如DDoS攻击、SQ…

针对考研的C语言学习(定制化快速掌握重点5)

顺序表 特点: 写代码主要就是增删改查!!! 写代码的边界性非常重要以及考研插入和删除的位置都是从1开始,而数组下标是从0开始 【注】下标和位置的关系 线性表最重要的是插入和删除会涉及边界问题以及判断是否合法 …

nginx的安装和使用

源码安装 1.环境准备:卸载其他方式安装的web应用,防止端口冲突 2.下载nginx源码包 wget https://nginx.org/download/nginx-1.20.2.tar.gz 3.源码编译安装 yum install -y gcc pcre-devel zlib-devel #安装依赖包 useradd -M -s /sbin/nologin ngi…

资质申请中常见的错误有哪些?

在申请建筑资质的过程中,企业可能会犯一些常见的错误,以下是一些需要避免的错误: 1. 资料准备不充分: 申请资质需要提交大量的资料,包括企业法人资料、财务报表、业绩证明等。资料不齐全或不准确都可能导致申请失败。…

RXE RDMA测试学习环境搭建

测试环境信息 在ubuntu20.04.6 LTS (Focal Fossa)上建立RXE学习环境。 安装工具和依赖 sudo apt install automake libtool sudo apt install libibverbs-dev libibmad-dev librdmacm-dev libibumad-dev libpci-dev sudo apt-get install libibverbs1 ibverbs-utils librdmac…

【AI论文精读1】针对知识密集型NLP任务的检索增强生成(RAG原始论文)

目录 一、简介一句话简介作者、引用数、时间论文地址开源代码地址 二、摘要三、引言四、整体架构(用一个例子来阐明)场景例子:核心点: 五、方法 (架构各部分详解)5.1 模型1. RAG-Sequence Model2. RAG-Toke…

Python:Pip包的安装与原理(Windows系统)

相关内容 Pythonhttps://blog.csdn.net/weixin_45791458/category_12403403.html?spm1001.2014.3001.5482 pip是Python的包管理工具,用于安装、升级和卸载Python包和依赖。它的全称是“Pip Installs Packages”,是Python生态系统中的标准包管理器。pip…

02Cesium中常用的鼠标事件

文章目录 02Cesium中常用的鼠标事件1、左键单击事件2、左键双击事件3、左键按下事件4、左键弹起事件5、中键按下事件6、中键弹起事件7、鼠标移动事件8、右键单击事件9、右键按下事件10、右键弹起事件11、鼠标滚轮事件具体在代码中的应用如下所示 02Cesium中常用的鼠标事件 Ces…

vue组合式api

一、ref(基本类型数据,对象类型数据) 1.作用:定义响应式变量 2.语法:let xxx ref(初始值) 3.返回值:一个RefImpl的实例对象,简称ref对象,ref对象的value属性是响应式的。 4.注意…

PCL 快速均匀下采样

目录 一、概述 1.1原理 1.2实现步骤 1.3应用场景 二、代码实现 2.1关键函数 2.1.1 快速均匀下采样 2.1.2 可视化原始点云和下采样后的点云 2.2完整代码 三、实现效果 PCL点云算法汇总及实战案例汇总的目录地址链接: PCL点云算法与项目实战案例汇总&#…

【有啥问啥】多目标跟踪SORT算法原理详解

多目标跟踪SORT算法原理详解 引言 多目标跟踪(Multiple Object Tracking, MOT)是计算机视觉领域的一个重要研究方向,广泛应用于视频监控、自动驾驶、人机交互等多个领域。其核心任务是在视频序列中持续、准确地识别和定位多个目标。SORT&am…

数据网格:数据去中心化的特征

在现代的数据管理架构理念中,常常会谈及数据网格,将它用来解决大规模、复杂数据环境下的数据管理和利用问题。本文将探讨数据网格的概念以及数据去中心化和数据网格的紧密联系。 一数据网格 数据网格定义:数据网格将数据视为一种产品&#x…

tailwindcss快速入门(上篇)

tailwindcss 相关链接 演示地址 演示地址 源码地址 源码地址 什么是 Tailwind Tailwind CSS 是一种 实用优先的 CSS 框架,它通过一组预定义的、基于类名的样式帮助开发者快速构建现代化、响应式的用户界面。与传统的 CSS 框架(如 Bootstrap&#xf…

只申请一块sizeofimage的内存能否实现PE文件的拉伸

不能,别试了,浪费时间. 从最后一个节复制,也会被覆盖 BOOL StrechFileBuffer(__in char* m_fileName, __inout char** LPImageBuffer) {FILE* file (fopen(m_fileName, "rb"));if (file NULL){printf("error :%d", GetLastError());return FALSE;}// 从文…

工作日志:nvm版本控制遇到的一系列问题。

1、安装vue3可使用的富文本编辑器。(https://www.wangeditor.com/v5/for-frame.html#demo-1) npm install wangeditor/editor-for-vuenext --save2、为同时拥有两个类的元素设置样式,组合选择器是通过在选择器中并列写入两个类名来实现的&am…