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


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

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

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

    先来看一下成品效果:

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


    模板中最关键的部分内容

     

    1. 数据准备

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

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

     

    2. 颜色定义

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

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

    1. %% 颜色定义
    2. % 对比色
    3. % C = TheColor('sci',999);
    4. % C = TheColor('sci',2037);
    5. % 渐变色
    6. C = TheColor('sci',2064,'map',7);
    7. % C = TheColor('sci',1701,'map',7);

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

     

    3. 平行坐标图绘制

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

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

     

    ​4. 细节优化

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

    1. %% 细节优化
    2. p.GroupVariable = 'Month';
    3. p.CoordinateVariables = [1 2 4];
    4. p.DataNormalization = 'none';
    5. p.Color = C;
    6. categoricalMonth = categorical(p.SourceTable.Month);
    7. Order = {'January','February','March','April','May','June','July'};
    8. OrderMonth = reordercats(categoricalMonth,Order);
    9. p.SourceTable.Month = OrderMonth;
    10. % 背景颜色
    11. set(gcf,'Color',[1 1 1])

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

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

    也可以尝试其他配色:

    以上。

    完整代码:

    Matlab平行坐标图

  • 相关阅读:
    七、 循环
    java计算机毕业设计高校开放式实验室管理系统MyBatis+系统+LW文档+源码+调试部署
    javaScript:鼠标事件
    strlen和sizeof的区别
    Antd的table组件自定义筛选菜单的使用
    史上最全的Go语言模块(Module)管理详解(基于Go1.19)
    Ubuntu下安装Scala
    url请求头信息
    Python 小知识,wheel 文件的说明与使用
    conda: error: argument COMMAND: invalid choice: ‘activate‘
  • 原文地址:https://blog.csdn.net/qq_26447137/article/details/126939510