标签: matlab plot logarithm
代码
x=[1e-4 1e-3 1e-2 1e-1]; y=[10 3 100 25]; figure;area(x,y)
返回以下输出:
这是正确的。但是使用
set(gca,'yscale','log');
使填充颜色消失:
我无法理解为什么。没有可能搞乱日志操作的零,那么为什么呢?
答案 0 :(得分:3)
我遇到了与R2013a相同的问题(从我读到的问题消失了,新的图形引擎)。这是因为区域图的默认BaseValue属性为0,因此在对数比例下工作时出现问题。
BaseValue
为了摆脱它,您可以明确指定区域图的BaseValue属性与0不同(并且大于)。例如,值为1可以正常工作:
area(x,y,'BaseValue',1)