如何在一张图上画出18条不同颜色的线?

3次浏览(过去30天)
大家好!
我要在一张图中画出18个不同的时间函数。我如何分配18种不同的颜色?(我工作与matlab 2014)
谢谢。

接受的答案

为副总经理
为副总经理 2023年1月10日
编辑:为副总经理 2023年1月10日
在R2019b之前的版本中,你总是可以在没有colororder()函数的情况下设置axes属性。
%一些虚假数据
X = linspace(0,1100);
Y = bsxfun(@plus,rand(18,100),(1:18).');我假设我们在一个较老的版本。
%设置轴的颜色顺序
CT =射流(18);这并不是一个好的选择
集(gca),“colororder”, CT);
% plot值
持有
情节(x, y)
当然,就像 @Bjorn Gustavsson 也就是说,除非你做了其他事情(例如使用精心制作的地图或使用其他线条属性),否则将18条曲线放在同一个图中可能会出现可读性问题,特别是当它们重叠或需要打印结果时。例如:
clf
%完全相同的颜色,但数据序列没有顺序偏移
X = linspace(0,1100);
OS = (1:18).';
Y = bsxfun(@plus,rand(18,100),os(randperm(18)));
%设置轴的颜色顺序
CT =射流(18);这并不是一个好的选择
集(gca),“colororder”, CT);
持有
HP = plot(x,y);
哪条曲线是数据4?
传奇(惠普、“位置”“eastoutside”
参见:

更多答案(2)

Bjorn Gustavsson
Bjorn Gustavsson 2023年1月10日
对于这种类型的任务,我已经很好地使用 cmlines -函数在 colormap-and-colorbar-utilities 工具箱中的文件交换。这很简单:
Ph = plot(randn(18,18));
colormap(涡轮)
cmlines (ph值(1:12)
colormap(铜)
cmlines (ph值(聪明的)
(不请自来的建议:有时如果我也使用linewith和linestyle来区分线条,我的情节会变得更清晰)
HTH

骑自行车的人
骑自行车的人 2023年1月10日
编辑:骑自行车的人 2023年1月10日
如果你的MATLAB版本是2019b或更高版本,我建议 colororder 函数。(我看到你提到了一个旧版本,所以这可能更适合其他遇到这个问题的人。)
对于这么多颜色,我建议使用实用程序 像这样 一个用于定义最大程度上可区分的颜色(和/或使用不同的绘图符号和线条样式)。
1评论
Bjorn Gustavsson
Bjorn Gustavsson 2023年1月10日
希望有一些更“自然”的顺序和/或函数分组来绘制,然后它可能会更好地为每组曲线提供一个不同的颜色图来指导观众。

登录评论。

标签

世界杯预选赛小组名单社区寻宝

在MATLAB Central中找到宝藏,并发现社区如何帮助您!世界杯预选赛小组名单

开始狩猎!

Baidu
map