stem3 with log axis - recovering stems

2 ビュー (過去 30 日間)
Ravi
Ravi 2012 年 9 月 20 日
I create a stem3 plot with x, y, and z values. When the z-axis is linear, I get stem lines. When I change the z-axis to log, the stems disappear. I would like to recover them somehow.
I am familiar with this issue w.r.t the 2-D stem function http://www.mathworks.com/support/solutions/en/data/1-QB3KB/?solution=1-QB3KB
I'm not able to find corresponding properties for stem3 via the get(gcf), get(gca), and related commands.
1) Is there an equivalent setting(s) in stem3 that will allow this?
2) If not, is there a property that returns the zmin value of the logarithmic z axis? axis returns the values set in linear mode before I changed the z-axis scale property to log
3) Do I need to just code the line generation for log z mode?

採用された回答

Matt Fig
Matt Fig 2012 年 9 月 20 日
編集済み: Matt Fig 2012 年 9 月 20 日
What happens is that a stem plot has the lines with on point on the z=0 plane. Taking the log of this throws this point to -inf. This works:
X = linspace(0,1,10);
Y = X./2;
Z = sin(X)*2000 + cos(Y)*2000 + 1e3;
L = stem3(X,Y,Z,'fill');
C = get(L,'child');
Zd = get(C(1),'zdat')
Zd(Zd==0) = 1; % No zeros in the data!
set(C(1),'zdata',Zd)
set(gca,'zscal','log')
  4 件のコメント
Ravi
Ravi 2012 年 9 月 20 日
Ah! This works and I understand why. I appreciate the fast and detailed responses.
Matt Fig
Matt Fig 2012 年 9 月 21 日
You're welcome. I appreciate the courteous feedback!

サインインしてコメントする。

その他の回答 (0 件)

カテゴリ

Help Center および File ExchangeLine Plots についてさらに検索

タグ

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by