图片缩略图

美丽而区分的线条颜色+颜色表

用非常可分辨的和美观的颜色绘制许多线条。适用于“N”颜色

344个下载

更新2015年9月16日

查看许可协议

默认的Matlab默认线规范和颜色图是非常粗糙的。该函数通过在*感知*空间中(而不是在RGB空间中)间隔颜色来创建可区分的颜色。它是基于辛西娅·布鲁尔教授(颜色布鲁尔!)的研究,但惊人地易于使用。
这个函数创建了一个Nx3数组的N [R B G]颜色
这些可以用来绘制许多具有可分辨的漂亮颜色的线条。
线型= linspecer (N);制作N种颜色供您使用:lineStyles(ii,:)
颜色表(linspecer);设置你的颜色表有易于区分的色彩和令人愉悦的美学
线型= linspecer (N,“定性”);强制所有颜色可区分(最多12种)
线型= linspecer (N,“顺序”);使颜色沿光谱变化

_______________________________________________

实例证明了颜色。

%线条颜色
N = 6;
X = linspace(0,π* 3,1000);
Y = bsxfun(@(X,N)的sin(x + 2 * N * PI / N),X.',1:N);
C = linspecer (N);
轴(‘NextPlot’,‘replacechildren’,‘ColorOrder’, C);
积(X,Y, '线宽',5)
ylim ([-1.1 - 1.1]);

%简单的线颜色的例子
N = 6;X = linspace(0,π* 3,1000);
C = linspecer(N)
拖延;
2 = 1:N
Y = sin (X + 2 * 2 *π/ N);
积(X,Y, '颜色',C(二,:), '线宽',3);
抓住;
结束

%色彩表实例
一个=兰德(15);
图;显示亮度图像(一);%默认colormap
图;显示亮度图像(一);颜色表(linspecer);%linspecer色彩表

_______________________________________________

演职员表及功能来源:

颜色在很大程度上取自:
http://colorbrewer2.org还有Cynthia Brewer, Mark Harrower和宾夕法尼亚州立大学
她研究这从phsychometric观点和精雕细琢的颜色
非常漂亮。

我做了很多选择来决定在Matlab中绘制直线的最佳方法。我还对其中一种颜色做了一点小小的改动,我觉得它太亮了。此外,一些插值正在进行的顺序线样式。文件中包含一个apache风格的软件许可证。

引用作为

乔纳森·c·兰西(2020)。美丽而区分的线条颜色+颜色表(//www.tatmou.com/matlabcentral/fileexchange/42673- beautifulandisha- linecolors-colormap), MATLAB中央文件交换。检索

评论和评分(71)

yanyan唐

zhewei么

非常感谢你。你的功能改善在我即将纸的数字的颜色。

秋道

霞山张

谢谢你的代码,它真的帮助我改善我的图片在我的论文工作

谢谢你的功能!

Jakob Jongsma

太棒了!

MARU

Xiangjie谢

YH乙

ZhiH

谢谢分享这个文件!

Hanghang马

陈应奇

非常好,非常漂亮!

lei赵

KAE

有用的

Mukalu正树

你圩镇

他何

Procat

优秀的

使用方便,谢谢!

ŤRockett

建康

雷李

Gizem Okyay

DF

出色的函数,在MATLAB R2014a和R2014b中工作出色。谢谢你!

DF

基诺Delfe

BreezyWest

Fannymost

我喜欢它,非常酷

minzhen李

静温

在执照上撒谎是一种卑鄙的行为。

尽管作者写道“文件中包含APACHE风格的软件许可”,但实际上在本文的下载部分完全没有提到APACHE许可。所提供的许可证实际上是BSD许可证,MATLAB文件交换只支持BSD许可证。金宝app

这次提交休息辛西娅布鲁尔的colorschemes在ColorBrewer,这需要她Apache许可证被包含的许可条件:

http://www.personal.psu.edu/cab38/ColorBrewer/ColorBrewer_updates.html

程joylin

程joylin

杰米

haiou

请注意,这个功能破坏了原作者的版权,因为它不包括版权通知本身:

http://www.personal.psu.edu/cab38/ColorBrewer/ColorBrewer_updates.html

燕江

很有用。这将是更好的,如果颜色接近黄色是暗。

VeraM

谢谢分享这个文件,非常有用!

杰夫刘

这已经成为我的标准线条颜色图有一段时间了。然而,我经常会改变黄线的颜色——在白色背景上,要很好地识别它,光是远远不够的。

“国丰

感谢这个伟大的功能。这使得数字好了很多方便。

谢谢大家的好评,我非常感谢。
也感谢Stephen的建议。

丹尼

令人印象深刻。将其设置为我的默认

如果作者希望改进提交文件的编码,他可能会感兴趣:
//www.tatmou.com/help/matlab/matlab_prog/vectorization.html

之后的变化响应我的最后意见中提出的作者,我虽然我会重新检讨此提交。出于同样的点一下我刚才做:
1.函数现在返回一个MATLAB标准N * 3数字颜色表。
2.默认大小现在是64,这仍然不匹配MATLAB的colormap函数的默认值。
3.现在有一个H1行(尽管也许“colormap”这个词应该包括在这一行中?)
4.mlint消息已经被处理(在MATLAB R2012b上)。
5.现在示例已经完成了!
6.现在叫“nargin”,而不是慢的“exist”。
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用户介绍了比“jet”和“hsv”更好的色彩映射。

安妮Urai

很漂亮,把这个作为默认的颜色映射添加到我的启动。不再有痛苦的眼睛。谢谢!

G W

阅读这篇文章后,颜色的伟大参考:http://eagereyes.org/basics/rainbow-color-map

G W

G W

它是美丽的。谢谢你!

多么漂亮的颜色映射——我的新默认值。谢谢!

李陆

谢谢!

感谢您的最优秀的反馈斯蒂芬。我已经更新了功能,几乎所有的建议,周末包括。我希望这将MathWorks公司不久将获得批准。

修正上面的例子:可以通过设置“ColorOrder”轴属性来使用带有多线图的colormap:

N = 5;
轴(‘NextPlot’,‘replacechildren’,‘ColorOrder’, cell2mat (linspecer (N)))
X = linspace(0,π* 3,1000);
Y = bsxfun(@(X,N)的sin(x + 2 * N * PI / N),X.',1:N);
甘氨胆酸的阴谋(X, Y,“线宽”,5)

11. M-文件帮助部分应该包括“又见......”行,链接到类似的和相关的功能。
12.分发colorbrewer方案需要包括一份原始Apache版权许可的副本。

我一直在寻找更好看,可区分的颜色映射来取代标准的,这在一开始似乎提供了这个文件。然而,这并不是替换colormap的一个下降,而且M-file有多个缺点,这与这个想法背道而驰:
1.非标准单元阵列输出:所有标准的MATLAB颜色图返回一个Nx3数字矩阵。
2.非标准默认大小255:标准的MATLAB颜色映射使用当前颜色映射大小(非常有用!)
3.无H1线的帮助。
4.运行mlint给出改进代码八个消息。
5.如不不添加额外的代码工作。
像“存在” 6.吁请慢功能,当“nargin”就足够了。
7.不必要的“for”循环可以向量化(特别是在返回标准数字颜色映射时)。
8.for循环中没有数组预分配。
9.当一个简单的第二个输入就足够时,不必要地使用“varargin”。
10.示例说明MATLAB绘图命令使用不好。与下面的代码相比,只需要一半的行数:
N = 5;
colormap (cell2mat (linspecer (N)));
X = linspace(0,π* 3,1000);
Y = bsxfun(@(X,N)的sin(x + 2 * N * PI / N),X.',1:N);
积(X,Y, '线宽',5)

更新

1.4.0.0

多达4种颜色基本的色盲的支持。金宝app使用参数“色盲”

1.4.0.0

对顺序输出的小更改

1.3.0.0

根据Stephen Cobeldick的优秀建议,对功能进行了调整。

1.1.0.0

我把大写N的颜色调暗了一点。也使演示更清晰。