假设我们在MATLAB中有这个数组和List<Boolean> valuesList = values.asList();
List<Boolean> list2 = valuesList
.stream()
.map(value-> value ? trueCount++ : falseCount++)
.collect(Collectors.toList());``
函数:
pcolor
简介:
我希望在此jj = [0,1,0;1,0,1;1,1,0];
pcolor(jj);
图中显示jj
矩阵的所有元素,因此我们应该有一个3 * 3的图。我怎么能在MATLAB中做到这一点?
无论如何,只显示不在垂直和水平缩放之上的图中的行号和列号?是否有其他推荐的合适类型的图表来显示此类数据(2D二进制数据)?
答案 0 :(得分:3)
如果您希望所有图片数据都显示为pcolor
,则需要在打印之前使用额外的行和列填充输入,因为在pcolor
下面是surf
}对象和颜色分配给顶点而不是面。
jj = [0,1,0;1,0,1;1,1,0];
% Add an extra column
jj(:,end+1) = 0;
% Add an extra row
jj(end+1,:) = 0;
p = pcolor(jj);
现在,如果您只需要轴上的整数标签,则可以使用{{1}的XTick
/ Ytick
和XTickLabel
/ YTickLabel
属性进行调整为每个元素绘制正确的值
axes
如果您不需要黑色边缘,只需使用xlims = get(gca, 'XLim');
ylims = get(gca, 'YLim');
% Must offset ticks by 0.5 to center them
xticks = (xlims(1) + 0.5):(xlims(2) - 0.5);
yticks = (ylims(1) + 0.5):(ylims(2) - 0.5);
xticklabels = arrayfun(@num2str, 1:numel(xticks), 'UniformOutput', 0);
yticklabels = arrayfun(@num2str, 1:numel(yticks), 'UniformOutput', 0);
set(gca, 'xtick', xticks, 'ytick', yticks, ...
'xticklabel', xticklabels, 'yticklabel', yticklabels)
imagesc