我正在运行 matplotlib,我想绘制一种颜色,例如:
import matplotlib.pyplot as plt
plt.imshow([(100, 100, 200)])
但这显示了渐变。什么问题?
最佳答案
这只给出一种颜色:
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) or (n, m, 3) or (n, m, 4) Display the image in
X
to current axes.X
may be a float array, a uint8 array or a PIL image. IfX
is an array, it can have the following shapes:
- MxN -- luminance (grayscale, float array only)
- MxNx3 -- RGB (float or uint8 array)
MxNx4 -- RGBA (float or uint8 array)
The value for each component of MxNx3 and MxNx4 float arrays should be in the range 0.0 to 1.0; MxN float arrays may be normalized.
您需要将 0
和 1
之间的 int 转换为 float:
from __future__ import division # needed for Python 2 only
plt.imshow([[(100 / 255, 100 / 255, 200 / 255)]])
关于python - 在 matplotlib 中仅绘制一种 rgb 颜色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41643189/