【发布时间】:2020-01-17 05:38:11
【问题描述】:
我正在尝试更改 simulink 中使用的范围的轴、图例和标题的字体大小。我已经看到很多关于在工作区制作的绘图中更改字体大小的答案,例如使用“setgca”和“fontsize”属性,但在 simulink 范围内找不到任何关于更改字体大小的信息。
【问题讨论】:
标签: matlab fonts scope size simulink
我正在尝试更改 simulink 中使用的范围的轴、图例和标题的字体大小。我已经看到很多关于在工作区制作的绘图中更改字体大小的答案,例如使用“setgca”和“fontsize”属性,但在 simulink 范围内找不到任何关于更改字体大小的信息。
【问题讨论】:
标签: matlab fonts scope size simulink
我尝试了几种方法,但没有直接的方法来实现它。但是,我们可以调整与范围相关的 Figure 内的标题和 x/y 标签的字体大小
指向范围到图 运行范围后,单击范围。在任务栏中,选择
文件>打印到图
这会将您带到一个图形,我们可以在其中编辑图形的字体。
在图中编辑字体
编辑>图形属性
在弹出的窗口中,编辑字体。
【讨论】:
Font...。更改字体后,在图形边缘拖动以调整其大小以调整边距。
在 simulink 中,可以使用 go to 更改字体样式和大小:
图表 > 格式 > 模型的字体样式
您可以在此处更改块、线和注释的字体样式和大小。
【讨论】:
没有任何功能可以从下拉菜单中更改这些,但是,它们都可以使用代码进行更改。
需要注意的主要一点是,Simulink Scope 只是一个伪装的 MATLAB 图窗口,因此一旦您拥有要操作的范围块的句柄,就可以使用标准的 Handle Graphics 命令对其进行操作。
例如要更改您要执行的图例的大小:
% Get the Name of the block you want to change
scope_name = get_param(gcb,'Name');
% Get the handle of the figure window used for the scope
hs = findall(0,'Tag','SIMULINK_SIMSCOPE_FIGURE','Name',scope_name);
% Get the handle to the axes on the scope
% (For simplicity, here we'll assume there is only one axis on the scope.
% If there are multiple axes, then you'll need to select which one to manipulate.)
ha = findall(hs,'Type','Axes');
% Get the handle to the legend
hl = get(ha,'Legend');
% Change the font size
set(hl,'FontSize',12);
鉴于上述任何句柄,您可以使用set 和get 来操作它,就像任何句柄图形对象一样。
【讨论】:
我不确定如何从 MATLAB 访问范围对象,但是,我设法通过简单地调整范围窗口的大小来更改 legend 和 titles 文本大小。我知道这不是完全正确的方法,但它确实有效。
【讨论】: