2016-06-14 1 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 Если вам нужна линейная привязка к логарифмическим данным, вы хотите построить график по линейному масштабу и просто вычислить «журнал» ваших данных до построения графика и построения графика. – Suever