作者ycy (好冷哦)
看板MATLAB
標題Re: [繪圖] 長條圖的Y軸問題
時間Sat Jul 7 02:33:36 2012
※ 引述《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
1F:推 kronaking:我沒想到可以用這一招.... 不過比較麻煩就是了 07/07 22:54
2F:→ kronaking:我已經考慮要不要畫兩張圖再用小畫家合併了...哈哈 07/07 22:55
3F:→ kronaking:感謝你大力幫助 07/07 22:55