平行坐标轴图(Parallel coordinate plot),也称轮廓图,是一种分析和展示多元数据的常用方法。
如何绘制MATLAB绘制平行坐标图并灵活调整顺序及设置呢?
1、数据准备
数据可在本人博客-资源中下载:[MATLAB绘制平行坐标图所需数据集]。
2、MATLAB代码
MATLAB代码如下:
% 载入excel表中数据
tsunamis = readtable('season.xlsx');
figure('Units','normalized','Position',[0.3 0.3 0.45 0.4])
coordvars = {'Season','Benefit','Stability','Pro','Mileage','Depth'}; % 确定绘制几组数据
p = parallelplot(tsunamis,'CoordinateVariables',coordvars,'GroupVariable','Season'); % 绘制
% 修改颜色
C = [0.474509803921569,0.650980392156863,0.807843137254902;...
0.682352941176471,0.823529411764706,0.898039215686275;...
0.941176470588235,0.972549019607843,0.862745098039216;...
0.992156862745098,0.968627450980392,0.705882352941177;...
1,0.901960784313726,0.603921568627451]; % 蓝黄色系
p.Color = C;
% 修改线宽及字体大小
p.LineWidth = 1.5;
p.FontSize = 13;
% 调整分组顺序,关键在于p.SourceTable.Season中的Season
categoricalMonth = categorical(p.SourceTable.Season);
Order = {'Spring','Summer','Autumn','Winter'};
OrderMonth = reordercats(categoricalMonth,Order);
p.SourceTable.Season = OrderMonth;
% 修改离散度,越小越准确聚焦到分组点上
p.Jitter = 0.01;
% 设置纵坐标轴——名称(好像没啥用)
% p.DataLabel = {'Season'};
% 添加横坐标轴及关闭图例
p.CoordinateTickLabels = {'Season','Benefit (CNY)','Stability (%)','Probability (%)','Mileage (MW)','Depth (MW)'};
p.LegendVisible = 'off';
% 打开网格,便于看图
grid on
3、图形输出
图形输出如下:
若有问题或疑问请私信博主或于文章下评论!