小编jlp*_*rla的帖子

为matlab图例添加额外的空格(用于psfrag)

如何在文本右侧的matlab图例上填充空格?我正在使用psfrag(和adobe illustrator进行一些其他图表修改)的组合,并将使用等式替换图中的占位符文本.问题是它紧紧地限制了占位符文本上的框,而我想为我的等式留出空间

从简单的数字开始;

h_plot = plot([0 1], [0 1]); 
h_legend = legend('A',0);
Run Code Online (Sandbox Code Playgroud)

我真正想要的间距就是这样的

h_plot = plot([0 1], [0 1]); 
h_legend = legend('A!!!!!!!!',0);
Run Code Online (Sandbox Code Playgroud)

!!!!!!!! 实际上是空格,它实际上存储为一个字符'A'.

一些似乎不起作用的事情:

  1. 一个明显的解决方案是:只需添加诸如"A !!!!!!!!!!!!"之类的文本 并用psfrag中的等式替换整个文本.但是,如果我触摸与Adobe Illustrator的文件,然后将文本转换为单个字符,它打破psfrag(见http://engineeringrevision.com/314/getting-illustrator-to-play-nicely-with-psfrag/为例).所以我真的需要将'A'字符作为字符串.

  2. 另一种方法是尝试拉伸盒子,但是调整位置或纵横比会相应地拉伸文本和线条.

例如,以下只是拉伸宽度

h_plot = plot([0 1], [0 1]); 
h_legend = legend('A',0);
leg_pos = get(h_legend,'position'); leg_pos(3) = leg_pos(3) * 2;
set(h_legend, 'position', leg_pos);
Run Code Online (Sandbox Code Playgroud)
  1. legendflex文件看起来非常有趣,但我认为对空白缓冲的控制仅适用于图例本身的位置.

matlab figures

6
推荐指数
1
解决办法
5501
查看次数

标签 统计

figures ×1

matlab ×1