默认的MATLAB默认线条规范和COLORMAPS是惊人的原油。该函数通过在*感知*空间中间隔〜平等来创建可区分的颜色,而不是在RGB空间中。它是基于辛西亚啤酒教授(Colorbrewer!)的研究,但易于使用。
此函数创建NX3数组的N [R B G]颜色
这些可用于绘制许多线条,具有可区分和漂亮的色彩。
linestyles = linspecer(n);为您提供n种颜色:linestyles(ii,:)
colormap (linspecer);设置你的颜色地图有容易区分的颜色和令人愉快的美学
linestyles = linspecer(n,'定性');迫使颜色到所有可区分(最多12个)
linestyles = linspecer(n,'顺序');迫使颜色沿频谱变化
_______________________________________________
展示颜色的例子。
%线颜色
n = 6;
x = linspace(0,pi * 3,1000);
Y = bsxfun(@(x,n)sin(x+2*n* / n), x。', 1: N);
c = linspecer(n);
轴('nettplot','replyechildren','colorourder',c);
情节(X, Y,“线宽”,5)
ylim([ - 1.1 1.1]);
%更简单的线条颜色示例
n = 6;x = linspace(0,pi * 3,1000);
C = linspecer (N)
推迟;
对于II = 1:n
y = sin(x + 2 * ii * pi / n);
情节(X, Y,“颜色”,C (ii):),“线宽”,3);
坚持,稍等;
结尾
% COLORMAP例子
a = rand(15);
图;显示亮度图像(一);%默认colormap.
图;显示亮度图像(一);colormap (linspecer);% linspecer colormap
_______________________________________________
学分和函数来自哪里:
颜色主要来自:
http://colorbrewer2.org.和辛西娅啤酒,马克哈尔斯和宾夕法尼亚州立大学
她从心理测量的角度研究了这一点,并精心设计了颜色
美妙地。
我从许多人做出了选择,以决定最好的一次在matlab中的绘图线。我也对我认为有点太亮的颜色进行了一个小的变化。此外,一些插值正在进行顺序线风格。文件中包含Apache样式软件许可证。
Jonathan C. Lansey(2021年)。美丽和可区分的线条颜色+颜色地图(//www.tianjin-qmedu.com/matlabcentral/fileexchange/42673-beautiful-dand-distinguise-line-colors-colormap),Matlab中央文件兑换。检索到。
启发:par那最大不同的颜色生成器那Cubehelix Colormap发电机:美丽而多功能!那ColorBrewer:有吸引力和独特的Colormaps那Matlab 2048那RGB2HEX和HEX2RGB.那Matplotlib感知均匀的Colormaps那高效的2D直方图,无需工具箱那超增工具
非常感谢。这很容易使用<3
非常感谢!
好的结果,易于使用。
功能强大(谢谢)。但为什么没有附带情节呢?
有什么关于斯蒂芬提到的许可证问题的事情?
谢谢你的帮助。
非常感谢。在我即将发表的论文中,您的函数改进了图形的颜色。
谢谢你的代码,它真的有助于我在我的论文工作中改进我的照片
谢谢你的好功能!
伟大的!
感谢您分享此文件!
非常好,美丽!
有用
优秀的
极好的!
易于使用,谢谢你!
奇妙的功能,在Matlab R2014A和R2014B中效果很好。谢谢!
我喜欢它,很酷
躺在牌照上是一个偷偷摸摸的事情。
虽然作者写入“Apache样式软件许可证包含在文件中”实际上,此下载中的任何位置都没有提到Apache许可证。提供的许可实际上是BSD许可证,Matlab文件交换支持的唯一一个。万博1manbetx
此提交违反了Cynthia Brewer的ColorBrewer配色方案的许可条件,该条件要求包括她的APACHE许可:
http://www.personal.psu.edu/cab38/colorbrewer/colorbrewer_updates.html.
请注意,此功能会破坏原作者的版权,因为它不包括版权声明本身:
http://www.personal.psu.edu/cab38/colorbrewer/colorbrewer_updates.html.
非常有用的。如果接近黄色的颜色再深一点就更好了。
感谢您共享此文件,非常有用!
这是我一段时间的标准Colormap。然而,我经常最终改变黄线的颜色 - 它远令人识别在白色背景上。
感谢这个伟大的功能。这使得图更好更方便。
谢谢每个人的评论,我很欣赏他们。
还要谢谢斯蒂芬的建议。
让人印象深刻。将其设置为默认值
如果他们希望改进本提交的代码,这可能对作者感兴趣:
//www.tianjin-qmedu.com/help/matlab/matlab_prog/vectorization.html
在作者对我最后的评论做出了修改之后,我想我会再次审查这篇文章。我之前也说过:
1.该函数现在返回一个MATLAB标准的N*3数值颜色映射。
2.默认大小现在为64,仍然与MATLAB的COLORMAP函数的默认值不匹配。
3.现在有一个H1线(尽管可能包含“Colormap”这个单词中的单词?)。
4.mlint消息已经被关注(在MATLAB R2012b上)。
这个例子现在完成!
6.现在称“nargin”,而不是慢速“存在”。
7.“for”循环仍然用于完成基本的算术运算。这是由于数据存储在单元阵列中。如果数据只是存储在数字数组中,那么所有这些“for”循环都可以被删除。
8.现在在“for”循环之前预分配单元格数组。
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”。
美丽,将此作为默认的Colormap添加到我的初始 - 没有伤害眼睛。谢谢!
阅读本文后的颜色很大参考:http://eagereyes.org/basics/rainbow-color-map.
很美丽。谢谢!
多么美丽的Colormap--我的新默认。谢谢!
非常感谢!
感谢Stephen最优秀的反馈。我已经更新了功能,包括几乎所有您的建议在周末。我希望很快能通过Mathworks的审核。
修复上面的示例:通过设置“ColorOrder”Axes属性,可以使用带有多线图的ColorMap:
N = 5;
轴('nettplot','replatechildren','colororder',cell2mat(linspecer(n)))
x = linspace(0,pi * 3,1000);
Y = bsxfun(@(x,n)sin(x+2*n* / n), x。', 1: N);
绘图(GCA,X,Y,'LineWidth',5)
11.M-file帮助部分应该包括'See also…,链接到类似的和相关的功能。
12.分发ColorBrewer方案需要包括原始Apache版权许可证的副本。
我一直在寻找更好的寻找,可区分的ColorMAP,以替换标准的ColorMaps,首先是这个文件似乎提供的。但是,这不是替代Colormap中的下降,M-File具有多个缺点,从而损害了这个想法:
1.非标准单元格阵列输出:所有标准MATLAB COLORMAPAP返回NX3数字矩阵。
2.非标准默认大小为255:标准MATLAB ColorMAPS使用当前的Colormap大小(非常有用!)。
3.帮助中没有H1行。
4.运行mlint会给出8条代码改进消息。
5.如果不添加额外的代码,这个示例就不能工作。
6.当“nargin”足够时,调用“exist”等慢函数。
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* / n), x。', 1: N);
情节(X, Y,“线宽”,5)