您可以将一个N随机数数组提供给colormap以获得N随机颜色,然后在调用plt.scatter时将其用作color参数。color可以是与大小和填充列表长度相同的颜色列表,它将分别为每个散点着色。
plt.title接受参数y,它将调整标题的垂直位置。试着把它放在你的箱子里。
这是你的脚本,修改过:import matplotlib.pyplot as plt
import matplotlib.cm as cm
import numpy as np
N=5
province=['Ontario','Quebec','BritishColumbia','Manitoba','NovaScoti']
size = [908.607,1356.547,922.509,552.329,651.036]
population = [12851821,7903001,4400057,1208268,4160000]
injuries = [625,752,629,1255,630]
# Choose some random colors
colors=cm.rainbow(np.random.rand(N))
# Use those colors as the color argument
plt.scatter(size,population,s=injuries,color=colors)
for i in range(N):
plt.annotate(province[i],xy=(size[i],population[i]))
plt.xlabel('Size(*1000km2)')
plt.ylabel('Population(ten million)')
# Move title up with the "y" option
plt.title('The Car Accidents Injuries Rate in 5 Canada Provinces',y=1.05)
plt.show()