如何在文本右侧的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'.
一些似乎不起作用的事情:
一个明显的解决方案是:只需添加诸如"A !!!!!!!!!!!!"之类的文本 并用psfrag中的等式替换整个文本.但是,如果我触摸与Adobe Illustrator的文件,然后将文本转换为单个字符,它打破psfrag(见http://engineeringrevision.com/314/getting-illustrator-to-play-nicely-with-psfrag/为例).所以我真的需要将'A'字符作为字符串.
另一种方法是尝试拉伸盒子,但是调整位置或纵横比会相应地拉伸文本和线条.
例如,以下只是拉伸宽度
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)
legendflex文件看起来非常有趣,但我认为对空白缓冲的控制仅适用于图例本身的位置.