图像缩略图

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

version 1.4.0.0 (8.25 KB) by 乔纳森·c·Lansey
绘制许多线条,具有非常明显和美观的颜色。适用于'n'颜色

187下载

更新2015年9月16日

视图版本历史

查看许可证

默认的MATLAB默认线条规范和COLORMAPS是惊人的原油。该函数通过在*感知*空间中间隔〜平等来创建可区分的颜色,而不是在RGB空间中。它是基于辛西亚啤酒教授(Colorbrewer!)的研究,但易于使用。
这个函数创建了一个N [R B G]颜色的Nx3数组
这些可以用来绘制许多具有可区分和好看的颜色的线。
线型= linspecer (N);让N种颜色供你使用:
colormap (linspecer);设置您的颜色地图,以容易区分的颜色和令人愉快的审美
线型= 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);
情节(X, Y,“线宽”,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):),“线宽”,3);
抓住;
结尾

% COLORMAP例子
a = rand(15);
图;显示亮度图像(一);%默认colormap
图;显示亮度图像(一);colormap (linspecer);% linspecer colormap

_______________________________________________

积分和函数的来源:

这些颜色主要来自:
http://colorbrewer2.org和辛西娅啤酒,马克哈尔斯和宾夕法尼亚州立大学
她从心理测量学的角度研究了这一点,并精心制作了颜色
非常漂亮。

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

引用作为

Jonathan C. Lansey(2021年)。美丽和可分辨的线条颜色+彩图(//www.tatmou.com/matlabcentral/fileexchange/42673-beautiful-and-distinguishable-line-colors-colormap), MATLAB中央文件交换。检索

意见及评分(79

米兰Buttberg

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

shangwei赵

非常感谢!

Ketian你们

好的结果,易于使用。

朱尔斯雷

艾哈迈德Naceur

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

约翰内斯Korsawe

有什么关于斯蒂芬提到的许可证问题的事情?

费尔南多弗洛雷斯

庆阳戴

谢谢你的帮助。

阿图尔卡明斯基

杰克马丁

yanyan唐

zhewei么

Tarek Rashwan

雷内·Sørensen

Ahmed Alghamdi.

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

Marcelo Fernandes.

邱涛

霞山张

谢谢你的代码,它真的有助于我在我的论文工作中改进我的照片

斯维特拉娜Baranova

谢谢你的好功能!

Jakob Jongsma

伟大的!

Xiangjie谢

本产品B

着陆器Vanroye

Ajey Venkataraman

Zhih.

感谢您分享此文件!

杭杭马

陈Yingqi

非常好,美丽!

雷钊

KAE

有用的

Mukalu正树

你媳

phuc ho

Procat.

钟伊尔公园

优秀的

大卫·弗朗哥

太棒了!

Richelle Cabatic

易于使用,谢谢你!

Shailesh Appukuttan

T罗基特

剑康

米歇尔xiloyannis

雷李

Gizem Okyay

DF.

奇妙的函数,在MATLAB R2014a和R2014b中工作得很好。谢谢你!

DF.

吉诺Delfe.

马修Hoehler

BreezyWest

fannyymost.

我喜欢它,很酷

闵镇李

景文

Stephen Cobeldick

在许可证上撒谎是一件狡猾的事情。

虽然作者写入“Apache样式软件许可证包含在文件中”实际上,此下载中的任何位置都没有提到Apache许可证。提供的许可实际上是BSD许可证,Matlab文件交换支持的唯一一个。金宝app

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

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

特里斯坦Ursell.

程joylin

程joylin

斯特凡诺斯

杰米

haiou

Stephen Cobeldick

请注意,此功能会破坏原作者的版权,因为它不包括版权声明本身:

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

闫江

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

VeraM

感谢您共享此文件,非常有用!

杰夫刘

马提亚Hunstig

这已经是我的标准彩色线地图一段时间了。然而,我经常改变黄线的颜色——在白色背景上,黄线离光太远了,难以被很好地识别。

郭金冯

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

乔纳森·c·Lansey

谢谢每个人的评论,我很欣赏他们。
还要谢谢斯蒂芬的建议。

丹尼

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

Stephen Cobeldick

这可能是作者的兴趣,如果他们希望改进这个提交的代码:
//www.tatmou.com/help/matlab/matlab_prog/vectorization.html

Stephen Cobeldick

在作者根据我的上一个评论所做的修改之后,我想我应该再看一遍这篇投稿。就像我之前所说的:
1.这个函数现在返回一个MATLAB标准的N*3数字色图。
2.默认大小现在为64,仍然与MATLAB的COLORMAP函数的默认值不匹配。
3.现在有一个H1线(虽然可能单词“colormap”应该包括在这一行?)
4.mlint消息已经被处理(在MATLAB R2012b上)。
5.示例现在完成了!
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”。

安妮Urai

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

G W

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

G W

G W

安德鲁·谭

它是美丽的。谢谢你!

杰里米·曼宁

多么漂亮的彩色地图——我的新默认值。谢谢!

李陆

非常感谢!

乔纳森·c·Lansey

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

Stephen Cobeldick

修复上面的示例:通过设置“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文件的帮助部分应该包括“参见……”,以连接到相似和相关的功能。
12.分发ColorBrewer方案需要包括原始Apache版权许可证的副本。

Stephen Cobeldick

我一直在寻找更好的寻找,可区分的ColorMAP,以替换标准的ColorMaps,首先是这个文件似乎提供的。但是,这不是替代Colormap中的下降,M-File具有多个缺点,从而损害了这个想法:
1.非标准的细胞阵列输出:所有标准的MATLAB彩色地图返回一个Nx3数字矩阵。
2.非标准默认大小为255:标准MATLAB ColorMAPS使用当前的Colormap大小(非常有用!)。
3.在帮助中没有H1线。
4.运行mlint给出了8条代码改进的消息。
5.如果不添加额外的代码,该示例将无法工作。
6.调用慢函数,如“exist”,当“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);
情节(X, Y,“线宽”,5)

MATLAB版本兼容性
创建R2010b
与任何版本兼容
平台兼容性
窗户 macOS Linux.

社区寻宝

找到Matlab Central中的宝藏,并发现社区如何帮助您!

开始狩猎!