如何画QDA雷达图 (雷达画线图)

将d:盘abc文件夹中的“例题锦集.xlsx”文件打开,同时打开其中的“班级成绩”工作表,以“班级”为依据建立雷达图。

import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
plt.rcParams['font.sans-serif']=['SimHei']      #设置默认字体
plt.rcParams['axes.unicode_minus']=False         #正常显示负号
df=pd.read_excel('d:\\abc\\例题锦集.xlsx',sheet_name="班级成绩")
df=df.set_index('科目')                               #设置行索引
def ldt(data,feature):                               #自定义函数
    cols=['语文','数学','外语','物理','化学']         #指定各科名称
    colors=['green','blue','red']                   #班级设置显示颜色
    angles=np.linspace(0.1*np.pi,2.1*np.pi,len(cols),endpoint=False)  #根据科目对圆形进行等分
    angles=np.concatenate((angles,[angles[0]]))   #连接刻度线数据
    fig=plt.figure(figsize=(8,8))                    #设置图表窗口大小
    ax=fig.add_subplot(111,polar=True)              #设置图表显示位置
    for i,c in enumerate(feature):
        stats=data.loc[c]                              #获取班级科目数据
        stats=np.concatenate((stats,[stats[0]]))   #连接班级的指标数据
        ax.plot(angles,stats,'-',linewidth=6,c=colors[i],label='%s'%(c))  #制作雷达图
        ax.fill(angles,stats,color=colors[i],alpha=0.25)  #填充颜色
    ax.legend()                                          #添加图例
    ax.set_yticklabels([])                             #隐藏坐标轴数据
    return fig
fig=ldt(df,['甲班','乙班','丙班'])                     #调用自定义函数制作雷达图
plt.show()

最新雷达图的制作方法,雷达画线图

视频加载中...