[問題] 如何顯示彩色的bar已回收

看板MATLAB作者 (樂而不淫哀而不傷)時間15年前 (2008/09/16 16:12), 編輯推噓3(307)
留言10則, 2人參與, 最新討論串1/1
我想要顯示一組統計資料,才三個數字 [1000 700 800] 希望可以三條bar不同顏色 legend的時候也可以用顏色區隔 但是我查了bar的使用法 好像要兩組數據才會有顏色上的差異 如[3 4 8; 6 2 4] 才會把 3,6 4,2 8,4 用兩個顏色來區隔 單一組數據反而沒有辦法用顏色區隔 不曉得各位先進有沒有巧法可以做到這樣的功能 即1000一個顏色,700一個顏色,800一個顏色 且legend上也可以用顏色區隔 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.109.19.43

09/16 20:27, , 1F
bar([1000 700 800; 0 0 0]); xlim([0.5 1.5]);
09/16 20:27, 1F

09/16 20:28, , 2F
真的是一種"巧法" orz
09/16 20:28, 2F

09/16 23:23, , 3F
這樣也算是某種形式的解決, 但是我如果要做 xticklabel時
09/16 23:23, 3F

09/16 23:24, , 4F
就沒有辦法再x軸標記三條bar的意義
09/16 23:24, 4F

09/16 23:25, , 5F
用set(gca,'xticklabel',{'a' 'b' 'c'})只能顯示a而已
09/16 23:25, 5F

09/17 00:03, , 6F
bar([1000 0 0], 'r'); hold on;
09/17 00:03, 6F

09/17 00:03, , 7F
bar([0 700 0], 'g'); bar([0 0 800], 'b');
09/17 00:03, 7F

09/17 00:04, , 8F
set(gca,'xticklabel',{'a' 'b' 'c'}) 利用重疊的繪圖方式
09/17 00:04, 8F

09/17 00:08, , 9F
更快的方式 bar( diag([1000 700 800]), 'stacked' );
09/17 00:08, 9F

09/17 01:17, , 10F
nice code, 這真的是很棒的寫法
09/17 01:17, 10F
文章代碼(AID): #18psfapj (MATLAB)