How can I plot a 3D histogram using hist3 with log scale?

8 vues (au cours des 30 derniers jours)
Hugo SP
Hugo SP le 20 Nov 2012
Here is an example code:
x = 1:20;
y = 2*x;
hist3([x' y']);
set(gca,'zscale', 'log');
With the log scale on the Z axis the bars disappear. I think this is because 0 values are mapped to -Inf. I there any workaround for this? I have seen for 2D hist that it is possible to adjust the bar base to 1, but I do not know how to do it for 3D hist.
Thank you.

Réponse acceptée

Matt Fig
Matt Fig le 20 Nov 2012
x = 1:20;
y = 2*x;
hist3([x' y']);
S = findobj('type','surf');
ZD = get(S,'zdata');
ZD(~ZD) = .1;
set(S,'zdata',ZD);
set(gca,'zscale', 'log');

Plus de réponses (0)

Catégories

En savoir plus sur Log Plots dans Help Center et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by