一图胜千言,使用Python的matplotlib库,可以快速创建高质量的图形。
我们团队推出一个新的系列教程:Python数据可视化,针对初级和中级用户,将理论和示例代码相结合,分别使用matplotlib, seaborn, plotly等工具实现可视化。
本文主题是如何在Matplotlib中使用自定义颜色和colormap。
import os
import requests
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
import matplotlib as mpl
%matplotlib inline
plt.style.use("ggplot")
1. 自定义颜色
Matplotlib绘图接口通常包含’color’参数,用于指定颜色,参数接受的数据格式包括:
- 表示颜色的英文单词,如’red’, ‘green’, 'blue’等
- RGB或者RGBA元组,RGBA是(red, blue, green, alpha)的缩小,用包含四个浮点值的数组代表颜色,每个数字的取值范围是 [ 0 , 1 ] [0, 1] [0,1]
- 十六进制RGB或RGBA字符串
- 表示灰度的浮点值字符串,取值范围 [ 0 , 1 ] [0,1] [0,1],例如’0.5’
- 'bgrcmykw’字符集的其中一个字符,每个字符均表示一种颜色:‘b’:蓝色,‘g’:绿色,‘r’:红色, ‘c’:青色, ‘m’:洋红色, ‘y’:黄色, ‘k’:黑色,‘w’:白色
- X11/CSS4颜色名称
- xkcd颜色调查中的名称,以’xkcd:'开头(例如,‘xkcd:sky blue’;不区分大小写)
- “T10”分类调色板中的Tableau颜色之一(默认颜色周期):{‘tab:blue’,‘tab:orange’,‘tab:green’,‘tab:red’,‘tab:purple’, ‘tab:brown’,‘tab:pink’,‘tab:gray’,‘tab:olive’,‘tab:cyan’}
对Python开发人员而言,前两种方式应该是最常用的。
查看Matplotlib支持的全部颜色名称:查阅官方文档。
看一个简单的例子,分别创建曲线图,柱状图,散点图,通过参数’color’指定颜色。
fig, ax = plt.subplots(nrows=3, ncols=2, figsize=(12, 12))
ax = ax.flatten()
# 曲线图
x = np.linspace(0, 10, 50)
y = np.sin(x)
ax[0].plot(x, y)
ax[0].set_title("Line plot: Default color")
ax[1].plot(x, y, color="blue")
ax[1].set_title("Line plot: Custom color")
# 柱状图
x = ["a", "b", "c", "d", "e", "f"]
y = [1.2, 0.8, 2.5, 0.95, 1.35, 1.58]
ax[2].bar(x, y)
ax[2].set_title("Bar plot: Default color")
ax[3].bar(x, y, color="purple")
ax[3].set_title("Bar plot: Custom color"