function hxp = xp_matrix (xp, legend_flag)
% xp must be 1x1 (e.g. zero dimensional)
xp_dims = sort(size(xp), 2, 'descend');
if xp_dims(1) ~= 1
error('xp_matrix can only be used with a scalar xp object.')
end
hxp = struct;
if nargin < 2, legend_flag = []; end
if isempty(legend_flag), legend_flag = 0; end
meta = xp.meta;
for d = 1:2
dim_name = ['matrix_dim_' num2str(d)];
if isfield(meta, dim_name)
axis_labels{d} = meta.(dim_name).name;
axis_values{d} = meta.(dim_name).values;
else
axis_labels{d} = '';
axis_values{d} = 1:size(xp.data{1}, d);
end
end
if isnumeric(axis_values{1})
hxp.hcurr = plot(axis_values{1}, xp.data{1});
else
hxp.hcurr = plot(xp.data{1});
end
box off
axis tight
if legend_flag
if iscellstr(axis_values{2})
legend(axis_values{2})
end
end
xlabel(axis_labels{1})
ylabel(axis_labels{2})
end