将上述的代码改为 在输出的图片上显示每一个点所代表的国家
时间: 2024-03-10 13:43:13 浏览: 19
要实现在输出的图片上显示每一个点所代表的国家,可以在for循环中添加文本标注。改动后的代码如下所示:
```
import random
fig = plt.figure(figsize=(13,13))
ax = fig.add_subplot(111,projection='3d')
colors = ['r', 'g', 'b', 'c', 'm']
for i in new_df.index:
ax.scatter(new_df.loc[i,'Total Cases'],new_df.loc[i,'Total Deaths'],new_df.loc[i,'Total Recovered'],c=random.choice(colors))
ax.text(new_df.loc[i,'Total Cases'],new_df.loc[i,'Total Deaths'],new_df.loc[i,'Total Recovered'], new_df.loc[i,'Country/Region'], fontsize=10)
# 设置刻度
ax.set_xlim([0,new_df['Total Cases'].max() + 1])
ax.set_ylim([0,new_df['Total Deaths'].max() + 1])
ax.set_zlim([0,new_df['Total Recovered'].max() + 1])
# 设置坐标轴标签
ax.set_xlabel('Total Cases',fontsize=15)
ax.set_ylabel('Total Deaths',fontsize=15)
ax.set_zlabel('Total Recovered',fontsize=15)
ax.set_title('3D scatterplot',fontsize=25)
plt.show()
```
在上述代码中,我们在for循环中使用了ax.text()方法,在每个数据点上添加了对应国家的文本标注。具体来说,我们使用了DataFrame对象的loc方法获取了每个数据点对应的国家名称,然后将其作为文本标注的内容,并设置了字体大小为10。通过这个修改,我们可以更加清晰地了解每个数据点所代表的国家,从而更好地理解疫情情况。