Question regarding hist3 fucntion
1 次查看(过去 30 天)
显示 更早的评论
Hi,
I am using the code below to generate this plot.
![](https://www.mathworks.com/matlabcentral/images/broken_image.png)
The variable data contains acceleration and velocity data.
Is there a way to overwrite the the 0,0 bar (i.e velocity = 0 and acceleration = 0) and set it equal to 0? The height of the 0,0 bar is causing the other bars to appear small.
Appreciate any comments.
% Load data
load Data;
% Create the 3D bar chart
figure;
% Calculate histogram
nBinsX = 10;
nBinsY = 10;
hist3(Data,[nBinsX,nBinsY]);
% Plot histogram
set(gcf,'renderer','opengl');
s = get(gca,'child');
zData = get(s,'zData');
colormap gray;
set(s,...
'zData' ,zData/length(Data),... % normalize frequency
'FaceColor' ,'interp',...
'EdgeColor' ,0.3*[1 1 1],... % make edges visible at all heights
'CDataMode' ,'auto'); % color tops according to height
% Labels
title('Velocity VS Acceleration Distribution');
xlabel('Velocity (mph)');
ylabel('Acceleration (m/s^2)');
zlabel('Normalized Frequency');
0 个评论
采纳的回答
José-Luis
2013-1-10
编辑:José-Luis
2013-1-10
You could remove the data that are close to [0 0] before getting your histogram
If you want to remove values equal to [0 0];
Data = Data(~all(Data,2),:);
If you want to remove values close to [0 0];
your_lim = eps(100); %or some other approximation
Data = Data(all(abs(Data) > your_lim,2),:);
Then you can obtain your histogram.
更多回答(0 个)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Data Distribution Plots 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!