2010-03-04 32 views

Trả lời

16

Dưới đây là một ví dụ:

x = randn(100,1)*3;   %# some random data 
e = [-10 -5 -3 -1 1 2 3 20]; %# edges of intervals: e(i) <= x < end(i+1) 
c = histc(x,e);    %# get count in each interval 
bar(e, c, 'histc')   %# bar plot 
set(gca, 'xlim',[e(1) e(end)]) 

output

+0

Cảm ơn rất nhiều ... tôi sử dụng giải pháp của bạn để xây dựng một chức năng cho bối cảnh của tôi về nghiên cứu .. – yasmine

+0

Có cách nào để làm cho nó như vậy tất cả các thùng có cùng xsize không có vấn đề lớn như thế nào thực sự là? –

+0

@ useretothepowerof2pi: Tôi không hiểu, nếu bạn muốn các thùng có chiều rộng bằng nhau chỉ sử dụng chức năng HIST thông thường. Toàn bộ ý tưởng của đoạn mã trên là chúng ta muốn các khoảng không thường xuyên có độ rộng khác nhau – Amro

2

Bạn có thể tạo công cụ biểu đồ của riêng mình để tạo biểu đồ tùy chỉnh theo ý muốn.

  • Sử dụng histc để xác định thùng nào mỗi điểm nằm bên trong.

  • Sau đó, sử dụng bộ đếm để đếm số phần tử trong mỗi thùng.

  • Sau đó sử dụng thanh để vẽ các thanh có chiều rộng đã chọn của bạn. Hoặc chỉ cần tạo các bản vá có kích thước nhất định. Sử dụng miếng vá cho điều đó.

Hoặc đơn giản hơn, chỉ cần sử dụng lịch sử.

hist(rand(1000,1),[0 .1 .3 .6 1]) 
5

2 giải pháp:

  1. Xác bin trung tâm với lập luận 2 đến hist.
  2. Chỉ định bin Cạnh với số đối số thứ 2 là histc. Chức năng này cần thêm xử lý vì nó không tạo biểu đồ trực tiếp - theo dõi liên kết cho ví dụ sử dụng.
Các vấn đề liên quan