尝试在matlab中更改轴的颜色.
引用matlab文档:关于设置轴属性的Matlab文档
代码段:
subplot( 'Position', [ left bottom (1/(cols*2)) (1/rows) ] );
ax = gca;
ax.Color = 'y';
Run Code Online (Sandbox Code Playgroud)
这只是文档中示例的复制和粘贴(如下所示):

但是matlab会发出警告并且不会改变我的轴颜色:
警告:Struct字段分配会覆盖类"double"的值.有关详细信息,请参阅MATLAB R14SP2发行说明,将非结构变量指定为结构显示警告.
我尝试分配一个双,就像说42.0,但它不喜欢那样更好.
Hok*_*oki 14
您的警告消息似乎表明您使用的是Matlab R2014b之前的版本.
如果是,你没有访问点符号,当你直接做,因为ax=gca;你得到一个返回值ax是类的double.该值是对象句柄的ID (在本例中为当前轴),但不是句柄本身.
当你尝试时ax.Color = 'y';,Matlab认为你想ax [double]用一个新的变量来覆盖你,这个变量ax就是一个结构,带有字段color,然后发出警告.
您仍然可以访问图形对象和属性的点表示法,但您必须首先使用该函数检索对象的实际句柄handle.例如:
ax = handle( gca) ; %// the value "ax" returned is an `object`, not a `double`
Run Code Online (Sandbox Code Playgroud)
甚至是对图形对象句柄的现有引用:
ax = gca ; %// retrieve the `double` reference to the handle
...
ax = handle(ax) ; %// the value "ax" returned is an `object`, not a `double`
Run Code Online (Sandbox Code Playgroud)
之后,您应该能够对图形对象的所有公共属性使用点表示法.ax.Color = 'y';现在应该有效