2016-06-14 56 views
0

我試圖在對數刻度的單個圖中繪製兩行(數據和線性擬合)。我的代碼:對數刻度上的多個圖

Iots = I_An./Temp.^2; % I Over T Squared 
Oot = 1./Temp; % One Over T 
[p,~] = polyfit(Oot,Iots,1); 
linfit = polyval(p,Oot); 

figure('color','w','units','normalized','outerposition',[0 0 1 1]); 
hold on 
loglog(Oot,Iots,'.','LineWidth',2); 
loglog(Oot,linfit,':r','LineWidth',2); 

結果不是對數刻度圖:

the graph im getting

如果我跑得情節線之一,它適用於自己的。我該怎麼辦?有沒有矛盾的命令?

回答

1

你想打hold on創建你的第一個loglog情節。此外,只需在第一個圖上使用loglog即可創建對數座標軸。之後,你可以調用正常的plot,它將使用對數座標軸。

x = linspace(0, 100); 

loglog(x, x, '.', 'LineWidth', 2); 

hold on 
plot(x, x.^2, '.r', 'LineWidth',2); 

enter image description here

+0

謝謝!該圖現在處於對數尺度。 – ScubaDiving

+0

但我有一個後續問題 - 如何使這個尺度的線性擬合? – ScubaDiving

+0

@ScubaDiving如果您想要對對數數據進行線性擬合,您需要以線性比例繪製曲線,並在繪製和繪製曲線之前計算數據的「log」。 – Suever