不能用对数轴绘制区域

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)