Matlab进阶绘图第51期—带填充等高线的三维特征渲染散点图

带填充等高线的三维特征渲染散点图是填充等高线图与特征渲染三维散点图的组合。

其中,填充等高线图与特征渲染的三维散点图的颜色用于表示同一个特征

由于填充 等高线图无遮挡但不直观特征渲染的三维散点图直观但有遮挡 ,而将二者组合,可以实现优势互补

本文利用自己制作的Scatter3withContourf 工具,进行带填充等高线的三维特征渲染散点图的绘制,先来看一下成品效果:

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


1. 数据准备

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

% 读取数据load data.mat% 初始化绘图参数sz = 5; % 散点尺寸cellsize = 10; % 填充等高线图格网尺寸level = 8; % 填充等高线层级zpos = 'zmin'; % 填充等高线位置

2. 颜色定义

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

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

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

map = TheColor('sci',2068);% map = flipud(map);

3. 带填充等高线的三维特征渲染散点图绘制

调用'Scatter3withContourf'和命令,绘制初始带填充等高线的三维特征渲染散点图

s = Scatter3withContourf(data,10,cellsize,level,zpos);s.Marker = '.';% 标题、标签、视角hTitle = title('Scatter3Feature with Contourf');hXLabel = xlabel('XAxis');hYLabel = ylabel('YAxis');hZLabel = zlabel('ZAxis');view(-50,30)

4. 细节优化

为了插图的美观与信息完整性,对图形细节等进行美化

% 赋色colormap(map)colorbar% 坐标区调整axis tightset(gca, 'Box', 'on', ...                                                          % 边框         'LineWidth', 1.5, 'GridLineStyle', '--',...                               % 坐标轴线宽         'layer','top',...         'XGrid', 'on', 'YGrid', 'on', 'ZGrid', 'on',...                           % 网格         'TickDir', 'out', 'TickLength', [.01 .01], ...                            % 刻度         'XColor', [.1 .1 .1],  'YColor', [.1 .1 .1],'ZColor', [.1 .1 .1])         % 坐标轴颜色% 坐标轴刻度调整set(gca, 'ZLim',[-10 30])% 字体和字号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])set(gca,'Projection','Perspective');

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

%% 图片输出figW = figureWidth;figH = figureHeight;set(figureHandle,'PaperUnits',figureUnits);set(figureHandle,'PaperPosition',[0 0 figW figH]);fileout = 'test';print(figureHandle,[fileout,'.png'],'-r300','-dpng');

以上。

相关推荐
玩电脑的辣条哥2 小时前
Python如何播放本地音乐并在web页面播放
开发语言·前端·python
ll7788114 小时前
LeetCode每日精进:20.有效的括号
c语言·开发语言·算法·leetcode·职场和发展
Jackson@ML6 小时前
Python数据可视化简介
开发语言·python·数据可视化
赵琳琅6 小时前
Java语言的云计算
开发语言·后端·golang
lly2024066 小时前
jQuery 杂项方法
开发语言
赵琳琅6 小时前
MDX语言的安全开发
开发语言·后端·golang
开开又心心的学嵌入式7 小时前
C语言——指针进阶应用
c语言·开发语言
开开又心心的学嵌入式7 小时前
C语言——指针基础知识
c语言·开发语言
lonelyhiker7 小时前
javascript的原型链
开发语言·javascript·原型模式
夏梓蕙8 小时前
Elixir语言的软件开发工具
开发语言·后端·golang