我有一个按行组织的矩阵:
Row 1: Year (e.g., 2004)
Row 2: Month (e.g., 6)
Row 3: Discharge (e.g., 90 m3/s)
我总共有23列(3x23矩阵)。我想将与每年相关的所有列(例如,列1-4对应于2004年收集的数据)绘制为单线。如何查找和绘制给定年份的所有列?最后,我希望将每年的数据(在多个列上)绘制为同一图上的行(可能最好使用for循环?)。
或者,最好将第1行和第2行(年和月)合并为Matlab时间,然后以这种方式绘制每年的排放量?如果是这样,我该如何在Matlab中写这个?
数据及其组织的示例如下:
2004 2004 2004 2004 2005 2005
6 7 8 9 5 6
90.97 591.88 515.09 1.83 1.41 209.07
谢谢!
%%对于本例,我绘制了月份与流量的关系图-根据需要进行更改
%%您的样本数据
a = [2004,2004,2004,2004,2005,2005;
6,7,8,9,5,6;
90.97,591.88,515.09,1.83,1.41,209.07];
%%获取表示的年份
years_represented = unique(a(1,:));
%%获取
表示的年数num_of_years = length(years_represented);
%%使用循环获取每年的数据和绘图(根据需要定制)。
for idx = 1:num_of_years
curr_year = years_represented(idx); % current year
curr_year_idx = a(1,:) == curr_year; % columns of current year
curr_year_data = a(:,curr_year_idx); % current year data
plot(curr_year_data(2,:),curr_year_data(3,:)); % plot current year data
hold on
end
xlabel('Month') % X-axis label
ylabel('Discharge') % Y-axis label
hold off