Matlab进阶绘图第16期—三维填充折线图

news2024/11/26 8:58:27

三维填充折线图是在三维折线图的基础上,对其与XOY平面之间的部分进行颜色填充,从而能够更好地刻画细节变化

由于Matlab中未收录三维填充折线图的绘制函数,因此需要大家自行设法解决

本文使用自制的FilledPlot3小工具进行三维填充折线图的绘制,先来看一下成品效果:

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


1. 数据准备

此部分主要是读取原始数据,定义自变量和因变量

% 读取数据load data.mat% 自变量X = x;% 因变量Z = data(1:5,:)’;

2. 颜色定义

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

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

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

%% 颜色定义map = TheColor('sci',2068,'map',size(Z,2));% map = flipud(map);

3. 三维填充折线图绘制

调用‘FilledPlot3’函数,绘制初始三维填充折线图

p = FilledPlot3(X,Z,map,1,0.8);hTitle = title('Extracted Spectra Subset');hXLabel = xlabel('Mass/Charge (M/Z)');hYLabel = ylabel('Samples');hZLabel = zlabel('Ion Spectra');view(45,45)

4. 细节优化

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

% 坐标区调整% Y刻度标签定义temp = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz';ylbs = sprintfc('Samp %c',temp(1:5));set(gca, 'Box', 'on', ...                                 % 边框         'LineWidth',1,...                                % 线宽         'XGrid', 'on', 'YGrid', 'on', 'ZGrid', 'on',...  % 网格         'TickDir', 'out', 'TickLength', [.015 .015], ... % 刻度         'XMinorTick', 'off', 'YMinorTick', 'off', ...    % 小刻度         'XColor', [.1 .1 .1],  'YColor', [.1 .1 .1],...  % 坐标轴颜色         'ytick',0:5,...         'ylim',[-0.5 4.5],...         'yticklabels',ylbs,...         'zlim',[0 1.5])% 字体和字号set(gca, 'FontName', 'Arial', 'FontSize', 10)set([hXLabel, hYLabel,hZLabel], 'FontSize', 11, 'FontName', 'Arial')set(hTitle, 'FontSize', 12, 'FontWeight' , 'bold')% 背景颜色set(gcf,'Color',[1 1 1])

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

%% 图片输出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/424021.html

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

相关文章

计算机网络第一章(概述)【湖科大教书匠】

1. 各种网络 网络(Network)由若干**结点(Node)和连接这些结点的链路(Link)**组成多个网络还可以通过路由器互连起来,这样就构成了一个覆盖范围更大的网络,即互联网(互连网)。因此,互联网是"网络的网络(Network of Networks)"**因特…

扩散模型的Prompt指南:如何编写一个明确提示

Prompt(提示)是扩散模型生成图像的内容来源,构建好的提示是每一个Stable Diffusion用户需要解决的第一步。本文总结所有关于提示的内容,这样可以让你生成更准确,更好的图像 一个好的提示 首先我们看看什么是好的提示…

MCM箱模型建模方法及大气O3来源解析

详情点击链接:MCM箱模型建模方法及大气O3来源解析一、大气中O3形成、MCM和Atchem 2原理及Linux系统安装1.大气中O3形成的原理 2、MCM原理及基本流程3、Atchem 2 下载安装4、Linux系统安装5、Atchem 2 运行需要的其他工具A、Fortran;B、Python&#xff1…

小程序分包(普通分包、独立分包)

普通分包和独立分包的区别 当小程序从普通的分包页面启动的时候,首先需要下载主包独立分包是不依赖看于主包就可以运行,提升分包的执行速度,一个小程序可以有多个独立分包。 独立分包属于分包的一种。普通分包的所有限制都对独立分包有效。独…

基于LDA+SVM实现人脸识别模型

基于LDASVM实现人脸识别模型 描述 人脸识别(图像识别)是机器学习领域十经典的应用,在本质上,人脸识别属于监督学习中的分类问题。前面章节中我们已经学习了支持向量机(SVM),该算法在图像分类领…

专为智能设备安全打造 | 基于ACM32 MCU的智能断路器方案

随着我国电网建设的快速发展,数字化变电站成为建设和研究的热点,数字化变电站的核心在于一次设备的智能化与二次设备的网络化,对于断路器这种极其重要的电力一次设备而言,其智能化的实现有十分重要的意义,断路器智能化…

耗时半月,终于把牛客网上的软件测试面试八股文整理成了PDF合集(测试基础+linux+MySQL+接口测试+自动化测试+测试框架+jmeter测试+测试开发)

大家好,最近有不少小伙伴在后台留言,近期的面试越来越难了,要背的八股文越来越多了,考察得越来越细,越来越底层,明摆着就是想让我们徒手造航母嘛!实在是太为难我们这些程序员了。 这不&#xf…

【Git】速食Git,一文学会Git使用

1.什么是版本控制 版本控制是一种在开发的过程中用于管理我们对文件、目录或工程等内容的修改历史,方便查看更改历史记录,备份以便恢复以前的版本的软件工程技术。【通俗来说就跟我们所玩的游戏一样,不断地更新迭代游戏内容,比如…

微服务高级篇学习【4】之多级缓存

文章目录前言一 多级缓存二 JVM进程缓存2.1 案例导入2.1.1 使用docker安装mysql2.1.2 修改配置2.1.3 导入项目工程2.1.4 导入商品查询页面2.1.5 反向代理2.2 初识Caffeine2.3 实现JVM进程缓存三 Lua脚本入门3.1 安装Lua3.2 Lua语法学习四 实现多级缓存4.1 OpenResty简介4.2 Ope…

STK实例场景创建及TLE文件导入

学习过程主要参考杨颖、王琦老师的《STK在计算机仿真中的应用》。(值得注意的是,书中的STK版本为5.X,我使用的版本为11.6) 创建实例场景 在默认的工具条单击第一个按钮(或File→New),并设置场…

【NAS群晖drive异地访问】远程连接drive挂载电脑硬盘「内网穿透」

文章目录前言1.群晖Synology Drive套件的安装1.1 安装Synology Drive套件1.2 设置Synology Drive套件1.3 局域网内电脑测试和使用2.使用cpolar远程访问内网Synology Drive2.1 Cpolar云端设置2.2 Cpolar本地设置2.3 测试和使用3. 结语转发自CSDN远程穿透的文章:【群晖…

魔兽世界私服架设教程—魔兽大服务器合并列表

都说魔兽世界是最经典的网游,可惜我沉迷于程序的世界, 用以下命令down源码 git clone git://github.com/mangos/mangos.git 编译的时候会出错,找不到以下两个文件 revision.h SystemConfig.h 其实以上文件只是简单的定义同个编译的宏而…

第一章 初识NANO板卡

有人说:一个人从1岁活到80岁很平凡,但如果从80岁倒着活,那么一半以上的人都可能不凡。 生活没有捷径,我们踩过的坑都成为了生活的经验,这些经验越早知道,你要走的弯路就会越少。 本文链接:第一章 初识NANO…

事实胜于雄辩,苹果MacOs能不能玩儿机器/深度(ml/dl)学习(Python3.10/Tensorflow2)

坊间有传MacOs系统不适合机器(ml)学习和深度(dl)学习,这是板上钉钉的刻板印象,就好像有人说女生不适合编程一样的离谱。现而今,无论是Pytorch框架的MPS模式,还是最新的Tensorflow2框架,都已经可以在M1/M2芯片的Mac系统…

Transformer中的注意力机制及代码

文章目录1、简介2、原理2.1 什么是注意力机制2.2 注意力机制在NLP中解决了什么问题2.3 注意力机制公式解读2.4 注意力机制计算过程3、单头注意力机制与多头注意力机制4、代码4.1 代码14.2 代码21、简介 最近在学习transformer,首先学习了多头注意力机制&#xff0c…

Spring MVC(2)-跨域、CORS、XSS、 CSFR

同源和跨域 同源 什么是同源?请求的“协议ip(域名)端口”被称之为“源”。 如果当前页面的url和在当前页面中要访问的url具有相同的源,那么我们称这两个请求“同源”,即它们来自或者去往同一个服务器。 跨域 什么是跨域?如果…

基于ArcGIS、ENVI、InVEST、FRAGSTATS等多技术融合提升环境、生态、水文、土地、土壤、农业、大气等领域应用

【自选】 时间地点:2023年7月22日-28日【乌鲁木齐】时间地点:2023年8月12日-18日【福建泉州】 【六天实践教学、提供全部资料】 专题一、空间数据获取与制图 1.1 软件安装与应用讲解 1.2 空间数据介绍 1.3海量空间数据下载 1.4 ArcGIS软件快速入门…

Android有官方的GPS定位API,为什么还要使用百度/高德定位SDK ?

1. 背景 小组在一个Demo项目中,图省事准备使用官方的GPS定位API。 但在我的印象中,官方的定位API是不好用的,一般都是用 高德地图/百度地图 的定位SDK的。 使用官方的定位API获取定位的话,在办公室调试的时候,可能室内…

技术人的管理学-业务管理

主要内容前言制定计划遇到的问题?过程监控遇到的问题?复盘改进遇到的问题?通过PDCA循环解决业务管理问题总结前言 没有人天生就会管理,优秀的管理者都是在知行合一的过程中成长起来的,他们既需要系统的管理知识&#…

数据结构_第十三关(2):快速排序

目录 1.快速排序 原理: 代码如下(递归实现): 性能比较 快速排序的特性总结 2.快速排序的优化 1)三数取中优化: 2)小区间优化: 3. 挖坑法(快排的另一种思路&#…