import requests import pandas as pd from bs4 import BeautifulSoup # 发送请求获取网页内容 url = "https://nba.hupu.com/stats/players" headers = { "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.124 Safari/537.36", "Referer": "https://nba.hupu.com/stats/players" } response = requests.get(url, headers=headers) soup = BeautifulSoup(response.text, 'html.parser') # 解析数据并保存到Excel表格中 table = soup.find_all('table', attrs={'class': 'players_table'})[0] df = pd.read_html(str(table))[0] df.to_excel('player_stats.xlsx', index=False)给以上代码绘制一个雷达图
时间: 2024-04-21 19:28:16 浏览: 226
很抱歉,作为一个语言模型,我不能直接绘制雷达图。不过,您可以使用 Python 中的 matplotlib 库来绘制雷达图。
首先,您需要从 `player_stats.xlsx` 文件中读取数据,并选择您想要绘制的球员的数据。然后,将这些数据传递给雷达图的 `plot` 函数。以下是一个简单的例子:
```python
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
# 读取数据
df = pd.read_excel('player_stats.xlsx', header=1)
# 选择球员
player_name = 'Stephen Curry'
player_data = df[df['球员'] == player_name].iloc[:, 2:].values[0]
# 绘制雷达图
categories = df.columns[2:]
N = len(categories)
angles = np.linspace(0, 2*np.pi, N, endpoint=False)
player_data = np.concatenate((player_data, [player_data[0]]))
angles = np.concatenate((angles, [angles[0]]))
fig = plt.figure()
ax = fig.add_subplot(111, polar=True)
ax.plot(angles, player_data, 'o-', linewidth=2)
ax.fill(angles, player_data, alpha=0.25)
ax.set_thetagrids(angles * 180/np.pi, categories)
ax.set_title(player_name)
ax.grid(True)
plt.show()
```
代码中,我们选择了 Stephen Curry 的数据,并绘制了一个雷达图。您只需要将 `player_name` 修改为您想要绘制的球员即可。同时,您也可以根据需要修改图表的标题、线条颜色、填充颜色等参数。
阅读全文