# 处理数据 data_array = df.head(10).loc[:,['下行用户平均速率(Mbit/s)','下行PRB平均利用率(%)']].to_numpy() # print(data_array) row_names = df['下行用户平均速率(Mbit/s)'].head(10) print(row_names) col_names = df['下行PRB平均利用率(%)'].head(10) print(col_names) # 设置x,y轴坐标 plt.xlabel = row_names plt.ylabel = col_names # 设置坐标轴刻度 plt.xticks(range(0,900,100)) plt.yticks(range(0,120,20)) # 绘制热力图 sns.heatmap(data_array, cmap="GnBu", xticklabels=row_names, yticklabels=col_names) plt.rcParams['font.sans-serif'] = ['SimHei'] #解决中文乱码 plt.show() 帮我修改这段代码
时间: 2024-02-24 07:57:50 浏览: 140
pandas数据选取:df[] df.loc[] df.iloc[] df.ix[] df.at[] df.iat[]
5星 · 资源好评率100%
这段代码的问题在于 plt.xlabel 和 plt.ylabel 被错误地赋值为 row_names 和 col_names,应该使用函数形式进行设置。
以下是修改后的代码:
```python
# 处理数据
data_array = df.head(10).loc[:, ['下行用户平均速率(Mbit/s)', '下行PRB平均利用率(%)']].to_numpy()
# 获取行名和列名
row_names = df['下行用户平均速率(Mbit/s)'].head(10).values
col_names = df['下行PRB平均利用率(%)'].head(10).values
# 设置 x,y 轴标签
plt.xlabel('下行用户平均速率(Mbit/s)')
plt.ylabel('下行PRB平均利用率(%)')
# 设置坐标轴刻度
plt.xticks(range(0, 900, 100))
plt.yticks(range(0, 120, 20))
# 绘制热力图
sns.heatmap(data_array, cmap="GnBu", xticklabels=row_names, yticklabels=col_names)
# 设置中文字符集
plt.rcParams['font.sans-serif'] = ['SimHei']
plt.show()
```
修改后的代码中,plt.xlabel 和 plt.ylabel 使用函数形式进行设置,分别传入 x 轴和 y 轴的标签。同时,获取行名和列名时,使用了 .values 属性将 Series 对象转换为 numpy 数组。
另外,为了增加代码的可读性,将注释放在了与注释相关的代码上方。
阅读全文