在 Python 中生成随机颜色

Manav Narula 2023年1月30日
  1. 在 Python 中以 RGB 格式生成随机颜色
  2. 在 Python 中以十六进制格式生成随机颜色
在 Python 中生成随机颜色

在数字世界中,颜色以不同的格式表示。RGB、十六进制格式只是一些常用格式。

在本教程中,我们将学习如何在 Python 中生成随机颜色。当我们谈论生成随机颜色时,我们将生成一个可以表示颜色的随机代码。不同的方法将生成不同格式的颜色代码。

在 Python 中以 RGB 格式生成随机颜色

RGB 代表红色,绿色和蓝色。它们一起代表了数字世界中的色谱。红色,绿色和蓝色可以一起代表每种颜色,并且每种颜色均为 8 位。这意味着它们的整数值为 0 到 255。

为了生成 RGB 格式的随机颜色,我们将生成一个从 0 到 255 的随机整数列表或元组。

以下代码显示了如何实现此目的。

import numpy as np

color = list(np.random.choice(range(256), size=3))
print(color)

输出:

[245, 159, 34]

在上面的代码中,我们使用 NumPy 模块中的 random 生成随机整数。它只是简单地生成 0 到 255 之间的随机整数三遍,并将其存储在列表中。由于可以通过许多其他方式生成随机整数,因此主要重点应放在代码的逻辑上。

在 Python 中以十六进制格式生成随机颜色

在十六进制中,颜色以六个十六进制数字表示,并以#号为前缀。格式为 #RRGGBB,其中 R,G 和 B 分别表示 RedGreenBlue,并且是十六进制数。

我们可以使用如下所示的代码以这种格式生成随机颜色。

import random

color = ["#" + "".join([random.choice("0123456789ABCDEF") for j in range(6)])]
print(color)

输出:

['#BE3559']

在上面的代码中,我们从指定的十六进制数字中选择六个随机数,然后使用 join() 函数将它们与 # 符号合并。

还有许多其他颜色格式可用,并且在它们之间进行转换非常容易。

要记住的一件事是,我们在本教程中以不同的格式生成了颜色代码。要实际看到这些颜色,我们必须使用其他模块生成一些图形或绘制一些图形。

例如,在下面的代码中,我们将使用 Matplotlib 模块的散点图绘制所产生颜色代码的简单点。

import random
import matplotlib.pyplot as plt

color = ["#" + "".join([random.choice("0123456789ABCDEF") for j in range(6)])]
print(color)

plt.scatter(random.randint(0, 10), random.randint(0, 10), c=color, s=200)
plt.show()

输出:

python 随机颜色

作者: Manav Narula
Manav Narula avatar Manav Narula avatar

Manav is a IT Professional who has a lot of experience as a core developer in many live projects. He is an avid learner who enjoys learning new things and sharing his findings whenever possible.

LinkedIn

相关文章 - Python Color