2016-05-30 3 views
2

Кодексане может построить область с лог оси

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

возвращает следующий результат:

Это правильно. Но установив масштаб оси у логарифмической с помощью

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

делает цвет заливки исчезнуть:

Я не могу понять, почему. Нет нулей, которые могут испортить работу с журналом, так почему?

+0

Что MATLAB версии вы используете? Вы делаете что-то большее, чем то, что вы разместили? Вышеприведенный код работает как ожидается в Windows/R2015b. http://i.stack.imgur.com/j9eIJ.png – Matt

+0

@Matt Я использую R2014a – shamalaia

ответ

3

У меня такая же проблема с R2013a (из того, что я прочитал, проблема исчезла с новым графическим движком). Это связано с тем, что свойство BaseValue по умолчанию имеет площадь 0, поэтому у нас возникла проблема при работе в масштабе журнала.

Чтобы избавиться от него, вы можете указать свойство BaseValue вашего участка, чтобы быть чем-то другим (и большим), чем 0, очевидно. Например, значение 1 работает отлично:

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

enter image description here

+0

У меня возникла проблема с настройкой прозрачности пути с помощью 'alpha (.5)'. Полупрозрачность исчезает в логарифмическом масштабе, и я не могу ее сбросить ('alpha (.5)' теперь не действует) – shamalaia

+0

да, это еще одна ошибка, но на этот раз с OpenGL Renderer. Попробуйте использовать режим «Художники» на рисунке. Например, «figure» («Renderer», «painters»). –

+0

ммм .. не работает. – shamalaia

Смежные вопросы