对数Y尺度,多值图

时间:2014-04-17 15:11:46

标签: matlab graph plot logarithm

我想用对数Y标度将多个值绘制到同一个图形上。以下代码将值绘制到线性比例图表上并且可以正常工作,但是尝试更改“绘图”'与半决赛'输出空白图表。

hold on;
for i = 1:10
  [val1(i), val2, val3, val4] = myFunct(i, fileName);
end;

plot(val1);
hold off;

我需要更改什么才能创建对数的Y刻度?

编辑代码:

hold on;
for i = 1:10
  [val1(i), val2, val3, val4] = myFunct(i, fileName);
end;

val1(1) = 0.000001; %index 1 is always zero, index 2 may or may not be zero
val1(2) = 0.000001;

semilogy(val1);
hold off;

输出上述代码:

Output

2 个答案:

答案 0 :(得分:2)

试试这个:

% Calculate
for i = 1:10
  [val1(i), val2, val3, val4] = myFunct(i, fileName);
end

% Plot
figure;
plot(val1+eps);
set(gca, 'YScale','log');

答案 1 :(得分:1)

hold on命令可防止图形从您之前执行的常规plot更新为semilogy。要解决这个问题,你应该关闭你的数字并再次运行代码。

请注意,如果您只有一个绘图命令,则没有理由使用hold命令。 hold的目的是使多个绘图命令能够覆盖在同一图中。