在 matplotlib 中只绘制一个 rgb 颜色

Rob*_*Rob 1 python rgb matplotlib

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

import matplotlib.pyplot as plt
plt.imshow([(100, 100, 200)])
Run Code Online (Sandbox Code Playgroud)

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

Mik*_*ler 8

这仅给出一种颜色:

import matplotlib.pyplot as plt
plt.imshow([[(0, 0, 1)]])
Run Code Online (Sandbox Code Playgroud)

在此处输入图片说明

plt.imshow([[(0.5, 0.5, 0.5)]])
Run Code Online (Sandbox Code Playgroud)

在此处输入图片说明

你需要一个 MxNx3 的形状:

>>> import numpy as np
>>> np.array([[(0.5, 0.5, 0.5)]]).shape
(1, 1, 3)
Run Code Online (Sandbox Code Playgroud)

这里 M 和 N 是 1。

plt.imshow(X, ...)

X : array_like, shape (n, m) or (n, m, 3) or (n, m, 4) 在X当前轴中显示图像。 X可能是一个浮点数组、一个 uint8 数组或一个 PIL 图像。如果X是数组,则它可以具有以下形状:

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

    MxNx3 和 MxNx4 浮点数组的每个组件的值应在 0.0 到 1.0 的范围内;MxN 浮点数组可以标准化。

您需要将 int 转换为在0和之间浮动1

from __future__ import division  # needed for Python 2 only

plt.imshow([[(100 / 255, 100 / 255, 200 / 255)]])
Run Code Online (Sandbox Code Playgroud)

在此处输入图片说明