Matlab进阶绘图第33期—双曲面图

在《Matlab论文插图绘制模板第56期—曲面图(Surf)》中,我分享过曲面图的绘制模板。

然而,有的时候,需要在一张图上绘制两个及以上的曲面图,且每个曲面图使用不同的配色方案

在Matlab中,一张图上只支持一种colormap/colorbar,所以想要绘制两个及以上的曲面图,需要大家自行设法解决

本文利用freezeColors工具(John Iversen, MathWork, 2023),以及我自己制作的colorar_k2工具,进行双曲面的绘制,先来看一下成品效果:

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


1. 数据准备

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

% 读取数据load data.mat% 初始化绘图参数% 曲面1x1 = X;y1 = Y;z1 = Z1;% 曲面2x2 = X;y2 = Y;z2 = Z2;

2. 颜色定义

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

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

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

%% 颜色定义map1 = TheColor('sci',2068);% map1 = flipud(map1);map2 = TheColor('sci',2073);

3. 双曲面图绘制

调用‘surf’和‘freezColors’命令,绘制初始双曲面图

ax = gca;% 曲面1绘制s = surf(X,Y,Z1,'EdgeColor','none');caxis([min(Z1(:)) max(Z1(:))]);colormap(map1)freezeColors; hold on% 曲面2绘制s2 = surf(X,Y,Z2,'EdgeColor','none');caxis([min(Z2(:)) max(Z2(:))]);colormap(map2)freezeColors; % 标题、标签、视角hTitle = title('DoubleSurface Plot');hXLabel = xlabel('x');hYLabel = ylabel('y');hZLabel = zlabel('z');view(-35,30)

4. 细节优化

为了插图的美观,利用colorbar_k2工具添加颜色条,并对图形细节等进行美化

% 添加颜色条colorbar_k2('right',Z1,map1,Z2,map2)% 坐标区调整axes(ax)axis tightset(gca, 'Box', 'off', ...                                                          % 边框         'LineWidth', 1, 'GridLineStyle', '-',...                                   % 坐标轴线宽         'XGrid', 'on', 'YGrid', 'on', 'ZGrid', 'on',...                            % 网格         'TickDir', 'out', 'TickLength', [.01 .01], ...                             % 刻度         'XColor', [.1 .1 .1],  'YColor', [.1 .1 .1],'ZColor', [.1 .1 .1],...       % 坐标轴颜色         'zlim',[0 700])% 字体和字号set(gca, 'FontName', 'Arial', 'FontSize', 11)set([hXLabel,hYLabel,hZLabel], 'FontName',  'Arial', 'FontSize', 11)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.mfbz.cn/a/179022.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

const修饰

const 起保护作用,禁止修改。 此时a变为常量,常量不可修改。 const放在*p的左端限制*p,即不能通过修改指针变量(*p)的值来修改p指向空间的内容,但p不受限制。 const放在*的右端限制p,即不能修…

【10套模拟】【8、9】

关键字: 建立有序单链表、多维数组是特殊线性结构、直接选择排序、哈夫曼树高度及wpl、中序最后叶子先序最后也是、堆是完全二叉树、分块查找 统计二叉树结点数、统计二叉树值和、奇偶数划分、判断链表是否递增

RPG项目_UI登录

首先创建一个项目 将资源包导进Resources文件夹 创建一个Scripts脚本文件夹 然后再对Scripts脚本文件夹分门别类 导入UI资源包 创建一个Image 按住Alt 选择右下角 image就会覆盖整个面板 修改image名字为BG 将image图片放置背景栏 再创建一个image 改名为MainMenu 修改MainMenu…

josef约瑟 电压继电器DJ-132 100~200V柜内板前接线,带附件

DJ-100系列电压继电器 DJ-111电压继电器; DJ-112电压继电器; DJ-121电压继电器; DJ-122电压继电器; DJ-131电压继电器; DJ-132电压继电器; DJ-131/60C电压继电器; DJ-131/60CN电压继电器…

【JavaEE初阶】认识线程、创建线程

1. 认识线程(Thread) 1.1 概念 1) 线程是什么 一个线程就是一个 "执行流". 每个线程之间都可以按照顺序执行自己的代码. 多个线程之间 "同时" 执行着多份代码. 举例: 还是回到我们之前的银⾏的例⼦中。之前我们主要描…

【libGDX】使用Mesh绘制矩形

1 前言 使用Mesh绘制三角形 中介绍了绘制三角形的方法,本文将介绍绘制正方形的方法。 libGDX 以点、线段、三角形为图元,没有提供绘制矩形内部的接口。要绘制矩形内部,必须通过三角形拼接而成,如下图,是通过GL_TRIANGL…

srs的webrtc信令分析

关于webrtc的流信令只有四个 /rtc/v1/publish/,这是推流接口,是推流客户端跟SRS交换SDP的接口 /rtc/v1/play/,这是拉流接口,是拉流客户端跟SRS交换SDP的接口 /rtc/v1/whip/,这也是推流接口,作用是也是交换…

Qt全球峰会2023中国站 参会概要

Qt全球峰会2023中国站 参会概要 前言峰会议程签到 & Demo 演示开场致辞Qt Group 产品总监演讲(产品开发的趋势-开放的软件、工具和框架)产品战略QtQuick or QtWidgets(c or qml)Qt如何定义AI个人看法 Qt 在券商数字化转型和信…

风电场叶片运输车模型-FBX格式-带动画-数字孪生场景搭建

FBX格式的风电场中叶片运输车辆模型,按照真实尺寸建模,车辆多个部位带动画效果,适用于风电场三维数字化场景和风电场数字孪生使用,也可以用来作为各种三维平台的测试模型。 模型效果图 下载地址 叶片运输车模型下载地址

专访|OpenTiny 开源社区 常浩:完成比完美更重要

前言 2023年已过大半,备受关注的 OpenTiny*开源之夏活动也顺利结项。开源之夏由中国科学院软件研究所发起的计划,目的在于鼓励在校学生积极参与开源软件的开发维护,推动优秀开源软件社区的繁荣发展。该活动联合各大开源社区,聚焦…

逸学java【初级菜鸟篇】9.4 泛型

hi,我是逸尘,一起学java吧 泛型概述 泛型是我们在定义某一个类型规格的时候使用的泛指,我们预先定义一个大方向,防止路线错误。 实质上是程序员定义的安全类型,Object是顶级父类,在没有泛型很多程序员为了…

Android 10.0 mtp模式下连接PC后只显示指定文件夹功能实现

1. 前言 在android10.0的系统定制化开发中,对于usb作为otg连接电脑时,在mtp模式下会作为一个存储器在电脑端显示,作为电脑的 一个盘符,来显示设备的内部存储的文件,所以说如果要对设备内部的资料做保密处理的时候,需要在mtp模式下不显示某些 文件夹,接下来就分析下相关…

【C语言】qsort函数

目录 简介 头文件 ​编辑 函数原型: 参数函数如何写: 参数函数要求: qsort对整性数据的排序: qsort对字符型数据的排序: 对结构体类型的内部元素排序: 函数的底层是以快速排序实现的 但是本文不深入…

office word 使用笔记

office word 使用笔记 1. 功能1.1 格式快捷键1.2 复选框 2 遇到过的问题2.1 表格标题和表格距离过大 1. 功能 1.1 格式快捷键 复制格式:ctrl shift c 粘贴格式:ctrl shift v 1.2 复选框 方框位置和类型:“插入——高级符号——字体”选…

鸿蒙4.0开发笔记之ArkTs语言基础与基本组件结构(四)

文章声明&#xff1a;本文关于HarmonyOS系统的部分内容和描述借鉴于华为官网的“HarmonyOS开发者学堂”&#xff0c;有需要的也可以进入官网查看。<HarmonyOS第一课>ArkTS开发语言介绍 一、ArkTs语言介绍 ArkTS是鸿蒙系统&#xff08;HarmonyOS&#xff09;优选的主力应…

如何访问linux上的web服务

1.获取服务运行端口 例如8080 2.如果时vmware 需要先配置转发端口和主机ip 主机ip需要未使用的 例如&#xff1a; 3.查看虚拟机防火墙设置 centos8 为例 &#xff1a; firewall-cmd --zonepublic --list-ports 查看放通端口 如果没有放通 firewall-cmd --zonepublic --add-p…

0基础学习VR全景平台篇第122篇:VR视频剪辑和输出 - PR软件教程

上课&#xff01;全体起立~ 大家好&#xff0c;欢迎观看蛙色官方系列全景摄影课程&#xff01; 开始之前如果没有接触过pr这款软件的话&#xff0c;建议先去看上一篇 认识视频剪辑软件Premiere 大致了解一下pr。 回到正题今天来教大家VR视频的剪辑和输出 我们先双击打开…

Mac自带的看图如何连续查看多张图片

一、问题 mac看访达里的图片时&#xff0c;双击打开一张图片&#xff0c;然后按上下左右键都没法切换到另外的图片。而且也没找到像window一样单击缩略图可以看到预览图。其实是自己不懂得怎么使用&#xff0c;哈哈哈&#x1f602; 二、方法 2.1、图标方式 可以看到缩略图&a…

老生常谈之 JavaScript 中 0.1 + 0.2 != 0.3 的原因

先来一个模棱两可的说法&#xff1a;因为精度丢失、存储溢出的问题 先复习一下二进制的转换方法&#xff1a; 整数&#xff1a;除以基数&#xff0c;取余&#xff0c;自底向上小数&#xff1a;乘以基数&#xff0c;取整&#xff0c;自顶向下 接着&#xff0c;复习一下双精度…

Linux进程通信——共享内存

概念 共享内存&#xff08;Shared Memory&#xff09;&#xff0c;指两个或多个进程共享一个给定的存储区。 特点 共享内存是最快的一种 IPC&#xff0c;因为进程是直接对内存进行存取。 因为多个进程可以同时操作&#xff0c;所以需要进行同步。 信号量共享内存通常结合在一…