在不同的热图中保持相同的比例

Keeping the same scale across different heatmaps

我使用数据集的子集绘制热图。我想比较不同的热图。如何保持数据集的规模不变?

使用的基本代码:

num_points = 100;
ke_pts = linspace(min(ke(filter)),max(ke(filter)),num_points);
ks_pts = linspace(min(ks(filter)),max(ks(filter)),num_points);
Pest = gridfit(ke(filter), ks(filter), S.totForce(filter), ke_pts, ks_pts);
imagesc(ke, ks, Pest)
axis xy
h = colorbar;

在这里,过滤器用于对数据集进行子集化,并因此单独绘制每个子集的热图。

我尝试使用 caxis([min,max]),但它给出了奇怪的结果,我不知道为什么。

我缺少变量 filterkeks 来重现您的示例,但我 认为 您要问的是以避免每个 imagesc 图的自动颜色条缩放。如果是这样,则 imagesc 的第四个参数是 clims 颜色条限制。这是一个工作示例:

rng(8675309) %// jenny number for consistency
subplot(1,2,1)
ke=linspace(0,1,100);
ks=linspace(0,1,100);
%// plot random numbers from 0-1 with a color bar from 0-2
imagesc(ke,ks,rand(100),[0,2])  
colorbar
subplot(1,2,2)
%// plot random numbers from 1-2 with a color bar from 0-2
imagesc(ke,ks,rand(100)+1,[0,2])
colorbar