不能用对数轴绘制区域
cannot plot area with log axis
代码
x=[1e-4 1e-3 1e-2 1e-1];
y=[10 3 100 25];
figure;area(x,y)
returns 输出如下:
没错。但是使用
将 y 轴的刻度设置为对数
set(gca,'yscale','log');
使填充颜色消失:
我不明白为什么。没有可能会扰乱日志操作的零,那是为什么?
我在 R2013a 上遇到了同样的问题(根据我的阅读,新图形引擎的问题消失了)。那是因为面积图的默认 BaseValue
属性 是 0,所以我们在对数比例下工作时遇到了问题。
为了摆脱它,您可以将面积图的 BaseValue
属性 指定为不同于(且大于)0 的值,显然。例如,值 1 可以正常工作:
area(x,y,'BaseValue',1)
代码
x=[1e-4 1e-3 1e-2 1e-1];
y=[10 3 100 25];
figure;area(x,y)
returns 输出如下:
没错。但是使用
将 y 轴的刻度设置为对数set(gca,'yscale','log');
使填充颜色消失:
我不明白为什么。没有可能会扰乱日志操作的零,那是为什么?
我在 R2013a 上遇到了同样的问题(根据我的阅读,新图形引擎的问题消失了)。那是因为面积图的默认 BaseValue
属性 是 0,所以我们在对数比例下工作时遇到了问题。
为了摆脱它,您可以将面积图的 BaseValue
属性 指定为不同于(且大于)0 的值,显然。例如,值 1 可以正常工作:
area(x,y,'BaseValue',1)