我正在 Matlab 2014b 中繪製一些圖,其中我繪製了 5 個變數與時間的關係圖,並希望在圖上指定 5 個名稱,例如速度(rad/sec)、電壓(V)等。在圖片中看到的那樣,y 標籤的左側有額外的平淡空間,並且正在努力將其刪除。
這是一個工作代碼,只是為了解釋這種情況:
clear all; clc; close all;
x = rand(8,1);
y = rand(8,1);
figure
plot(x,y)
xlabel('time (s)')
ylabel('$x$ (m), $\theta$ (rad), $\dot{x}$ (m/s),$\dot{\theta}$ (rad/s), $\dot{S}_{gen}$(W/K)','Interpreter', 'latex','fontsize',10)
grid
如有任何建議,我們將事先高度讚賞。
答案1
您可以如下調整圖形視窗中軸的位置(使用範例程式碼):
clear all; clc; close all;
x = rand(8,1);
y = rand(8,1);
figure;
ax = handle(gca);
ax.Position = [0.1, 0.15, 0.8, 0.75];
plot(x,y)
xlabel('time (s)')
ylabel('$x$ (m), $\theta$ (rad), $\dot{x}$ (m/s),$\dot{\theta}$ (rad/s), $\dot{S}_{gen}$(W/K)','Interpreter', 'latex','fontsize',10)
grid
程式碼解釋
將ax = handle(gca);
軸句柄儲存在變數中ax
,以便稍後可以更改它。
您可以ax.Position [0.1, 0.15, 0.8, 0.75];
變更手把所引用的圖中軸的位置ax
。上面的範例將左下點設定為座標0.1, 0.15
,寬度和高度分別為0.8
和0.75
。這些座標根據您的身材尺寸進行標準化。
範例圖
初始情況
如果你設定ax.Position
為[0.25, 0.15, 0.7, 0.75]
你會得到像最初一樣的東西:
解決方案
如果你設定 ,ax.Position
你[0.1, 0.1, 0.85, 0.85]
會得到更少的空白:
筆記
此 MATLAB 幫助鏈接解釋如何「自動」定義軸位置以使配合更緊密。
此 MATLAB 幫助連結在軸上解釋了座標區物件中可用的參數。
這個答案在 Stackoverflow幫我找到了在 2014b 之前的 MATLAB 版本中使用點表示法的方法。顯然使用handle()
也比set
和get
方法更快。