Как построить историю с масштабом журнала - PullRequest
7 голосов
/ 25 июля 2011
x = [1: 1000]
hist(x)

тогда есть рисунок, показывающий гистограмму, но если я установлю свойство осей и ось Y для входа. Я не вижу ничего на рисунке. Как построить гистограмму с логарифмической шкалой.

Ответы [ 4 ]

7 голосов
/ 25 июля 2011

Попробуйте set(gca, 'Xscale', 'log') для построения журнала на оси X. Это работало для меня, я использую 7.12.0 или 2011a. Проверьте ссылку на ось для получения дополнительной помощи.

3 голосов
/ 25 июля 2011

Насколько я знаю, она не доступна как встроенная функция matlab:

http://www.mathworks.com/support/solutions/en/data/1-2ZUTKK/?solution=1-2ZUTKK

Но эта статья также объясняет несколько обходных путей.

3 голосов
/ 25 июля 2011

Я бы предложил использовать историю с краями бревна и барплотом

help histc
-- Function File: N = histc (Y, EDGES)

matlab> edges=log(1:100:1000); 
matlab> h=histc(x,edges)
matlab> bar(1:100:1000, h)
0 голосов
/ 08 января 2014

Попробуйте:

function semilogxhist(val,M)
% semilogxhist - generate histogram with M bars and log-scale x axis
if nargin<2; M=min(30,sqrt(length(val))); end
vmin=min(val); vmax=max(val);
edges=vmin*(vmax/vmin).^([0:M]/M);
count=histc(val,edges); 
if size(count,2)==1, count=count'; end 
x=edges(sort([1:M 1:M])); 
y=[0 count(sort([1:M-1 1:M-1])) 0];
% outline only: semilogx(x, y, '-');
plot(x, y, '-'); fill(x, y, 'b'); set(gca,'XScale','log');
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...