您好,登錄后才能下訂單哦!
這篇文章主要介紹“Matlab怎么繪制酷炫坐標區域”的相關知識,小編通過實際案例向大家展示操作過程,操作方法簡單快捷,實用性強,希望這篇“Matlab怎么繪制酷炫坐標區域”文章能幫助大家解決問題。
首先說明一下函數咋用:假設編寫了如下函數:
t=0:0.35:3*pi; plot(t,sin(t),'Marker','d','LineWidth',2,'Color',[102,194,166]./255) hold on plot(t,cos(t./2),'Marker','o','LineWidth',2,'Color',[252,140,97]./255) plot(t,t,'Marker','^','LineWidth',2,'Color',[140,161,204]./255)
在最后一行調用工具函數進行修飾,例如:
prettyAxes().ggray2()
或者:
prettyAxes(gca).ggray2()
修飾效果:
prettyAxes().dark()
prettyAxes().dark2()
prettyAxes().economist()
prettyAxes().gbase()
prettyAxes().gbase2()
prettyAxes().ggray()
prettyAxes().ggray2()
prettyAxes().wsj()
目前只有這些主題,之后可能會更新.mat文件,請使用如下命令獲取可用主題列表:
prettyAxes().theme()
該命令會返回可用主題的函數名:
dark dark2 economist gbase gbase2 ggray ggray2 wsj
對于dark,dark2,economist,wsj這幾種風格,其背景色并不是白色,一般情況下保存圖片圖窗的背景會是默認白色,即下圖這樣:
想要連figure窗口的背景顏色一起保存需要設置figure窗口的InvertHardcopy屬性為'off',本函數已經設置好了這個屬性,因此直接點擊如下按鈕保存即可:
另外當文件解壓完成后后,將當前文件夾添加到搜索路徑可以在任意文件夾使用該工具函數:
完整代碼其實沒啥東西,但還是展示一下吧,大部分信息都存儲在.mat文件,完整代碼及.mat文件請公眾號后臺回復關鍵詞:PAX
完整代碼展示:
function PAX=prettyAxes(ax) % @author:slandarer % ================================== % 展示所有可選axes主題 % prettyAxes().theme() % ---------------------------------- % prettyAxes(ax).dark() % prettyAxes().ggray() if nargin<1 ax=[]; end % 從mat文件中讀取函數集合 axesTheme=load('axesTheme.mat'); axesTheme=axesTheme.theme; % 結構體函數構造 for L=1:length(axesTheme.List) PAX.(axesTheme.List{L})=@()setAxesTheme(ax,axesTheme,axesTheme.List{L}); end PAX.theme=@()showAxesTheme(axesTheme); % ========================================================================= % 坐標區域修飾基礎函數 function setAxesTheme(tAxes,axesTheme,Name) ax=tAxes; if isempty(ax) ax=gca; end % 讀取函數信息 sli=0;slii=0; tBaseStr=axesTheme.(Name); tBaseFunc=axesTheme.([Name,'_F']); eval([tBaseStr{:}]) if ~isempty(tBaseFunc) % 設置鼠標移動回調 set(ax.Parent,'WindowButtonMotionFcn',@bt_move_axes); end % 鼠標移動回調函數 function bt_move_axes(~,~) eval([tBaseFunc{:}]) end end % ------------------------------------------------------------------------- % 輸出可用風格列表函數 function showAxesTheme(axesTheme) for i=1:length(axesTheme.List) fprintf('%s ',axesTheme.List{i}) end fprintf('\r\n'); end end
關于“Matlab怎么繪制酷炫坐標區域”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識,可以關注億速云行業資訊頻道,小編每天都會為大家更新不同的知識點。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。