我想用对数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;
输出上述代码:
答案 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
的目的是使多个绘图命令能够覆盖在同一图中。