2011-07-25 35 views
7
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ệ

Trả lời

3

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) 
+0

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

6

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.

0

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'); 
Các vấn đề liên quan