默认的MATLAB默认线条规范和COLORMAPS是惊人的原油。该函数通过在*感知*空间中间隔〜平等来创建可区分的颜色,而不是在RGB空间中。它是基于辛西亚啤酒教授(Colorbrewer!)的研究,但易于使用。
创建N个[R B G]颜色的Nx3数组
这些可以用于绘制许多具有可区分和好看的颜色的线。
线型= linspecer (N);让N个颜色供你使用:
Colormap(Linspecer);设置您的Colormap以易于区分色彩和令人愉悦的审美
线型= linspecer (N,“定性”);强制所有的颜色都是可识别的(最多12种)
linestyles = linspecer(n,'顺序');迫使颜色沿频谱变化
_______________________________________________
示例演示颜色。
%线颜色
n = 6;
x = linspace(0,pi * 3,1000);
y = bsxfun(@(x,n)sin(x + 2 * n * pi / n),x',1:n);
c = linspecer(n);
轴(‘NextPlot’,‘replacechildren’,‘ColorOrder’,C);
plot(x,y,'linewidth',5)
ylim ([-1.1 - 1.1]);
%更简单的线条颜色示例
n = 6;x = linspace(0,pi * 3,1000);
c = linspecer(n)
搁置;
2 = 1: N
y = sin(x + 2 * ii * pi / n);
绘图(x,y,'颜色',c(ii,:),'linewidth',3);
抓住;
结尾
%ColorMap示例
a = rand(15);
图;显示亮度图像(一);%默认colormap
图;显示亮度图像(一);Colormap(Linspecer);%linspecer colormap.
_______________________________________________
演职员表和功能来源:
颜色很大程度上取决于:
http://colorbrewer2.org和辛西娅啤酒,马克哈尔斯和宾夕法尼亚州立大学
她从PhsyChometic角度研究了这一点,并制作了颜色
非常漂亮。
我从众多的选择中选择了在Matlab中绘制直线的最好的一次。我还对一种我觉得有点太亮的颜色做了一个小小的改变。另外,序列行样式也有一些插值。文件中包含了一个apache风格的软件许可证。
Jonathan C. Lansey(2021年)。美丽和可区分的线颜色+ ColorMap(//www.tatmou.com/matlabcentral/fileexchange/42673-beautiful-and-distinguishable-line-colors-colormap), MATLAB中央文件交换。检索。
启发:par那最大明显的颜色发生器那CubeHelix颜色地图生成器:美丽和通用!那ColorBrewer:有吸引力和独特的色彩地图那Matlab 2048.那rgb2hex和hex2rgb那Matplotlib感知均匀的Colormaps那高效的2D直方图,无需工具箱那Hyperplot工具
非常感谢你。这很容易使用<3
非常感谢!
好的结果,易于使用。
一个强大的功能(谢谢)。但为什么它不使用子图?
有什么关于斯蒂芬提到的许可证问题的事情?
谢谢你的助攻。
非常感谢你。您的功能在即将到来的纸张中提高了数字的颜色。
谢谢你的代码,它真的有助于我在我的论文工作中改进我的照片
谢谢你的好功能!
伟大的!
感谢您分享此文件!
非常好,美丽!
有用的
优秀的
太棒了!
易于使用,谢谢你!
奇妙的函数,工作在MATLAB R2014a和R2014b。谢谢你!
我喜欢它,很酷
在执照上撒谎是卑鄙的行为。
虽然作者写入“Apache样式软件许可证包含在文件中”实际上,此下载中的任何位置都没有提到Apache许可证。提供的许可实际上是BSD许可证,Matlab文件交换支持的唯一一个。金宝app
此提交删除了Cynthia Brewer的ColorBrewer ColorSchemes的许可证条件,这需要包含她的Apache许可证:
http://www.personal.psu.edu/cab38/ColorBrewer/ColorBrewer_updates.html
请注意,此功能会破坏原作者的版权,因为它不包括版权声明本身:
http://www.personal.psu.edu/cab38/ColorBrewer/ColorBrewer_updates.html
很有用。如果靠近黄色的颜色较暗,它会更好。
感谢您共享此文件,非常有用!
这一直是我的标准的线条颜色地图。然而,我经常会改变黄线的颜色——在白色的背景上,要很好地辨认出黄线是很不容易的。
谢谢你这个伟大的功能。这使得这个数字更好,方便。
谢谢每个人的评论,我很欣赏他们。
还要谢谢斯蒂芬的建议。
感人的。将其设置为默认值
如果作者希望改进此提交的代码,那么这可能会引起作者的兴趣:
//www.tatmou.com/help/matlab/matlab_prog/vectorizizizizizizization.html.
在作者对我的上次评论作出的更改后,我虽然我会再次审核这份提交。对于我之前制作的同一点:
1.该功能现在返回MATLAB标准N * 3数字Colormap。
2.默认大小现在为64,仍然与MATLAB的COLORMAP函数的默认值不匹配。
3.现在有一个H1行(尽管也许单词'colormap'应该包括在这行?)
4. MATINT消息已参加(在MATLAB R2012B上)。
5.示例现在完成了!
6.现在称“nargin”,而不是慢速“存在”。
7.“对于”循环仍然用于完成基本算术。这是由于数据存储在单元格阵列中。如果数据简单地存储在数字阵列中,则可以删除所有这些“for”循环。
8.现在预先利用“用于”循环之前的单元格阵列。
9.不必要的使用“varargin”,当一个简单的第二个论据就足够了。
10.改进的例子。
11.仍然没有“另见”链接到相关功能:“Colormap”,“Plot”,“Jet”,“HSV”,“RGBPLOT”,...
12.分发ColorBrewer数据不需要Apache许可:
http://www.personal.psu.edu/cab38/ColorBrewer/ColorBrewer_updates.html
大多数观点已经被解决了,提交基本上是按照它说的做的。然而,代码的质量很差。特别是使用单元数组存储数值数据需要多个局部函数来执行基本的数值运算。MATLAB的名字来源于“矩阵实验室”:它的设计是在数值矩阵上执行数值运算,快速!将数据存储在单元数组中并使用多个“for”循环来实现基本的数值功能是MATLAB的糟糕使用,因此,此提交比提供此功能所需的更大更复杂。
两颗星用于将MATLAB用户介绍给更好的ColorMaps而不是“JET”和“HSV”。
漂亮,添加这个作为默认颜色映射到我的启动。不要再伤眼睛了。谢谢!
阅读本文后的颜色参考:http://eagereyes.org/basics/rainbow-color-map
它是美丽的。谢谢你!
多么漂亮的彩色地图——我的新默认值。谢谢!
非常感谢!
谢谢你最出色的反馈斯蒂芬。我已经更新了周末几乎所有建议的功能。我希望它将很快得到Mathworks的批准。
修复上面的示例:通过设置“ColorOrder”Axes属性,可以使用带有多线图的ColorMap:
n = 5;
轴(‘NextPlot’,‘replacechildren’,‘ColorOrder’,cell2mat (linspecer (N)))
x = linspace(0,pi * 3,1000);
y = bsxfun(@(x,n)sin(x + 2 * n * pi / n),x',1:n);
甘氨胆酸的阴谋(X, Y,“线宽”,5)
11. M-File帮助部分应包括“参见”行,以链接到类似和关联的功能。
12.分发ColorBrewer方案需要包括原始Apache版权许可证的副本。
我一直在寻找更好的寻找,可区分的ColorMAP,以替换标准的ColorMaps,首先是这个文件似乎提供的。但是,这不是替代Colormap中的下降,M-File具有多个缺点,从而损害了这个想法:
1.非标准单元数组输出:所有标准MATLAB颜色映射返回一个Nx3数字矩阵。
2.非标准默认大小为255:标准MATLAB ColorMAPS使用当前的Colormap大小(非常有用!)。
3.帮助下没有H1线。
4.运行MLINT为代码改进提供八条消息。
5.如果没有添加额外代码,该示例不起作用。
6.当“Nargin”就足够的时候,调用慢的功能就像“存在”。
7.不必要的“for”循环可以被矢量化(特别是如果返回标准数字Colormap)。
8.“”为“循环中没有阵列预配。
9.当一个简单的第二个输入就足够的时候,不必要的使用“varargin”。
10.示例显示了MATLAB PLOT命令的使用差。与下面的代码进行比较,分为一半的行数:
n = 5;
colormap (cell2mat (linspecer (N)));
x = linspace(0,pi * 3,1000);
y = bsxfun(@(x,n)sin(x + 2 * n * pi / n),x',1:n);
plot(x,y,'linewidth',5)