2016-11-05 47 views
-2

如果我有我的兩行一樣如何從MATLAB表繪製行數據

 
     methode1  m2  m3  m4 
data1 .456  .567  .987  .654 
data2 .768  .654  .546  .231

結果和我想提請各行分別 兩條直線在同規模

+2

請參閱:['plot'](https://www.mathworks.com/help/matlab/ref/plot.html) – excaza

+0

我已編輯標題以反映您試圖繪製表格行的具體內容。如果這不正確,請相應地恢復編輯。 –

回答

0

從你的方式展示你的數據,我假設你正在處理一個matlab表是這樣的:

>> methode1 = [.456; .768]; m2 = [.567; .654]; m3 = [.987; .546]; m4 = [.654; .231]; 
>> T = table(methode1, m2, m3, m4, 'RowNames', {'data1', 'data2'}) 
T = 
      methode1  m2  m3  m4 
      ________ _____ _____ _____ 
    data1 0.456  0.567 0.987 0.654 
    data2 0.768  0.654 0.546 0.231 

和實際的問題是,你不知道如何繪製因爲T('data1', :)產生另一個表,而不是數字,和T因此plot(T('data1', :))不起作用,而不是因爲你只是不知道plot命令(如果你真的不是知道plot命令,然後在線閱讀它,你會發現很多說明性的例子) 。

要使用這些數據,您需要首先將其提取到數組中。執行此操作的命令是:

>> T_data = table2array(T) 
T_data = 
    0.4560 0.5670 0.9870 0.6540 
    0.7680 0.6540 0.5460 0.2310 

現在可以像普通數組一樣繪圖,例如,

>> plot(T_data(1,:), 'ro-'); 
>> hold on     
>> plot(T_data(2,:), 'gd--'); 
>> hold off     

hold命令允許您在同一個圖形窗口上有多個圖。

+1

轉換不是必須的,'T {1,:} == T_data(1,:)' – excaza

+0

Thanks @excaza;我不喜歡桌子,很高興知道。與單元相比,句法有意義地想到它;我應該猜到了! :) –

+0

非常感謝Tasos和excaza –