Python运行错误,请帮忙修复一下
import numpy as npimport 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).
说什么值不匹配,请各位帮忙 报错行也不发一个 本帖最后由 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]
来显示雷达图 感谢楼主无私分享,万分感谢~~~ 那是因为设置标签的时候 标签只有6个 但是传入的angles长度为7 用pyechars 不香么, jupyter lab 不是更好一点 ? 谢谢各位了 感谢分享加油
页:
[1]