histogram2 configuration for colorbar and frenquency of cells
17 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
Felipe Aranda Delgado
le 4 Déc 2019
Commenté : breathi
le 9 Déc 2019
Hello, how can i do this in matlab? Put the frenquency and the colours as the colorbar.
0 commentaires
Réponse acceptée
breathi
le 5 Déc 2019
Hi,
try somethings like this when using histogram2
% Your data
data.X = randn(1,10000).*2+10;
data.Y = randn(1,10000)+6;
data.XEdges = 0:1:20;
data.YEdges = 0:12;
% Data counting number of occurencies
h=histogram2(data.X,data.Y ,data.XEdges, data.YEdges,'FaceColor','flat','EdgeColor','none');
% Modifying colormap with a bit of white at the end
cb = colorbar;
p=colormap('jet');
p(1:7,1:3) = [linspace(1,0,7)',linspace(1,0,7)',ones(7,1)];
colormap(p);
cb.Label.String = 'ColorBarString';
% Some labels
xlabel('X')
ylabel('Y')
zlabel('Enumeration of occurencies')
% create text labels from histcounts2
N = histcounts2(data.X,data.Y,data.XEdges,data.YEdges);
for xi=1:size(N,1)
for yi=1:size(N,2)
if N(xi,yi) > 0
text(mean(data.XEdges(xi:xi+1)), mean(data.YEdges(yi:yi+1)), num2str(N(xi,yi)), 'HorizontalAlignment', 'center', 'VerticalAlignment', 'middle');
end
end
end
h.FaceAlpha = .5;
% plot some curves at bottom
hold on,
plot(1:20,1:20)
% change view to 2D from below (to see texts & plots)
view(0,-90)
% reverse YDir
h.Parent.YDir = 'reverse';
Alternatively you could use other plot commands like bar3, ...
This should help you going where you want.
2 commentaires
breathi
le 9 Déc 2019
I'm not sure, you can try using something like this for a histogram2:
h.EdgeColor = 'k'
h.LineWidth = 4
h.EdgeAlpha = 0.1
But then the colors form the colorbar are obviously not applied as the borders. I could imagine that the colors are plotted by hand and the colorbar is just a dummy then.
But maybe someone else can help out here.
Plus de réponses (0)
Voir également
Catégories
En savoir plus sur Data Distribution 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!