簡體   English   中英

如何繪制Matlab中所示的網格圖形?

[英]How can I plot a gridded figure as shown in Matlab?

在此處輸入圖片說明

我將在上面的圖上繪制一些方框,其中有些字符或沒有字符。 謝謝。

如果您確實想要繪圖,可以使用以下函數進行處理:

function plotGrid(x)

dims = size(x);

% Get grid
tick_x = linspace(0, 1, dims(2)+1);
tick_y = linspace(0, 1, dims(1)+1);

% Get center points
pt_x = (0.5:dims(2)) / dims(2);
pt_y = (0.5:dims(1)) / dims(1);

[pt_x pt_y] = meshgrid(pt_x, pt_y);

% Plot
figure; hold on; axis off
plot([tick_x; tick_x], repmat((0:1)', 1, dims(2)+1), 'k')
plot(repmat((0:1)', 1, dims(1)+1), [tick_y; tick_y], 'k')
text(pt_x(:), pt_y(:), x(:), 'HorizontalAlignment', 'center')

例如:

>> x = num2cell(randi(10, [10 6]));
>> plotGrid(x)

在此處輸入圖片說明

在圖形上顯示表格數據的一種方法是使用UITABLE

data = 

    'U1'    'U2'    'U3'    'U4'    'U5' 
      []      []      []      []       []
      []      []      []      []       []
      []      []      []      []       []
      []      []      []      []       []
      []      []      []      []       []
      []      []      []      []       []
      []      []      []      []       []
      []      []      []      []       []
      []      []      []      []       []
      []      []      []      []       []
      []      []      []      []       []
      []      []      []      []       []
      []      []      []      []       []
      []      []      []      []       []
      []      []      []      []       []
      []      []      []      []    'U85'

>> uitable('Data', data, 'Units', 'normalized', 'Position', [0 0 1 1]);

產生:

在此處輸入圖片說明

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM