# 导入库 import pandas as pd import numpy as np import matplotlib.pyplot as plt df = 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 = ['green', 'blue', 'red', 'yellow'] # 根据要显示的指标个数对圆形进行等分 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([]) # 隐藏坐标轴数据 ax.set_thetagrids(angles * 180 / np.pi, cols, fontsize=16) # 添加并设置数据标签 plt.show() # 显示制作的雷达图 return fig # 调用自定义函数制作雷达图 fig = plot_radar(df, ['A品牌']) # 查看单个品牌的性能评价指标 fig = plot_radar(df, ['A品牌', 'B品牌', 'C品牌', 'D品牌'])
时间: 2024-04-26 17:26:37 浏览: 19
这段代码是用 Python 语言编写的,主要是读取一个名为“雷达图.xlsx”的 Excel 数据表格,并对其进行处理,最终使用自定义函数 plot_radar() 制作雷达图。雷达图是一种多维数据可视化方式,适用于对比多个品牌或者多个方面的表现。在这段代码中,该函数 plot_radar() 接受两个参数:一个是处理后的数据表格 df,另一个是要对比的品牌名称列表 feature。函数会根据品牌名称从数据表格中提取对应的数据,并在雷达图中展示出来。该函数中的很多细节都有详细的注释,比如如何设置字体、颜色、角度等等。最后,该函数还会返回一个 Figure 对象,可以在需要时保存或进一步处理。
相关问题
import pandas as pd import numpy as np import matplotlib.pyplot as plt import seaborn as sns from sklearn import tree
以下是使用import语句导入pandas、numpy、matplotlib.pyplot、seaborn和sklearn.tree的示例代码:
```python
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
import seaborn as sns
from sklearn import tree
```
- pandas是一个数据处理库,用于读取、处理和分析数据。
- numpy是一个数学库,用于处理数组和矩阵等数学运算。
- matplotlib.pyplot是一个绘图库,用于绘制各种类型的图表。
- seaborn是一个基于matplotlib的数据可视化库,提供了更高级别的界面和更多的图表类型。
- sklearn.tree是scikit-learn库中的一个模块,用于实现决策树算法。
import pandas as pdimport numpy as npimport matplotlib.pyplot as pltimport seaborn as sns
这是一段Python代码,它导入了四个库:pandas、numpy、matplotlib.pyplot和seaborn。这些库都是用于数据分析和可视化的常用库。其中,pandas用于数据处理和分析,numpy用于科学计算,matplotlib.pyplot用于绘制图表,seaborn用于数据可视化。如果你想使用这些库,需要先安装它们。你可以使用pip命令来安装它们,例如:
```shell
pip install pandas numpy matplotlib seaborn
```
安装完成后,你就可以在Python代码中使用它们了。