在matplotlib中仅绘制一个rgb颜色

时间:2017-01-13 20:48:11

标签: python matplotlib rgb

我正在运行matplotlib,我想绘制一种颜色,例如:

import matplotlib.pyplot as plt
plt.imshow([(100, 100, 200)])

但是这显示了一个渐变。有什么问题?

1 个答案:

答案 0 :(得分:4)

这只提供一种颜色:

import matplotlib.pyplot as plt
plt.imshow([[(0, 0, 1)]])

enter image description here

plt.imshow([[(0.5, 0.5, 0.5)]])

enter image description here

你需要一个MxNx3的形状:

>>> import numpy as np
>>> np.array([[(0.5, 0.5, 0.5)]]).shape
(1, 1, 3)

这里M和N是1.

  

plt.imshow(X,...)

     

X:array_like,shape(n,m)或(n,m,3)或(n,m,4)       将X中的图像显示到当前轴。 X可能是一个浮点数       数组,uint8数组或PIL图像。如果X是一个数组,那么       可以有以下形状:

     
      
  • MxN - 亮度(仅灰度,浮点数)
  •   
  • MxNx3 - RGB(浮点数或uint8数组)
  •   
  • MxNx4 - RGBA(float或uint8数组)

         

    MxNx3和MxNx4浮点数组件的每个组件的值   应在0​​.0到1.0的范围内; MxN浮点数组可能是   归一化的。

  •   

您需要在01之间转换int float:

from __future__ import division  # need for Python 2 only

plt.imshow([[(100 / 255, 100 / 255, 200 / 255)]])

enter image description here