我试图绘制一个矩阵,其中每个元素处于两种状态中的一种.(正在模特......)
现在,我希望有一个状态为彩色,另一个为白色.这有用
[i,j] = find(S);
figure(gcf);
plothandle = scatter(i,j);
axis([0 nNodes+1 0 nNodes+1]);
Run Code Online (Sandbox Code Playgroud)
当S保持Spins并且一个状态等于0.(find返回仅包含非零元素的矩阵)
要获得有用的绘图,标记的大小在RELATIVE坐标中应为1x1.因此,如果整个矩阵S处于非零状态,则一切都将被着色.
但是,似乎Matlab只允许以磅或英寸为单位的MarkerSizes.我该怎么解决这个问题?
我的一个想法是,我找到了轴的点大小,然后可以很容易地计算我的标记应该有多大.然后我必须创建一个回调函数,如果我想放大等等.此外,我还没有找到一种方法(没有图像acq.工具箱)来找出我的轴的绝对大小.
澄清我想要的东西:我如何使用矩阵绘制棋盘,其中1表示黑色,0表示白色字段?
对于显示此类数据,我通常更喜欢IMAGE或IMAGESC而不是PCOLOR,因为在使用多面着色(默认)时, PCOLOR不会显示矩阵的最后一行和最后一列。此外,IMAGE和IMAGEESC会翻转 y 轴,以便图像更直观地匹配您在查看矩阵时所想到的内容(即行从顶部的 1 开始)。您可以像这样可视化您的矩阵:
S = round(rand(20)); %# Sample 20-by-20 matrix of ones and zeroes
imagesc(S); %# Plot the image
colormap([1 1 1; 0 0 0]); %# Set the colormap to show white (zero elements) and
%# black (non-zero elements)
Run Code Online (Sandbox Code Playgroud)
这是一个示例图像:

| 归档时间: |
|
| 查看次数: |
1207 次 |
| 最近记录: |