【发布时间】:2014-04-17 15:11:46
【问题描述】:
我想用对数 Y 刻度在同一张图上绘制多个值。以下代码将值绘制到线性比例图上并且可以工作,但是尝试用“semilogy”更改“plot”会输出一个空白图。
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;
以上代码的输出:
【问题讨论】:
-
尝试在命令行输入
help semilogy... -
某些 x 或 y 值是负数还是零?
-
你确定吗?您能否编辑问题以包含更新后的代码?
-
这应该给你你想要的。我不确定你为什么说这给出了一个线性比例图。您可以将您的图表作为图像上传到问题中吗? (您可以使用文件 -> 另存为 -> 选择图像格式,例如 png 来保存图形)。
-
这一定是某种图形问题,可能是由于您正在运行的其他代码。删除
hold命令(您不需要它们,因为您只有一个绘图),执行close all,然后重试。
标签: matlab graph plot logarithm