How to draw a histogram of my data?
2 次查看(过去 30 天)
显示 更早的评论
I have two vectors a and b, where they are as follows:
b=1:100;
a=1e-18:1e-15;
I want to draw a histogram of them such that a is on x-axis and b is on y-axis as shown in the given attachement.
2 个评论
Jon
2020-10-6
I think this was answered previously in https://www.mathworks.com/matlabcentral/answers/102406-how-can-i-plot-a-histogram-with-a-logarithmic-x-axis
采纳的回答
Jon
2020-10-6
I'm not really sure what you are trying to make a histogram of. It looks like you just want to know how many equally spaced values there are between logarithmically spaced intervals. In this case you don't need the b vector, other than to look at its maximum value which would just set the maximum horizontal scale value. To make sure you don't exceed this value you have to choose your increment properly. Maybe you are looking for something like this?
numBins = 20;
maxCount = 100;
% calculate increment so that maxCount will not be exceeded
delta = (1e-15 - 1e-18)/(numBins*maxCount);
% generate your equally space data
a=1e-18:delta:1e-15;
% make your histogram
histogram(a,numBins)
set(gca,'xscale','log') %scale the x-axis logarithmically
7 个评论
Jon
2020-10-12
If it will not run in the older version, then I assume that this feature was added in a more recent version. I don't have an older version to test in. Unless there is something preventing you from doing so I would highly recommend staying up to date with the current version to avoid such problems.
Jon
2020-10-15
If I have answered your question please accept this answer so that others who might have a similar question will know that an answer is availble.
更多回答(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!