2012-10-12 14 views
11

Tôi đang cố tạo bản đồ nhiệt bằng MATLAB, nhưng hàm mặc định trong chương trình MATLAB không có ý nghĩa gì đối với tôi.Bản đồ nhiệt MATLAB

http://www.mathworks.com/help/bioinfo/ref/heatmap.html

Có bất cứ ai có thể giúp tôi với nhãn đầu tiên, vì vậy mà tôi có thể đọc thông qua chức năng khác bản thân mình sau đó? Hoặc là có bất kỳ chương trình khác mà sẽ có một giao diện người dùng thân thiện hơn?

HeatMap(Data, ...'RowLabels', RowLabelsValue, ...) 

tôi có một tập hợp dữ liệu của một ma trận 81*2 và nhãn của tôi là một tế bào 81*1 cho trục x và 1*2 cho trục y. Bây giờ tôi có thể nhập thành công dữ liệu excel và vẽ dữ liệu bằng cách sử dụng bản đồ nhiệt, nhưng tôi có một thời gian khó điền vào biến trong hàm HeatMap.

Cảm ơn rất nhiều.

+1

HeatMap lấy Dữ liệu là ma trận. Nếu tôi hiểu bạn một cách chính xác, bạn chỉ có tọa độ ma trận (x, y). trước tiên hãy thử xây dựng một ma trận từ các tọa độ x-y của bạn. – bla

+0

Bạn có nghĩa là bạn muốn một bản đồ nhiệt đã được nhóm lại? – Bitwise

Trả lời

2

Tôi không chắc chắn những gì bạn đang thực sự cố gắng hoàn thành, nhưng tôi nghĩ bạn có thể muốn sử dụng colormap{}. Nếu bạn đang cố gắng tạo "heatmap" cổ điển, thì bản đồ màu là hàm bạn muốn. Về cơ bản, nếu bạn có vị trí x, y và giá trị Z mà bạn muốn đại diện dưới dạng màu, đây là mẹo dành cho bạn.

26

HeatMap không thực sự là chức năng tiêu chuẩn cho điều này, nó xuất phát từ Hộp công cụ sinh học. Các cách đơn giản để vẽ một bản đồ nhiệt có thể như:

A = 1:50;   % matrix to draw 
colormap('hot'); % set colormap 
imagesc(A);  % draw image and scale colormap to values range 
colorbar;   % show color scale 

Như @natan gợi ý, bạn có thể muốn xây dựng ma trận của bạn đầu tiên và sau đó vẽ bằng image hoặc imagesc. Ngoài ra, bạn muốn di chuyển muốn xem bài viết trên blog của tôi cho thấy rằng some color sets are better for accessibility than others, ví dụ: để in màu xám hoặc thiếu màu thị lực.

+0

Đơn giản và thanh lịch, đáng yêu! – Gerard

0

Bạn có thể sử dụng API Plotly MATLAB để tạo bản đồ nhiệt. Hãy thử điều này:

r = plotly({struct('z',randn(50,50), 'type','heatmap')}) % => https://plot.ly/~matlab_example/18dos(['open ', r.url]) 

this heatmap

Bạn có thể xem phiên bản tương tác và lắp đặt here.

Tiết lộ, tôi thuộc nhóm Plotly.