无法在 MATLAB 图中更改线条颜色
Posted
技术标签:
【中文标题】无法在 MATLAB 图中更改线条颜色【英文标题】:Cannot change line color in MATLAB plot 【发布时间】:2016-05-04 22:37:32 【问题描述】:无论我在这个 MATLAB 绘图上指定什么线条的颜色,生成的绘图都会显示这种自动着色:
这是我使用的代码:
figure
plot(cumsum(sign([y_pred]).*tst_y)/std(sign([y_pred]).*tst_y), 'g')
xlabel('Time');
ylabel('Cumulative Returns (%)');
title('Neural Network Model Returns')
hold on
plot(cumsum(tst_y)/std(tst_y),'r')
hold off
我尝试了不同的方法来指定颜色,甚至尝试在图形编辑器中编辑线条颜色。知道如何使这些线条具有不同的颜色吗?我用的是 Matlab 2016a 试用版
【问题讨论】:
我无法重现这种行为。这种着色对我来说似乎很不寻常。一个简单的figure, plot([1 3 2],'r')
在您的系统上是否有同样的问题?
这可能是使用试用版的神器,以确保您不会在未支付产品费用的情况下发布结果数据。
@AlexanderBüse 在尝试像您建议的那样进行简单绘图时没有发生 - 但是我通过将线宽从(必须是)默认值 0.5 增加到1.5。这样做之后,我写的颜色规格会显示在图表上,而之前什么都不会改变!我需要快速修复,所以没有尝试更好地理解问题 - 有什么想法吗?
不,抱歉,我没有任何想法,为什么会这样。我认为@Suever 的评论是一个很好的提示。
【参考方案1】:
我也无法复制您的问题。也许 y_pred 或 tst_y 中的数据不是简单的双类(也许是神经网络工具箱特有的东西?),因此在 matlab 中具有不同定义的绘图函数。
否则你应该可以试试
figure
pl=plot(cumsum(sign([y_pred]).*tst_y)/std(sign([y_pred]).*tst_y));
pl.Color='g';
xlabel('Time');
ylabel('Cumulative Returns (%)');
title('Neural Network Model Returns')
hold on
pl=plot(cumsum(tst_y)/std(tst_y));
pl.Color='r';
hold off
【讨论】:
您也可以运行whos y_pred tst_y
来查看它们是否属于某种奇怪的数据类型?以上是关于无法在 MATLAB 图中更改线条颜色的主要内容,如果未能解决你的问题,请参考以下文章