画图配色并不是一件简单的事情,好的配色让人眼前一亮,虽然R有很多配色方案,做为ggplot2的爱好者,ggthemes也提供了很多主题,内置了很多配色方案,还有一些其它的包,比如ggtech,包含了一些科技公司比如facebook, twitter, google的典型配色方案,甚至于ggsci,提供了nature, lancet的配色方案。

但这些远远不够! 但这些远远不够! 但这些远远不够!

看到一张图片让我眼前一亮,我想用它的配色方案呢!我想拿最新电影的海报的配色来装个逼呢!画图时不想用现成的配色,想要另类一些,我想用一些大自然的风格,比如求偶期间各种鸟类的羽毛颜色来画!

这些在R里面,都是可以的,可以的,可以的…

下面隆重推荐一个叫rPlotter的R包,https://github.com/woobe/rPlotter,可以非常方便地在图片中抽提颜色。其实实现起来也容易,用EBImage把图片读进去,存成一个RGB的三维矩阵,通过kmeans聚类,把中心点颜色报出来就可以了。若干年前我写过用kmeans压缩图片,用的就是把颜色填充成中心点颜色,稍微把之前的代码改一改,也能实现这个颜色抽提的功能。

实例演示,我google了一张spider的图片,把颜色提出来,拿来画barplot:

pal = extract_colours("http://i1.mirror.co.uk/incoming/article8566552.ece/ALTERNATES/s615b/Jumping-spider.jpg")
barplot(1:5, col=pal)

再来一张homer simpson的图片:

pal2 = extract_colours("https://images.complex.com/complex/image/upload/t_article_image/kissing-Homer-Simpson-The-Simpsons-Marge-Simpson-_578180-20_zx1jpk.jpg", 7)
barplot(1:7, col=pal2)

之前说的各种场景,都是可以实现的,最新海报配色,你可以有!你想画图用美队来配色,可以有!拿蜘蛛小鸟来配色,可以有!甚至于拿肌肉男的肉色也可以的。下次发文章在愁配色的时候,何不搜索图片,看看有什么图片顺眼的,就拿来用了。

即使你不会用R画图,你也可以把这配色方案应该于M$的office中,word/excel/powerpoint都是支持自定义颜色主题的,请自行搜索 “office 自定义主题颜色”。