簡體   English   中英

使用bar3繪制3D直方圖

[英]Plot 3D histogram using bar3

我目前正在嘗試使用bar3繪制hist3的輸出。 這是一個簡單的示例:

vec_x = [1 2 4 5 7 8 9 3 8 7 2]';
vec_y = [1 3 9 5 7 8 1 3 2 9 2]';
vec_bin_edges = 0:9;
hist3([vec_x vec_y], 'Edges', {vec_bin_edges, vec_bin_edges});
mat_joint = hist3([vec_x vec_y], 'Edges', {vec_bin_edges, vec_bin_edges});
figure
bar3(mat_joint, 1);
axis tight

為了演示我的問題,我對兩個圖都做了兩張照片:

這是hist3([vec_x vec_y], 'Edges', {vec_bin_edges, vec_bin_edges});

這是bar3(mat_joint, 1);的輸出bar3(mat_joint, 1); 在此處輸入圖片說明

如您所見, bar3函數並沒有像hist3那樣真正地“ bar3 ”數據值,因此,條形圖在其位置略有偏移。 現在我的問題是,是否有可能使bar3圖看起來與hist3圖完全相同。 我這樣做的動機是,我需要修改mat_joint矩陣並再次繪制它,而使用hist3是不可能的。

編輯:不同的顏色並不重要,這只是垃圾箱的位置

好的,我知道了:

set(gca, 'xtick', [1.5:1:10.5]);
set(gca, 'ytick', [1.5:1:10.5]);
vec_bin_labels = 1:10;
vec_string_bin_labels = reshape(cellstr(num2str(vec_bin_labels(:))), size(vec_bin_labels));
set(gca, 'xticklabel', vec_string_bin_labels);
set(gca, 'yticklabel', vec_string_bin_labels);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM