我正在尝试使用 MATLAB/Octave 创建一个简单的热图:
如您所见,我有很多行,每行代表一个单独的类别。
我正在使用该imagesc
功能,我希望能够缩放图像/绘图,以便可以正确打印每个 y 轴标签(而不是下图中可以看到的混乱)。
这是我想修改的示例代码:
A = randi(100, 200, 3);
imagesc(A, limit = [0, 100]);
set(gca, 'xtick', [1:3]);
set(gca, 'xticklabel', { "1,000", "2,000", "3,000" });
set(gca, 'ytick', [1:200]);
编辑:我附上了所提出问题的解决方案,感谢 EitanT 的建议以及http://nibot-lab.livejournal.com/73290.html?nojs=1上的有用信息:
paperWidth = 16.5;
paperHeight = 11.7;
set(gcf, 'Position', get(0,'Screensize'));
set(gcf, 'PaperUnits', 'inches');
set(gcf, 'PaperSize', [paperHeight paperWidth]);
set(gcf, 'PaperPositionMode', 'manual');
set(gcf, 'PaperPosition', [0 0 paperWidth paperHeight]);
set(gcf, 'renderer', 'painters'); figure(gcf);
A = randi(100, 200, 3);
imagesc(A, limit = [0, 100]);
set(gca, 'FontSize', 5);
set(gca, 'FontWeight', 'light');
set(gca, 'xtick', [1:3]);
set(gca, 'xticklabel', { "1,000", "2,000", "3,000" });
set(gca, 'ytick', [1:200]);