【问题标题】:Why can't MATLAB plot the word "factory"?为什么 MATLAB 不能绘制“工厂”这个词?
【发布时间】:2018-09-28 16:19:58
【问题描述】:

考虑以下 MATLAB 代码:

text(0, 0, 'factory');
xlim([-1, 1]);
ylim([-1, 1]);

预期的目标是制作一个带有“工厂”一词的图形。没有字出现。现在用任何其他词替换“工厂”一词,上面的代码按预期工作。这已经用 MATLAB 2017b 和 2015b 测试过

有人知道这里发生了什么吗?

【问题讨论】:

  • 已经用 MATLAB 2017b 和 2015b 测试过
  • 在 MATLAB 2016b 上也得到了证实。

标签: matlab matlab-figure


【解决方案1】:

问题说明

根据MATLABtitle function documentation

default、factory 和 remove 是保留字 当引用为普通字符向量时,不会出现在标题中。 要单独显示这些词中的任何一个,请在它们前面加上 反斜杠,例如 '\default' 或 '\remove'。

这个逻辑也适用于文本函数。 Default Property Values 页面提供了有关 factory 关键字的作用以及为什么我们不能将其用作图形函数的参数的更多详细信息。

解决方案

以下代码可以正常工作:

text(0, 0, '\factory');
xlim([-1, 1]);
ylim([-1, 1]);

【讨论】:

  • 该问题的另一种解决方案是将字符串包装在一个元胞数组中,如下所示:text(0, 0, {'factory'})
  • 另一种方式(从 R2014b 开始)是t = text(0, 0, ''); t.String = 'factory'。有趣的是,t = text(0, 0, ''); set(t, 'String', 'factory') 不起作用
猜你喜欢
  • 1970-01-01
  • 2012-06-24
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-03-29
  • 2015-08-16
相关资源
最近更新 更多