文件交换

图片缩略图

美丽和可分辨的线条颜色+彩图

版本1.4.0.0(8.25KB)由 乔纳森·C·兰西
用非常容易区分和美观的颜色绘制大量的线条。适用于N色
4.9
72级

186下载

更新2015年9月16日

视图版本历史

查看许可协议

默认的Matlab默认线规格和颜色图是惊人的粗糙。这个函数通过在“感知”空间(而不是RGB空间)等距来创建可识别的颜色。它是基于辛西娅布鲁尔教授(colorbrewer!)的研究,但惊人地容易使用。
此函数用于创建N[R B G]颜色的Nx3数组
这些可以用来绘制许多线条,并具有可分辨和好看的颜色。
lineStyles=linspecer(N);为您制作N种颜色:lineStyles(ii,:)
colormap (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]);

%简单线条颜色的例子
N = 6;X = linspace(0,π* 3,1000);
C = linspecer (N)
推迟;
对于ii=1:N
Y = sin (X + 2 * 2 *π/ N);
情节(X, Y,“颜色”,C (ii):),“线宽”,3);
坚持住;
结束

% COLORMAP例子
一个=兰德(15);
图;imagesc(A);%默认颜色映射
图;显示亮度图像(一);colormap (linspecer);% linspecer colormap

_______________________________________________

学分和功能来源:

这些颜色主要来自:
http://colorbrewer2.org以及Cynthia Brewer, Mark Harrower和宾夕法尼亚州立大学
她从心理测量学的角度研究了这一点,并精心制作了颜色
美丽地。

我从那里的许多人中做出选择,以决定在Matlab中绘制线条的最佳时机。我还对其中一种颜色做了一个小小的改变,我觉得它有点太亮了。此外,一些插值正在进行的顺序线样式。文件中包含Apache风格的软件许可证。

引用为

乔纳森·c·兰西(2021)。美丽和可分辨的线条颜色+彩图(//www.tianjin-qmedu.com/matlabcentral/fileexchange/42673-beautiful-and-distinguishable-line-colors-colormap),MATLAB中央文件交换。恢复

意见及评分(79

米兰·巴特伯格

非常感谢。这是如此容易使用<3

shangwei赵

谢谢!

Ketian你们

效果好,使用方便。

朱尔斯雷

艾哈迈德机舱

功能强大(谢谢)。但为什么没有附带次要情节呢?

约翰内斯·科索

斯蒂芬提到的许可证问题有解决办法了吗?

庆阳戴

谢谢你的帮助。

阿图尔·卡明斯基

杰克马丁

燕燕汤

姚哲伟

塔里克·拉什万

雷内·Sørensen

艾哈迈德Alghamdi

非常感谢。你的功能改进了我即将发表的论文中数字的颜色。

马塞洛•费尔南德斯

秋道

张玉坤

谢谢你的代码,它真的帮助我提高了我的PIC在我的纸工作

斯维特拉娜·巴拉诺瓦

谢谢你漂亮的功能!

雅各布·琼斯玛

太棒了!

谢向杰

本产品B

登陆器瓦罗耶

Ajey Venkataraman

ZhiH

谢谢分享!

Hanghang马

陈Yingqi

非常好,非常漂亮!

lei赵

有用的

Mukalu正树

你媳

他何

Procat

中日公园

优秀的

大卫·弗兰科

好极了!

里谢尔·卡巴蒂

易于使用,谢谢你!

Shailesh Appukuttan

T罗基特

剑康

米歇尔·西洛扬尼斯

雷李

吉泽姆奥凯

DF

非常棒的函数,在MatlabR2014A和R2014b中工作得非常好。谢谢!

DF

基诺Delfe

马修Hoehler

微风习习

Fannymost

我喜欢它,很酷

minzhen李

静温

斯蒂芬·科贝迪克

在许可证问题上撒谎是一件卑鄙的事。

尽管作者写道“文件中包含一个APACHE风格的软件许可”,但实际上在下载的任何地方都没有提到APACHE许可。所提供的许可证实际上是一个BSD许可证,是MATLAB文件交换所支持的唯一许可证。万博1manbetx

此提交打破了Cynthia Brewer的ColorBrewer配色方案的许可条件,该条件要求包括她的APACHE许可:

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

特里斯坦Ursell

程若琳

程若琳

塞浦路斯

杰米

海鸥

斯蒂芬·科贝迪克

注意,这个函数破坏了原始作者的版权,因为它没有包含版权声明本身:

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

燕江

非常有用的。如果接近黄色的颜色再深一些就更好了。

维拉姆

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

刘杰夫

马提亚Hunstig

这是一段时间以来我对线条的标准颜色图。然而,我经常改变黄线的颜色——在白色背景下很难很好地识别。

“国丰

感谢这个伟大的功能。这使得图形更好,更方便。

乔纳森·C·兰西

谢谢大家的评论,我很感激。
也感谢Stephen的建议。

丹尼

让人印象深刻。将它设置为默认值

斯蒂芬·科贝迪克

如果作者希望改进此提交文件的代码,则可能会对此感兴趣:
//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上)。
5示例现在已完成!
6.现在叫“nargin”,而不是慢的“exist”。
7.“for”循环仍然用于完成基本的算术运算。这是由于数据存储在单元格数组中。如果数据只是简单地存储在数字数组中,那么所有这些“for”循环都可以被删除。
8.现在在for循环之前预分配单元格数组。
9当一个简单的第二个参数就足够时,不必要地使用“varargin”。
10.改进的例子。
11.仍然没有'See also'行链接到相关函数:"colormap", "plot", "jet", "hsv", "rgbplot",…
12ColorBrewer数据的分发没有所需的Apache许可证:
http://www.personal.psu.edu/cab38/ColorBrewer/ColorBrewer_updates.html

大多数问题都已经解决,提交的内容基本上是按照它所说的做的。但是代码的质量很差。特别是使用单元格数组存储数字数据,需要多个局部函数来执行基本的数字运算。MATLAB的名称来源于“矩阵实验室”:它被设计为对n执行数字运算数值矩阵,快!将数据存储在单元数组中,并使用多个“for”循环来实现基本的数值功能是对MATLAB的拙劣使用,因此,此提交比提供此功能所需的更大、更复杂。

两颗星为MATLAB用户介绍了比“jet”和“hsv”更好的彩色地图。

安妮Urai

很漂亮,把这个作为默认的颜色贴图添加到我的启动中。m-不再伤害眼睛了。谢谢!

G W

阅读本文后,您将获得关于颜色的重要参考:http://eagereyes.org/basics/rainbow-color-map

G W

G W

安德鲁·谭

很漂亮,谢谢你!

杰里米·曼宁

多漂亮的颜色贴图--我的新默认值。谢谢!

陆莉

谢谢!

乔纳森·C·兰西

谢谢你的反馈,斯蒂芬。我已经在周末更新了功能,包括了几乎所有你的建议。我希望它能很快被Mathworks批准。

斯蒂芬·科贝迪克

修复上面的例子:通过设置“ColorOrder”轴属性,可以使用带有多线图的彩色地图:

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);
绘图(gca,X,Y,'线宽',5)

11.m文件的帮助部分应该包括“参见……”,以连接到相似和相关的功能。
12.分发colorbrewer方案需要包含一份原始Apache版权许可的副本。

斯蒂芬·科贝迪克

我一直在寻找更好看,可识别的彩色地图,以取代标准的,这是最初的文件似乎提供。然而,这不是一个下降的替代颜色地图,而且m文件有多个缺点,这削弱了想法:
1.非标准单元阵列输出:所有标准MATLAB颜色映射返回Nx3数值矩阵。
2.非标准的默认大小255:标准的MATLAB colormap使用当前的colormap大小(非常有用!)
3.在帮助中没有H1线。
4.运行mlint给出了8条代码改进的消息。
5.如果不添加额外的代码,该示例将无法工作。
6.调用慢函数,如“exist”,当“nargin”就足够了。
7.不必要的“for”循环可以被向量化(特别是返回标准的数字色图时)。
8.在"for"循环中没有数组预分配。
9.当简单的第二次输入就足够时,不必要地使用“varargin”。
10.示例显示MATLAB绘图命令的糟糕使用。与下面的代码相比,行数减半:
N = 5;
颜色图(cell2mat(linspecer(N));
X = linspace(0,π* 3,1000);
Y = bsxfun(@(x,n))sin(x+2*n*pi/ n), x。', 1: N);
情节(X, Y,“线宽”,5)

MATLAB版本兼容性
创建R2010b
与任何版本兼容
平台的兼容性
窗户 马科斯 Linux

社区寻宝

在MATLAB中心找到宝藏,并发现社区如何可以帮助你!

开始狩猎!