x = [1: 1000]
hist(x)
khi đó, có hình hiển thị biểu đồ, nhưng nếu tôi đặt thuộc tính trục và trục Y để ghi nhật ký. Tôi không thể nhìn thấy bất cứ điều gì trong hình. Làm thế nào để vẽ biểu đồ với biểu đồ log.Cách vẽ lịch sử với thang tỷ lệ
x = [1: 1000]
hist(x)
khi đó, có hình hiển thị biểu đồ, nhưng nếu tôi đặt thuộc tính trục và trục Y để ghi nhật ký. Tôi không thể nhìn thấy bất cứ điều gì trong hình. Làm thế nào để vẽ biểu đồ với biểu đồ log.Cách vẽ lịch sử với thang tỷ lệ
tôi sẽ đề nghị sử dụng histc với cạnh log và barplot
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)
Theo như tôi biết, nó không phải là có sẵn như là một hàm matlab mẹ đẻ:
http://www.mathworks.com/support/solutions/en/data/1-2ZUTKK/?solution=1-2ZUTKK
Nhưng bài viết này cũng giải thích một số workarrounds.
Hãy thử set(gca, 'Xscale', 'log')
để vẽ nhật ký trên trục X. Nó làm việc cho tôi Tôi đang sử dụng 7.12.0 hoặc 2011a. Kiểm tra axis reference để được trợ giúp thêm.
Hãy thử:
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');
Bạn phải thêm tùy chọn 'histc' với thanh để giữ tính năng cạnh histc: bar (1: 100: 1000, h, 'histc') – Eudhan