帮我用python写一段代码 统计x和y,并用excle绘制雷达图
时间: 2024-03-27 08:35:24 浏览: 110
Python读写操作csv和excle文件代码实例
好的,需要安装pandas、matplotlib和xlsxwriter这三个库。以下是代码示例:
```python
import pandas as pd
import matplotlib.pyplot as plt
import xlsxwriter
# 数据
data = {'x': [1, 2, 3, 4, 5], 'y': [10, 20, 30, 40, 50]}
# 转换为DataFrame
df = pd.DataFrame(data)
# 统计x和y的和
sum_x = df['x'].sum()
sum_y = df['y'].sum()
# 绘制雷达图
fig = plt.figure(figsize=(6, 6))
ax = fig.add_subplot(111, polar=True)
# 设置角度
angles = [n / float(len(df.columns)) * 2 * 3.14 for n in range(len(df.columns))]
angles += angles[:1]
# 绘制雷达图
ax.plot(angles, df.iloc[0].values.tolist() + df.iloc[0].values.tolist()[:1], 'o-', linewidth=2)
ax.fill(angles, df.iloc[0].values.tolist() + df.iloc[0].values.tolist()[:1], alpha=0.25)
# 设置标签
ax.set_thetagrids([a * 180 / 3.14 for a in angles[:-1]], df.columns)
# 设置标题
plt.title('Radar Chart')
# 显示图形
plt.show()
# 将数据写入Excel文件
writer = pd.ExcelWriter('data.xlsx', engine='xlsxwriter')
df.to_excel(writer, sheet_name='Sheet1', index=False)
# 写入x和y的和
workbook = writer.book
worksheet = writer.sheets['Sheet1']
worksheet.write('A7', 'Sum X')
worksheet.write('B7', sum_x)
worksheet.write('A8', 'Sum Y')
worksheet.write('B8', sum_y)
# 关闭Excel文件
writer.save()
```
这段代码可以绘制雷达图并将数据写入Excel文件。请注意,Excel文件将保存在当前工作目录中。
阅读全文