让matplotlib配色方案更加美观的三种方式

Jan 1, 0001

让matplotlib配色方案更加美观的三种方式

不管是谁,第一眼看到matplotlib配色方案的时候都至少不会觉得他很漂亮。我遇到很多使用Python的人问过我用什么module可以画出漂亮的图表,我的答复都是matplotlib。当然这对他们来讲都是一个比较吃惊的回答。

matplotlib配色如此“不舒适”的原因我不太清除,不过我希望通过他提供的灵活配置方式来得更加美观的图表。

matplotlib配色方案

让我很意外的是,官方网站提供了一套不错的方案。虽然整体感觉比较“硬”,但确实比默认的好很多了。更好的是,在颜色方案的下面还配有代码来帮助你理解如何使用。

网址在这里: color example code

brewer2mpl

通过pip安装brewer2mpl包可以直接获得一些不错的方案。

cbrewer_preview

这里给出一个简单的定义全局配色方案的例子:

import brewer2mpl

# brewer2mpl.get_map args: set name  set type  number of colors
bmap = brewer2mpl.get_map('Set2', 'qualitative', 7)
colors = bmap.mpl_colors

import matplotlib as mpl
mpl.rcParams['axes.color_cycle'] = colors

自由搭配

如果你对这些免费的方案并不满意,那么一些商业软件的方案或许能够满足你。Tableau公开了自己应用的配色方式,你可以通过这里来选择自己的方案。

当然,如果你找出了一个自己最满意的方案,并且希望每次都应用他时,不妨考虑把配色方案写入matplotlibrc的axes.color_cycle。