fenga6 发表于 2021-9-1 18:18

Python运行错误,请帮忙修复一下

import numpy as np
import matplotlib.pyplot as plt

# 中文和负号的正常显示
plt.rcParams['font.sans-serif'] = 'Microsoft YaHei'
plt.rcParams['axes.unicode_minus'] = False

#使用ggplot的风格绘图
plt.style.use('ggplot')

#构造数据
values =
values_1 =
feature = ['个人能力','QC知识',"解决问题能力","服务质量意识","团队精神","IQ"]

N = len(values)

#设置雷达图的角度,用于平分切开一个平面
angles = np.linspace(0,2*np.pi,N,endpoint=False)

#使雷达图封闭起来
values = np.concatenate((values,]))
angles = np.concatenate((angles,]))

values_1 = np.concatenate((values_1,]))
#绘图
fig = plt.figure()
#设置为极坐标格式
ax = fig.add_subplot(111, polar=True)
#绘制折线图
ax.plot(angles,values,'o-',linewidth=2,label='活动前')
ax.fill(angles,values,'r',alpha=0.5)

#填充颜色
ax.plot(angles,values_1,'o-',linewidth=2,label='活动后')
ax.fill(angles,values_1,'b',alpha=0.5)

#添加每个特质的标签
ax.set_thetagrids(angles*180/np.pi,feature)
#设置极轴范围
ax.set_ylim(0,5)
#添加标题
plt.title('活动前后员工状态')
#增加网格纸
ax.grid(True)
plt.show()

错误提示:
raise ValueError(
ValueError: The number of FixedLocator locations (7), usually from a call to set_ticks, does not match the number of ticklabels (6).

说什么值不匹配,请各位帮忙

QingYi. 发表于 2021-9-1 18:24

报错行也不发一个

fenga6 发表于 2021-9-1 18:27

本帖最后由 fenga6 于 2021-9-1 18:30 编辑

QingYi. 发表于 2021-9-1 18:24
报错行也不发一个
File "D:/phpstudy_pro/fengyuwei/T3/333.py", line 39, in <module>
提示是39行,ax.set_thetagrids(angles*180/np.pi,feature)
但是我找到原因是
values =
values_1 =
这里边设置6个值,默认会追加列表的第一个值3.2和2.4,删除一个之后,程序正常运行,请老大帮忙看看产生原因
也就是设置
values =
系统会以values = [3.2,2.1,3.5,2.8,3,3.2]
来显示雷达图

winner1985 发表于 2021-9-1 18:39

感谢楼主无私分享,万分感谢~~~

菱角 发表于 2021-9-1 19:18

那是因为设置标签的时候 标签只有6个 但是传入的angles长度为7

1942 发表于 2021-9-1 21:26

用pyechars 不香么, jupyter lab 不是更好一点 ?

fenga6 发表于 2021-9-1 21:26

谢谢各位了

zhenkaixin852 发表于 2021-9-1 21:28

感谢分享加油
页: [1]
查看完整版本: Python运行错误,请帮忙修复一下