Matlab论文插图绘制模板第87期—模值赋色的三维箭头图

news2024/9/28 3:27:08

在之前的文章中,分享了Matlab三维箭头图的绘制模板:

进一步,如果我们想对每一个箭头赋上颜色,以更加直观地表示其模值的大小,该怎么操作呢?

那么,来看一下模值赋色的三维箭头图的绘制模板。

先来看一下成品效果:

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


模板中最关键的部分内容

1. 数据准备

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

% 读取数据load data.mat% 初始化参数X = x;Y = y;Z = z;U = u;V = v;W = z;

2. 颜色定义

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

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

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

%% 颜色定义map = TheColor('sci',2071);% map = flipud(map);

3. 模值赋色的三维箭头图绘制

使用‘quiver3’命令,绘制初始三维箭头图

q = quiver3(X, Y, Z, U, V, W);hTitle = title('Turbulence Values');hXLabel = xlabel('xaxis');hYLabel = ylabel('yaxis');hZLabel = ylabel('zaxis');view(-26,24)

4. 细节优化

利用ColortheArrow函数(Suever),将初始三维箭头图赋上之前选择的颜色并对线型进行调整

% 赋色ColortheArrow(q,map)colorbar% 线型调整q.LineWidth = 1;q.ShowArrowHead = 'on';

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

% 坐标区调整set(gca, 'Box','off',...                                                 % 边框         'LineWidth',1,...                                               % 线宽         'XGrid','on','YGrid','on','ZGrid','on',...                      % 网格         'TickDir','out','TickLength',[.01 .01],...                      % 刻度         'XMinorTick','off','YMinorTick','off','ZMinorTick','off', ...   % 小刻度         'XColor',[.1 .1 .1],'YColor',[.1 .1 .1],'ZColor',[.1 .1 .1])    % 坐标轴颜色% 坐标刻度范围调整axis([-1 1 -1 1 -1 1])% 字体和字号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');

ColortheArrow函数:

function ColortheArrow(q,map)% author Suever%// Compute the magnitude of the vectorsmags = sqrt(sum(cat(2, q.UData(:), q.VData(:),reshape(q.WData, numel(q.UData), [])).^2, 2));%// Get the current colormapcurrentColormap = colormap(map);%// Now determine the color to make each arrow using a colormap[~, ~, ind] = histcounts(mags, size(currentColormap, 1));% clims = num2cell(get(gca, 'clim'));% [~, ~, ind] = histcounts(mags, linspace(clims{:}, size(currentColormap, 1)));%// Now map this to a colormap to get RGBcmap = uint8(ind2rgb(ind(:), currentColormap) * 255);cmap(:,:,4) = 255;cmap = permute(repmat(cmap, [1 3 1]), [2 1 3]);%// We repeat each color 3 times (using 1:3 below) because each arrow has 3 verticesset(q.Head,'ColorBinding', 'interpolated','ColorData', reshape(cmap(1:3,:,:), [], 4).'); %'%// We repeat each color 2 times (using 1:2 below) because each tail has 2 verticesset(q.Tail,'ColorBinding', 'interpolated','ColorData', reshape(cmap(1:2,:,:), [], 4).');end

以上。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/438840.html

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

相关文章

设计模式 -- 多例模式

前言 月是一轮明镜,晶莹剔透,代表着一张白纸(啥也不懂) 央是一片海洋,海乃百川,代表着一块海绵(吸纳万物) 泽是一柄利剑,千锤百炼,代表着千百锤炼(输入输出) 月央泽,学习的一种过程,从白纸->吸收各种知识->不断输入输出变成自己的内容 希望大家一起坚持这个过程,也同…

docker镜像制作: 构建UI镜像

前端构建docker镜像 事前准备 安装nodejs cd/usr/local/ wgethttps://npm.taobao.org/mirrors/node/v12.16.2/node-v12.16.2-linux-x64.tar.gz tar-zxvfnode-v12.16.2-linux-x64.tar.gz rm-rfnode-v12.16.2-linux-x64.tar.gz mvnode-v12.16.2-linux-x64node echoexportNODE_HO…

Matlab绘图案例,MATLAB画图大法,附详细代码

目录 1. 使用subplot创建多个子图 2. 绘制误差棒图 3. 绘制条形堆积图 4. 绘制堆积面积图 5. 绘制直方图并拟合曲线 6. 绘制等高线图 7. 绘制光滑的曲线 8. 绘制彩虹图 9. 绘制带有错误标记的散点图 10. 绘制水平堆积条形 11. 绘制饼图 12. 绘制极坐标图 13. 绘制…

怎样写好一本书

如果把“怎样写好一本书?”这个问题抛给ChatGPT,他的回答仍然像模像样。 虽然他回答的几点都没有错,但是,我个人认为,如果你想要写一本书并出版,那么首先应该考虑的是找一家出版社合作。毕竟,出…

关于HMC7044使用FXCO8晶振不能锁定的问题

查看FXCO8时钟输出波形: 查阅HMC7044手册,查看相关管教的电平要求: 可以看出共模要求有差异,不满足设计。 同时查看CVHD950的时钟输出电路。 可以看出共模1.6V,共模满足要求。不过这个幅度2.4V。也是满足设计要求的。 查看HMC7044关于输入电平标准(单端)的相关描…

HCIE-Cloud Computing LAB常见问题收集谱

第一题:FusionCompute 扩容CNA与对接共享存储 FusionCompute:关联存储资源失败 物理阵列里面太多没清理的了。然后去排查问题,存储地址也正确,管理接口也互联,IQN号也修改了,结果是启动器快满了 排查网…

记录机器学习时遇到的一些问题(纯新手

库 anaconda&spyder spyder运行报错ModuleNotFoundError: No module named ‘skleran’ 遂使用Anaconda Prompt 命令conda install sklearn 仍然报错,利用PYTHONPATH Manager增加路径(过程中搜索sklearn包地址) 仍然报错,发…

微信小程序如何判断刘海屏

发现问题 测试在测试项目过程中,发现IPhone13按钮显示不全,但是IPhone 14 pro 没问题。 正常情况 非正常情况 找到原因 小程序没有适配全部刘海屏 刘海屏: 指的是手机屏幕正上方由于追求极致边框而采用的一种手机解决方案。因形似刘海儿而得名。刘海…

【Java基础】消灭魔法值-常量枚举详述

🚩 本文已收录至专栏:JAVA基础 👍希望能对你有所帮助 一.引入 在开发中我们经常会遇到用一个值(诸如数字或字符串)表示一种状态的情况,例如: 用 1 表示男,用 0 表示女用 0 表示状态…

被裁员了,要求公司足额补缴全部公积金,一次补了二十多万!网友兴奋了,该怎么操作?...

被裁员后,能要求公司补缴公积金吗? 一位网友问: 被裁员了,要求公司把历史公积金全部足额缴纳,现在月薪2.3万,但公司每个月只给自己缴纳300元公积金,结果一次补了二十多万,一次性取出…

步进频雷达信号脉冲压缩仿真matlab

步进频雷达信号脉冲压缩仿真matlab 发射与回波信号模型仿真分析 发射与回波信号模型 步进频率信号发射得的是一串窄带的相参脉冲,每个脉冲的载频之间是均匀线性步进的,经过相参本振对目标回波信号进行混频、采样,再对同距离门的采样值做逆傅里…

java 入门Spring,SpringBoot,SpringCloud等技术全栈教程网站导航

我们整理了Java的全栈技术路线的各个精品网站,从最简单的基础语法,到核心JVM,到企业级开发Spring以及通信技术Netty等开发,每个网站都有对应的免费的精品教程。我们全部收录到 java 技术全栈学习导航http://​www.webhub123.com/…

高级服务框架(黑马)

一、修改order-service服务 修改OrderService&#xff0c;让其监听Nacos中的sentinel规则配置。 具体步骤如下&#xff1a; 1.引入依赖 在order-service中引入sentinel监听nacos的依赖&#xff1a; <dependency><groupId>com.alibaba.csp</groupId><…

电子专业英语(持续更新)

前言 23考研刚刚结束&#xff0c;但在我复试的两个学校的专业英语翻译我都不会。发现自己在专业英语方面很差&#xff0c;故写此文章记录我专业英语的学习历程 2023/4/17日学习 Analog /ˈnəlɒɡ/ signal 模拟信号 Continuous values 连续值…

怎样远程控制另一台电脑

有多种方法可以远程控制另一台计算机&#xff0c;您选择的方法将取决于您的具体需要和涉及的操作系统。以下是您可以遵循的一些一般步骤&#xff1a; 在目标计算机上启用远程访问&#xff1a;在 Windows 上&#xff0c;您可以通过转到“控制面板”>“系统和安全”>“系统…

DFIG控制10: 双馈发电机的动态模型

DFIG控制10&#xff1a; 双馈发电机的动态模型。主要介绍DFIG在三相坐标系、定子αβ坐标系、dq同步坐标系下的模型。 本文主要是整理了DFIG的动态模型的公式和坐标变换的过程。某些描述是为了便于自己理解&#xff0c;不一定准确。 大部分内容参考&#xff1a; G. Abad, J. …

Windows逆向安全(一)之基础知识(十二)

结构体 C语言中的结构体是一种自定义的数据类型&#xff0c;一个结构体里可由其它各种类型组合而成 声明结构体 举个简单的例子&#xff0c;自定义一个为player的类型&#xff0c;如下&#xff1a; struct Player{float hp; //人物血量float mp; …

MongoDB 聚合管道中使用数组表达式运算符判断数组中是否包含元素($in)并获取元素索引($indexOfArray)

数组表达式运算符主要用于文档中数组的操作&#xff0c;之前我们介绍了如果获取文档数组中的元素&#xff1a; MongoDB 聚合管道中使用数组表达式运算符获取数组中指定位置的元素($arrayElemAt&#xff0c;$first&#xff0c;$last)https://blog.csdn.net/m1729339749/article…

k8s 1.20 二进制安装

安装前的准备 CentOS Linux release 7.3.1611 (Core) 初始化系统参数 集群规划 192.168.6.20 master1 - etcd、kube-apiserver、kube-controller-manager、kube-scheduler 192.168.6.21 master2 - etcd、kube-apiserver、kube-controller-manager、kube-scheduler 192.168.6…

手牵手SpringBoot2集成Redis7

Redis&#xff08;Remote Dictionary Server )&#xff0c;即远程字典服务&#xff0c;是一个开源的使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库&#xff0c;并提供多种语言的API。 Redis是一个NoSQL数据库&#xff0c;常用缓存(cache) Re…