Matlab论文插图绘制模板第48期—平行坐标图(Parallelplot)

news/2024/7/7 16:36:00

​上一期文章中,分享了Matlab帕累托图的绘制模板:

这一次,再来分享一种特殊的线图:平行坐标图

‘平行坐标图是一种通常的可视化方法,用于对高维几何和多元数据的可视化……为了克服传统的笛卡尔直角坐标系容易耗尽空间、难以表达三维以上数据的问题,平行坐标图将高维数据的各个变量用一系列相互平行的坐标轴表示,变量值对应轴上位置。为了反映变化趋势和各个变量间相互关系,往往将描述不同变量的各点连接成折线……平行坐标图的一个显著优点是其具有良好的数学基础,其射影几何解释和对偶特性使它很适合用于可视化数据分析。’——百度百科

先来看一下成品效果:

特别提示:Matlab论文插图绘制模板系列,旨在降低大家使用Matlab进行科研绘图的门槛,只需按照模板格式添加相应内容,即可得到满足大部分期刊以及学位论文格式要求的数据插图。如果觉得有用可以分享给你的朋友


模板中最关键的部分内容

 

1. 数据准备

此部分主要是读取原始数据

% 读取数据
tbl = readtable('TemperatureData.csv');
tbl.Year = categorical(tbl.Year);
NoDataMonths = {'September','October','November','December','August'};
NoDataMonthsIdx = ismember(tbl.Month,NoDataMonths);
tbl(NoDataMonthsIdx,:) = [];

 

2. 颜色定义

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

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

%% 颜色定义
% 对比色
% C = TheColor('sci',999);
% C = TheColor('sci',2037);
% 渐变色
C = TheColor('sci',2064,'map',7);
% C = TheColor('sci',1701,'map',7);

特别提示:此处TheColor仅为作图方便,可以替换为自己的配色。

 

3. 平行坐标图绘制

使用‘parallelplot命令,绘制未经美化的平行坐标图

p = parallelplot(tbl);                          
p.Title = 'Temperature Data';

 

​4. 细节优化

为了插图的美观,对平行坐标图的线属性进行调整:​

%% 细节优化
p.GroupVariable = 'Month';
p.CoordinateVariables = [1 2 4];
p.DataNormalization = 'none';
p.Color = C;
categoricalMonth = categorical(p.SourceTable.Month);
Order = {'January','February','March','April','May','June','July'};
OrderMonth = reordercats(categoricalMonth,Order);
p.SourceTable.Month = OrderMonth;
% 背景颜色
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');

也可以尝试其他配色:

以上。

完整代码:

Matlab平行坐标图


http://lihuaxi.xjx100.cn/news/19233.html

相关文章

vue3 基础语法(一)

1、this指向 的任何问题看 codeywhy 文章,都可以解决 https://mp.weixin.qq.com/s/hYm0JgBI25grNG_2sCRlTA methods 里面的this 实际上vue源码中,对methods中所有的函数进行了遍历,并且通过bind绑定了this 2、了解vscode 生成代码片段&#x…

LQ0014 求和【思维】

题目出处:蓝桥杯2022初赛 题目描述 给定n个整数a[1],a[2],…,a[n],求两两相乘再相加的和,即 Sa[1]a[2]a[1]a[3]…a[1]a[n]a[2]a[3]…a[2]a[n]…a[n-1]a[n] 输入格式 第一行为正整数n,第二行为n个整数。 30%的数据:2≤…

C++学习日记——宏函数和内联函数

学习目标 学习宏函数和内联函数的区别和使用 学习内容 宏函数: 使用宏定义定义出的函数,并不是真正意义上的函数 注意事项: 要保证运算的完整性 使用宏函数存在一定的缺陷 使用场景:频繁调用的短小的函数 优点: 不是…

Spring Boot集成第三方登录之微博登录

Spring Boot集成第三方登录之微博登录准备工作网站接入开发者信息认证创建应用流程分析引导授权用户用户授权授权成功换取Access TokenHTTP客户端使用Access Token请求相关接口根据用户ID获取用户信息获取用户的粉丝列表Spring Boot集成微博登录添加依赖封装Token等信息创建Log…

少年,不知道怎么在安卓中使用 PaddleOCR ?看我怎么把它二次封装成只需要两行代码即可使用

前言 什么是 PaddleOCR 根据官方的介绍: Awesome multilingual OCR toolkits based on PaddlePaddle (practical ultra lightweight OCR system, support 80 languages recognition, provide data annotation and synthesis tools, support training and deployme…

银行 IT 架构到底要不要云化?

【摘要】银行到底是继续采用集中式架构还是全部更换成分布式架构,是继续保持现有传统架构还是改造成基于云计算的全新架构?本文用较长篇幅全面分析了集中式架构(非云化架构)和分布式架构(云化架构)的特点、优缺点,并提出了转型思路,从技术和管理两个角度给出了转型路径…

FinOps能力成熟度模型启动,灵雀云助力云原生降本增效标准制定

9月16日,在2022中国数据中心市场年会“降本增效分论坛”上,《云原生FinOps能力成熟度模型》标准正式启动,作为FinOps产业标准工作组首批发起成员和云原生技术领域的唯一代表企业,灵雀云出席并参与授牌。 随着云计算的深入&#xf…

【甄选靶场】Vulnhub百个项目渗透——项目十七:brainpan-1(windows缓冲区溢出,sudo提权)

Vulnhub百个项目渗透 Vulnhub百个项目渗透——项目十七:brainpan-1(windows缓冲区溢出,sudo提权) 🔥系列专栏:Vulnhub百个项目渗透 🎉欢迎关注🔎点赞👍收藏⭐️留言📝 &…