matlab - Matlab 图中的相对标记大小

标签 matlab plot

我正在尝试绘制一个矩阵,其中每个元素都处于两种状态之一。 (新模型..)

现在,我想让一种状态是彩色的,另一种是白色的。可以使用

[i,j] = find(S);
figure(gcf);
plothandle = scatter(i,j);
axis([0 nNodes+1 0 nNodes+1]);

当 S 持有 Spins 且一个状态等于 0 时。(find 返回仅包含非零元素的矩阵)

要绘制有用的图,标记的大小在相对坐标中应为 1x1。因此,如果整个矩阵 S 处于非零状态,则所有内容都会被着色。

但是,似乎 Matlab 只允许以磅或英寸为单位的 MarkerSizes。我该如何解决这个问题?

我的一个想法是,我找出轴的点大小,然后可以轻松计算出我的标记应该有多大。然后,如果我想放大等等,我将不得不创建一个回调函数。此外,我还没有找到一种方法(没有图像采集工具箱)来找出我的轴的绝对大小。

澄清我想要的:我如何使用矩阵绘制棋盘,其中 1 表示黑色区域,0 表示白色区域?

最佳答案

对于显示此类数据,我通常更喜欢 IMAGEIMAGESCPCOLORPCOLOR使用多面阴影(默认)时,不会显示矩阵的最后一行和最后一列。另外,IMAGEIMAGESC翻转 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)

这是一个示例图片:

enter image description here

关于matlab - Matlab 图中的相对标记大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6282361/

相关文章:

r - 全局或按 session 更改绘图字体

r - 如何在 ggplot2 的 x 轴中使用月份名称

python - 两个子图上的两个颜色条,相同的图形

xcode - MATLAB MEX 无法使用 XCode 4.3 (Mac) 找到标准库

matlab - 将函数传递给 arrayfun

matlab - 如何通过 MATLAB 生成由不同频率滑音段组成的声音?

Python - 如何使用其他 numpy 数组正确索引 numpy 数组,类似于 MATLAB

matlab - 绘制连续信号

r - 如何在 ggplot2 R 图中设置轴限制?

python - Matplotlib 散点图,每个 x 点有 2 个 y 点