【问题标题】:cannot plot area with log axis无法用对数轴绘制区域
【发布时间】:2016-05-30 08:24:31
【问题描述】:

代码

x=[1e-4 1e-3 1e-2 1e-1];
y=[10 3 100 25];
figure;area(x,y)

返回以下输出:

没错。但是将 y 轴的比例设置为对数使用

set(gca,'yscale','log');

使填充颜色消失:

我不明白为什么。没有零会弄乱日志操作,那是为什么呢?

【问题讨论】:

  • 您使用的是哪个 MATLAB 版本?你做的事情比你发布的更多吗?上述代码在 Windows/R2015b 上按预期工作。 i.stack.imgur.com/j9eIJ.png
  • @Matt 我正在使用 R2014a

标签: matlab plot logarithm


【解决方案1】:

我在使用 R2013a 时遇到了同样的问题(根据我的阅读,新的图形引擎问题消失了)。这是因为面积图的默认BaseValue属性为0,所以我们在使用对数比例时遇到了问题。

为了摆脱它,您可以将区域图的BaseValue 属性指定为不同于(并且大于)0 的值,显然。例如,值 1 可以正常工作:

area(x,y,'BaseValue',1)

【讨论】:

  • 我现在在使用alpha(.5) 设置路径半透明时遇到问题。半透明度以对数比例消失,我无法重置它(alpha(.5) 现在无效)
  • 是的,这是另一个错误,但这次是使用“OpenGL”渲染器。尝试在图中使用“Painters”模式。例如,figure('Renderer','painters')
  • 哦,拍摄。那我就迷路了对不起!
  • 实际上现在它可以工作了。我将渲染器重置为“OpenGL”。也许我之前改过,不确定。谢谢!
  • 那太好了!很高兴为您提供帮助
猜你喜欢
  • 1970-01-01
  • 2013-10-23
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-09-09
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多