Python matplotlib散布时间太长

Python matplotlib散布时间太长,python,matplotlib,Python,Matplotlib,考虑以下代码,该代码生成各种颜色的点的随机序列 import matplotlib.pyplot as plt import random n = 100 x = [0]*n y = [0]*n col=['red']*n for i in range(1,n): val = random.randint(1,2) if val == 1: col[i] = 'red' if val == 2: col[i] = 'yello

考虑以下代码,该代码生成各种颜色的点的随机序列

import matplotlib.pyplot as plt
import random

n = 100

x = [0]*n
y = [0]*n
col=['red']*n


for i in range(1,n): 
    val = random.randint(1,2)
    if val == 1: 
        col[i] = 'red'
    if val == 2: 
        col[i] = 'yellow'

ax=plt.figure().add_subplot()
for i in range(n):
    ax.scatter(i,0, color=col[i])
    #print(x[i],y[i],col[i])
plt.show()

现在它有100分,但我希望它有10000分。这样做需要太长时间,但是,我如何才能使这更快?谢谢

避免了不必要的for循环,一次只绘制一个分散点。相反,一次绘制整个范围,并传递整个
col
颜色列表

fig = plt.figure()
ax = fig.add_subplot(111)

ax.scatter(range(n), [0]*n, color=col)
plt.show()

避免在绘制
n
分散点时不必要的for循环。相反,一次绘制整个范围,并传递整个
col
颜色列表

fig = plt.figure()
ax = fig.add_subplot(111)

ax.scatter(range(n), [0]*n, color=col)
plt.show()