蜘蛛网图实现Python可视化的方法

文章来源:一氧化碳中毒   发布时间:2021-8-10 13:17:00   点击数:
  

数据可视化是数据科学或机器学习项目中十分重要的一环。通常,你需要在项目初期进行探索性的数据分析(EDA),从而对数据有一定的了解,而且创建可视化确实可以使分析的任务更清晰、更容易理解,特别是对于大规模的高维数据集。

蜘蛛网图(SpiderPlot)是显示一对多关系的最佳方法之一。换而言之,你可以绘制并查看多个与某个变量或类别相关的变量的值。在蜘蛛网图中,一个变量相对于另一个变量的显著性是清晰而明显的,因为在特定的方向上,覆盖的面积和距离中心的长度变得更大。如果你想看看利用这些变量描述的几个不同类别的对象有何不同,可以将它们并排绘制。

在上面的图表中,我们很容易比较复仇者联盟的不同属性,并看到他们各自的优势所在!(请注意,这些数据是随机设置的,我对复仇者联盟的成员们没有偏见。)

在这里,我们可以直接使用「matplotlib」而非「seaborn」来创建可视化结果。我们需要让每个属性沿圆周等距分布。我们将在每个角上设置标签,然后将值绘制为一个点,它到中心的距离取决于它的值/大小。最后,为了显示更清晰,我们将使用半透明的颜色来填充将属性点连接起来得到的线条所包围的区域。

#Importlibs

importpandasaspd

importseabornassns

importnumpyasnp

importmatplotlib.pyplotasplt

#Getthedata

df=pd.read_csv("avengers_data.csv")

print(df)

"""

#NameAttackDefenseSpeedRangeHealth

01IronMan

12CaptainAmerica

23Thor

33Hulk

44BlackWidow

55Hawkeye

"""

#GetthedataforIronMan

labels=np.array(["Attack","Defense","Speed","Range","Health"])

stats=df.loc[0,labels].values

#Makesomecalculationsfortheplot

angles=np.linspace(0,2*np.pi,len(labels),endpoint=False)

stats=np.concatenate((stats,[stats[0]]))

angles=np.concatenate((angles,[angles[0]]))

#Plotstuff

fig=plt.figure()

ax=fig.add_subplot(,polar=True)

ax.plot(angles,stats,o-,linewidth=2)

ax.fill(angles,stats,alpha=0.25)

ax.set_thetagrids(angles*/np.pi,labels)

ax.set_title([df.loc[0,"Name"]])

ax.grid(True)

plt.show()

以上就是使用蜘蛛网图实现Python数据可视化的方法

欢迎大家点赞,留言,转发,转载,感谢大家的相伴与支持

万水千山总是情,点个行不行

*声明:本文于网络整理,版权归原作者所有,如来源信息有误或侵犯权益,请联系我们删除或授权事宜

预览时标签不可点收录于话题#个上一篇下一篇
转载请注明:http://www.lwblm.com/zztx/12280.html
  • 上一篇文章:
  • 下一篇文章: 没有了