如何在Matplotlib图中生成随机颜色(附实例)

3,749 阅读1分钟

你可以使用以下基本语法在Matplotlib图中生成随机颜色:

1.为线图生成随机颜色

col = (np.random.random(), np.random.random(), np.random.random())

plt.plot(x, y, c=col)

2.为散点图生成随机颜色

plt.scatter(x, y, c=np.random.rand(len(x),3))

下面的例子展示了如何在实践中使用这种语法。

例1:为线图生成随机颜色

下面的代码显示了如何为线形图中的一条线生成随机颜色:

import matplotlib.pyplot as plt
import numpy as np

#define data
x = [1, 2, 3, 4, 5]
y = [7, 12, 15, 19, 25]

#define random color
col = (np.random.random(), np.random.random(), np.random.random())

#create line plot with random color
plt.plot(x, y, c=col) 

如果我们再次运行这段完全相同的代码,就会创建一个具有不同随机颜色的线段图。

例2:为散点图生成随机颜色

下面的代码显示了如何为散点图中的每个点创建随机颜色的散点图:

import matplotlib.pyplot as plt
import numpy as np

#define data
x = [1, 2, 3, 4, 5]
y = [7, 12, 15, 19, 25]

#create scatterplot with random colors for each point
plt.scatter(x, y, c=np.random.rand(len(x),3))

如果我们再次运行这段完全相同的代码,就会为每个点创建一个带有新的随机颜色的散点图。

注意:在引擎盖下,这段代码只是使用NumPy来生成随机(R,G,B)颜色

关于NumPyrandom()函数的完整解释,请参考在线文档

其他资源

下面的教程解释了如何在Matplotlib中执行其他常见的绘图功能:

如何在Matplotlib中改变背景颜色
如何在Matplotlib中按数值给散点图着色