我正在运行matplotlib,我想绘制一种颜色,例如:
import matplotlib.pyplot as plt
plt.imshow([(100, 100, 200)])
但是这显示了一个渐变。有什么问题?
答案 0 :(得分:4)
这只提供一种颜色:
import matplotlib.pyplot as plt
plt.imshow([[(0, 0, 1)]])
plt.imshow([[(0.5, 0.5, 0.5)]])
你需要一个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浮点数组可能是 归一化的。
您需要在0
和1
之间转换int float:
from __future__ import division # need for Python 2 only
plt.imshow([[(100 / 255, 100 / 255, 200 / 255)]])