Har*_*rry 2 python bubble-chart matplotlib
在下面的气泡图中,我如何:
随机化每个气泡的颜色
调整标题(可能是上),使其不会与最左上角的图形标签重叠。
这是我的输出:

这是我的代码:
import matplotlib.pyplot as plt
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]
plt.scatter(size,population,s=injuries)
for i in range(N):
plt.annotate(province[i],xy=(size[i],population[i]))
plt.xlabel('Size(*1000km2)')
plt.ylabel('Population(ten million)')
plt.title('The Car Accidents Injuries Rate in 5 Canada Provinces')
plt.show
Run Code Online (Sandbox Code Playgroud)
您可以将N随机数数组提供给颜色图以获取N随机颜色,然后color在调用plt.scatter. color可以是与大小和人口列表长度相同的颜色列表,它将分别为每个散点着色。
plt.title采用y将调整标题垂直位置的参数。在您的情况下,尝试将其设置为 1.05。
这是您的脚本,已修改:
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()
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
5185 次 |
| 最近记录: |