gpt4 book ai didi

matlab - 缩放 MATLAB/Octave 图,以便正确打印所有标签

转载 作者:太空宇宙 更新时间:2023-11-03 19:34:58 26 4
gpt4 key购买 nike

我正在尝试使用 MATLAB/Octave 创建一个简单的热图: Heatmap plot
如您所见,我有很多行,每一行代表一个单独的类别。

我正在使用 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]);

最佳答案

有几种可能的解决方案:

调整图形窗口的大小

如果图形尚未最大化,您可以使用:

set(gcf, 'Position', get(0, 'ScreenSize'))

当然,除了 get(0, 'ScreenSize') 之外,您还可以使用自定义向量指定任何所需的维度(如 here 所述)。

缩小字体

您还可以通过减小字体大小来缩小标签文本:

set(gca, 'FontSize', 5)

但是请注意,这会影响当前坐标区中的所有 文本。

减少显示的刻度数量

作为最后的手段,您可以减少 y 轴上显示的刻度数,增加刻度间隔。代替 1:200,尝试使用其他间隔,例如:

set(gca, 'YTick', [1:20:200])

尝试组合上述解决方案,以获得更好的可视化效果。

您可以在 the official documentation 中阅读有关轴控制的更多信息.另外,正如您在其中一条评论中所建议的那样,this page包含许多用于在 MATLAB 中显示绘图的其他有用技巧。

关于matlab - 缩放 MATLAB/Octave 图,以便正确打印所有标签,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13314368/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com