Re: [繪圖] 座標軸數值及劃分

看板MATLAB作者 (sppmg)時間7年前 (2017/04/22 04:45), 7年前編輯推噓1(101)
留言2則, 1人參與, 最新討論串2/2 (看更多)
我有點忘記怎設定了,所以重新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

04/22 12:52, , 1F
第一個問題其實是因為時間是年份 由於某些年代有點尷
04/22 12:52, 1F

04/22 12:52, , 2F
尬 才想用原本的表示~感謝指導!
04/22 12:52, 2F
文章代碼(AID): #1O-czKsb (MATLAB)
討論串 (同標題文章)
文章代碼(AID): #1O-czKsb (MATLAB)