在用 Matplotlib 制作雷达图时,有时会报错

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

        原因在于对 numpy.array() 对象 labels、data 及numpy.linspace() 对象 angles 等进行封闭时,遗漏对象未予封闭,导致彼此不能对应,从而出现ValueError。

        解决方案:封闭遗漏对象即可。

        示例:

        在做霍兰德人格与职业分析时,设置 radar_lables,data 两组 array 类型及对应的 linspace,对 data、angles 进行封闭时,未对 radar_labels 进行相同操作,导致 radar_labels 内元素个数与前两者不相对应,从而出现 ValueError。

        在对 radar_labels 进行封闭后,问题解决。

radar_labels = np.concatenate((radar_labels, [radar_labels[0]]))    #封闭radar_labels
data = np.concatenate((data, [data[0]]))
angles = np.concatenate((angles, [angles[0]]))

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐