為什麼這篇Matlab 科學記號 轉換鄉民發文收入到精華區:因為在Matlab 科學記號 轉換這個討論話題中,有許多相關的文章在討論,這篇最有參考價值!作者sppmg (sppmg)看板MATLAB標題Re: [繪圖] 座標軸數值及劃分時間Sat Ap...
我有點忘記怎設定了,所以重新google一遍。
下面附上google 關鍵字。
※ 引述《Acchannyan (ZeFates)》之銘言:
: 大家好 最近因為要交專題的結案報告
: 應老師要求使用matlab來畫溫度對時間的圖
: x軸的部分是時間 數值有到2萬左右
: 因此畫好預設的都是用科學記號表示
: 不知道是否能用正常的20000這樣顯示?
google: matlab format axis numbers
ans:
set(gca,'XTickLabel',num2str(get(gca,'XTick').'))
matlab 似乎沒有特別設定格式的指令。不過提供了設定標簽(XTickLabel)相關的指令
(set(gca,'XTickLabel', [...] ) or xticklabels )
所以這個方法就是將現有標籤取出轉字串再放入。
其實你有 2e4(s) 這麼長,何不考慮用 (hr)小時 或是 (ks) 1000s 這樣的單位呢!
那麼多 0 ,不是教主不需要啦!
: 第二個問題是我想在圖上畫出某個區域
: 底色改成其他顏色
: 例如x軸 200到4000的整個區域要為藍色底色 其餘則是預設的白色這樣
: 之前是用小畫家慢慢拉 不知道能不能用code寫
: 懇請開示
: -----
: Sent from JPTT on my Asus ASUS_Z012DA.
我第一個想到就是畫個方塊。google 後也是如此
google: matlab figure background color part
ans: 使用 patch 畫多邊形
不過有兩點要注意:
1. matlab 軸範圍會自動調整,多邊形點之 y 值看是要手動指定或是先畫 data,
取軸值後再畫多邊形均可。
2. 重疊問題。既然是背景,多邊形應該在後面。所以解決方法基本分兩種。
a. 先畫多邊形再畫線。(with hold on)
b. 先畫線再畫多邊形,然後更新線值或是重排兩者關係。
詳細方法下面網頁有詳細列表。(我就不縮了,google keyword 也找得到)
https://www.mathworks.com/matlabcentral/newsreader/view_thread/114351
其中我最喜歡的是:
-------------------------
2) Specify axes children instead of using UISTACK :
figure
p1 = plot([1 5],[2 7]);
s = patch([2 4 4 2],[3 3 4 4],[0.8 0.8 0.8]);
set(gca,'children',[p1 s])
-------------------------
(畫完多邊形記得再檢查一次 ylim 是否變動。)
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 114.32.188.151
※ 文章網址: https://www.ptt.cc/bbs/MATLAB/M.1492807508.A.DA5.html
※ 編輯: sppmg (114.32.188.151), 04/22/2017 05:06:32