对数尺度上的多个图

Multiple plots on a logarithmic scale

我正在尝试在具有对数刻度的单个图形中绘制两条线(数据和线性拟合)。我的代码:

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

结果不是对数刻度图:

如果我 运行 只是其中一条情节线,它就可以独立运行。我应该怎么办?是否有任何矛盾的命令?

您想在 创建第一个 loglog 绘图后调用 hold on 。此外,您只需在第一个图上使用 loglog 即可创建对数轴。之后你可以直接调用 normal plot 它将使用对数轴。

x = linspace(0, 100);

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

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