多语言展示
当前在线:1114今日阅读:167今日分享:16

MATLAB绘制多维m×n阶矩阵的折线图并显示变量名

在进行数据整理时,需要观察多维多变量m×n阶数据矩阵的数据规律趋势等特征,需要使用MATLAB绘制多维多变量m×n阶数据矩阵的折线图并且在横坐标显示变量名称怎么办。很多资料介绍画折线图中的横坐标是一维的(即单一变量如时间)。下面分享一个“MATLAB绘制多维m×n阶矩阵的折线图并显示变量名”的方法和程序,帮助大家更好地使用MATLAB作多维多变量折线图。
工具/原料
1

电脑

2

MATLAB

3

需要用于作多维多变量折线图的“多维多变量样本数据.xlsx”Excel表格

方法/步骤
1

首先准备一个需要用于作多维多变量折线图的“多维多变量样本数据.xlsx”Excel表格,如下图所示。这里有8个变量,4组数据。

2

然后使用xlsread读取所建立的多维多变量样本数据表格,将将表格数据和变量名称都分别保存到MATLAB数值矩阵和细胞矩阵中,代码如下:[dw_data,dw_name]=xlsread('多维多变量样本数据.xlsx');%数据保存到dw_data中,变量名称保存到dw_name中。运行结果查看工作区矩阵如下所示。

3

然后使用size函数计算多维多变量样本数据的大小程序如下:[m,n]=size(dw_data);m*n阶矩阵,运行结果如下。m等于4行,n等于8列。

4

接下来作多维多变量图,使用plot函数,每次取一组数据画出折线图然后保持,多次循环依次把所有折线画出即可。程序如下:figure(1);subplot(2,2,1);for i=1:mplot(dw_data(i,:))hold on;end其中subplot是指定在figure中位置和划分图数量,(2,2,1)代表划分了4个作图区间,在第一个作图区间作图。作出的多维多变量折线图如下图所示,很难被理解,需进一步修改和注释多维多变量折线图以帮助理解。

5

接下来修改横坐标为多维多变量数组的变量名称。程序如下:set(gca, 'XTick', [1:n])    % X坐标轴刻度数据点位置set(gca, 'XTickLabels', {dw_name{:,1:n}})set(gca,'XTickLabelRotation',45)程序说明:第一行是更改刻度为实际点数,第二行是将点数更换成变量的名称,使用前面保存的dw_name替换即可。第三行是调节变量名字的显示角度,修改数字45即可更改文字旋转角度。45是旋转45度。运行结果如下。可以发现比前图要好理解一点了。

6

继续为折线图添加横坐标和纵坐标标签以及标题和显示网格。程序如下:xlabel('变量');ylabel('数值');title('多维多变量样本数据折线图');grid on运行结果如下。这样易于理解的多维多变量样本数据折线图绘制完毕。

7

完整的“MATLAB绘制多维多变量m×n阶数据矩阵的折线图并且在横坐标显示变量名称”代码及截图如下所示:[dw_data,dw_name]=xlsread('多维多变量样本数据.xlsx');[m,n]=size(dw_data);figure(1);subplot(2,2,1);for i=1:mplot(dw_data(i,:))hold on;endset(gca, 'XTick', [1:n])    % X坐标轴刻度数据点位置set(gca, 'XTickLabels', {dw_name{:,1:n}})set(gca,'XTickLabelRotation',45)xlabel('变量');ylabel('数值');title('多维多变量样本数据折线图');grid on

注意事项
1

改进点根据需要在折线图相应点显示数据。

2

在plot中添加'LineWidth',2.5可以改变线条的宽度。

推荐信息