如何在Matlab中为矩阵中的每一列绘制一条线?

时间:2016-06-26 16:39:04

标签: matlab datetime for-loop plot time-series

我有一个按行排列的矩阵,如下所示:

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

谢谢!

1 个答案:

答案 0 :(得分:1)

%%在本例中,我根据需要绘制了月份 - 根据需要进行了更改

%%您的样本数据

SomeClass a;
m_vector.push_back( std::move(a) );

%%获取所代表的年份

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);