在用 matplotlib 库生成雷达图时可能会出现报错:
AttributeError: 'Text' object has no property 'frac'
原因在于 pip 安装的为较高版本 matplotlib 库,Text 对象不再需要 frac 参数,删除该参数即可。
附:
较低版本 matplotlib.pyplot.thetagrids() 函数语法为:
lines, labels = thetagrids(angles, labels=None, fmt=’%d’, frac = 1.5)
参数 frac 表示文字标签在极坐标半径的位置(1 为边缘),>1表示在轴外,<1则在轴内。
较高版本 matplotlib.pyplot.thetagrids() 函数语法则调整为:
lines, labels = thetagrids(angles, labels=None, fmt=None, **kwargs)
各参数含义:
- angles:指定角度,为float/float数组
- labels:文本标签,为str tuple
- fmt:格式化angles,如 '%1.2f' 保留2位小数,格式化后将使用弧度制,
- **kwargs:可选文本标签属性
当使用matplotlib创建雷达图时,如果遇到'AttributeError: 'Text' object has no property 'frac''的错误,这可能是因为安装的matplotlib版本过高。旧版本的`thetagrids`函数接受`frac`参数,但在新版本中已被移除。要解决这个问题,只需删除不再需要的`frac`参数即可。新版本的`thetagrids`函数允许通过`**kwargs`传递文本标签属性。

1万+

被折叠的 条评论
为什么被折叠?



