描述
- 當(dāng)我們給圖配漸變色時(shí)衅疙,常常需要在圖旁邊把colorbar顯示出來莲趣,這里記一下當(dāng)有多個(gè)子圖時(shí)如何顯示colorbar
操作
- 以下操作均在Jupyter notebook中完成,且首段均有以下代碼
In [1]: %matplotlib inline
import numpy as np
import matplotlib.pyplot as plt
import mpl_toolkits.mplot3d as p3d
先看常規(guī)的給單個(gè)圖配colorbar
- 這種沒有子圖的操作特別簡單喧伞,一句
plt.colorbar()
就搞定,
再看給子圖配colorbar
下面解釋這段代碼:
- 首先解釋一下
fig.colorbar()
函數(shù)绩郎,我們看它的原型:
plt.Figure.colorbar(self, mappable, cax=None, ax=None, use_gridspec=True, **kw)
colorbar(**kwargs)
colorbar(mappable, **kwargs)
colorbar(mappable, cax=cax, **kwargs)
colorbar(mappable, ax=ax, **kwargs)
- 其中第一種用在沒有子圖的時(shí)候潘鲫,也就是
plt.colorbar()
可以不用輸入?yún)?shù)
- 后面三個(gè)一般用在有子圖的時(shí)候,其中上面的例子中第8行就是用的這里第4種用法肋杖,這里有一個(gè)必須的參數(shù)
mappable
- 參數(shù)
mappable
理解起來就是我們需要提供一個(gè)可以映射顏色的對象溉仑,這個(gè)對象就是我們作的圖
- 所以例子中6、7行我們需要獲取這兩個(gè)子圖對象,然后將其傳給
colorbar()
吩案,colorbar
則會獲取這個(gè)圖所用的漸變顏色種類靠益,之后的一個(gè)參數(shù)ax
用來指示colorbar()
獲取到的漸變色條在哪里顯示抱环,我們設(shè)置ax=ax[0]
那它就在ax[0]
的區(qū)域顯示眶痰,我們也可以改變漸變色條出現(xiàn)的位置因宇,請對比下面和上面的區(qū)別:
- 我們還可以給
ax
參數(shù)設(shè)置成多個(gè)Axes
對象杭棵,這樣一個(gè)色條就可以包括多個(gè)子圖: