Created
October 17, 2018 13:13
-
-
Save tanjuntao/673f89fccf5d5ca202b7c42a536bd318 to your computer and use it in GitHub Desktop.
可视化手写数字的数据集
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
function [h, display_array] = displayData(X, example_width) | |
%DISPLAYDATA Display 2D data in a nice grid | |
% [h, display_array] = DISPLAYDATA(X, example_width) displays 2D data | |
% stored in X in a nice grid. It returns the figure handle h and the | |
% displayed array if requested. | |
% Set example_width automatically if not passed in | |
if ~exist('example_width', 'var') || isempty(example_width) | |
example_width = round(sqrt(size(X, 2))); | |
end | |
% Gray Image | |
colormap(gray); | |
% Compute rows, cols | |
[m n] = size(X); | |
example_height = (n / example_width); | |
% Compute number of items to display | |
display_rows = floor(sqrt(m)); | |
display_cols = ceil(m / display_rows); | |
% Between images padding | |
pad = 1; | |
% Setup blank display | |
display_array = - ones(pad + display_rows * (example_height + pad), ... | |
pad + display_cols * (example_width + pad)); | |
% Copy each example into a patch on the display array | |
curr_ex = 1; | |
for j = 1:display_rows | |
for i = 1:display_cols | |
if curr_ex > m, | |
break; | |
end | |
% Copy the patch | |
% Get the max value of the patch | |
max_val = max(abs(X(curr_ex, :))); | |
display_array(pad + (j - 1) * (example_height + pad) + (1:example_height), ... | |
pad + (i - 1) * (example_width + pad) + (1:example_width)) = ... | |
reshape(X(curr_ex, :), example_height, example_width) / max_val; | |
curr_ex = curr_ex + 1; | |
end | |
if curr_ex > m, | |
break; | |
end | |
end | |
% Display Image | |
h = imagesc(display_array, [-1 1]); | |
% Do not show axis | |
axis image off | |
drawnow; | |
end |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment