Re: [繪圖] 長條圖的Y軸問題

看板MATLAB作者 (好冷哦)時間13年前 (2012/07/07 02:33), 編輯推噓1(102)
留言3則, 1人參與, 最新討論串2/2 (看更多)
※ 引述《kronaking (胤羽)》之銘言: : 小弟我想要畫長條圖 : 要畫的內容類似 [10 8 13 126544 123474] 這樣的數據 : YScale只有Linear跟LOG兩種可以選擇 : 用Linear的話,數值小的就變一條線了,看不出來他們的差異 : 用LOG的話,看圖感覺不太直觀,因為圖是給別人看的 : 我想把Y軸刻度設定成 : [6 8 10 12 14 1000 100000 120000 122000 124000] : 類似這樣 : 我有嘗試調整 Tick Locations & Labels : 但是只有更改標示單位的位置, : 而沒有改變資料圖形的長度 : 請問版上 諸位先進、大大們 有方法嗎?感激不盡 如果是我會自己將y軸scale重新定義= =+ 假設值較小的群組佔y軸下方30%, 值較大的群組佔y軸上方30% 下方30%的 mapping大概定為 0 % -> 6 30 % -> 15 上方30%的mapping大概定為 70 % -> 120000 100 % -> 129000 根據這個方法去重新normalize原本要畫的值 y=[([10 8 13]-6)*0.3/9 ([126544 123474]-120000)*0.3/9000+0.7]; bar(y); axis([0 6 0 1]); set(gca,'YTick',[0:0.1:1]); set(gca,'YTickLabel',[[6:3:15] 100 1000 10000 [120000:3000:129000]]); 中間三個刻度就隨便放了@@ 看起來有比較舒服嗎 科科~ 其實我也想知道有沒有簡單一點的作法 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.113.169.32

07/07 22:54, , 1F
我沒想到可以用這一招.... 不過比較麻煩就是了
07/07 22:54, 1F

07/07 22:55, , 2F
我已經考慮要不要畫兩張圖再用小畫家合併了...哈哈
07/07 22:55, 2F

07/07 22:55, , 3F
感謝你大力幫助
07/07 22:55, 3F
文章代碼(AID): #1Fzo-3aP (MATLAB)
文章代碼(AID): #1Fzo-3aP (MATLAB)