前言:
而今同学们对“python画圆形雷达图”都比较讲究,同学们都需要剖析一些“python画圆形雷达图”的相关资讯。那么小编同时在网络上搜集了一些有关“python画圆形雷达图””的相关文章,希望朋友们能喜欢,各位老铁们一起来了解一下吧!效果展示功能实现引入所需的库
1、pandas用于数据分析;
2、numpy针对数组运算提供大量的数学函数库;
3、matplotlib画图库。
import pandas as pdimport numpy as npimport matplotlib.pyplot as plt读取表数据并做一些设置
df = pd.read_excel('能力图.xlsx')df = df.set_index('能力评价指标')df = df.T # 转置数据表格df.index.name = '个人'定义方法plot_radar来绘制雷达图
def plot_radar(data, feature): plt.rcParams['font.sans-serif'] = ['SimHei'] plt.rcParams['axes.unicode_minus'] = False # 解决无法正常显示负号的问题 cols = ['经验值', '战斗力', '防御力', '稳定性', '钟情指数'] colors = ['#d81e06', '#f4ea2a', '#1296db', '#d4237a'] # 为每个个人设置图表中的显示颜色 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): # 根据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([]) # 隐藏坐标轴数据 ax.set_thetagrids(angles * 180 / np.pi, cols, fontsize=16) # 添加数据标签 plt.show() # 显示图 return fig调用方法plot_radar绘制雷达图
第二个参数可根据实际情况设置,但不能超过表的个数。
plot_radar(df, ['张一', '张二', '张三', '张四']) # 调用函数全部代码如下
import pandas as pdimport numpy as npimport matplotlib.pyplot as pltdf = pd.read_excel('能力图.xlsx')df = df.set_index('能力评价指标')df = df.T # 转置数据表格df.index.name = '个人'def plot_radar(data, feature): plt.rcParams['font.sans-serif'] = ['SimHei'] plt.rcParams['axes.unicode_minus'] = False # 解决无法正常显示负号的问题 cols = ['经验值', '战斗力', '防御力', '稳定性', '钟情指数'] colors = ['#d81e06', '#f4ea2a', '#1296db', '#d4237a'] # 为每个个人设置图表中的显示颜色 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): # 根据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([]) # 隐藏坐标轴数据 ax.set_thetagrids(angles * 180 / np.pi, cols, fontsize=16) # 添加数据标签 plt.show() # 显示图 return figplot_radar(df, ['张一', '张二', '张三', '张四']) # 调用函数
版权声明:
本站文章均来自互联网搜集,如有侵犯您的权益,请联系我们删除,谢谢。
标签: #python画圆形雷达图 #python雷达图片 #雷达图的作图步骤包括