使用matplotlib.patheffects的withTickedStroke绘制可行域报错求助
解决matplotlib中
withTickedStroke不存在的问题 问题原因
你遇到的AttributeError是因为matplotlib.patheffects.withTickedStroke这个便捷工厂函数可能没在你当前使用的matplotlib版本中暴露到模块顶层,但底层的TickedStroke类已经存在于源码中。
解决方案
方案1:升级matplotlib到最新稳定版
withTickedStroke是较新matplotlib版本新增的顶层便捷函数,直接升级即可解决:
pip install --upgrade matplotlib
升级后重新运行示例代码,就能正常调用patheffects.withTickedStroke了。
方案2:直接使用TickedStroke类替代
如果无法升级版本,直接用底层的TickedStroke类即可,参数和原函数完全一致:
- 先导入
TickedStroke类:
from matplotlib.patheffects import TickedStroke
- 将原代码中调用
withTickedStroke的地方替换为TickedStroke:
比如原代码:
pe = patheffects.withTickedStroke(spacing=7, angle=135, length=1.5)
替换为:
pe = TickedStroke(spacing=7, angle=135, length=1.5)
修改后代码就能正常生成带刻度的描边效果,和原示例预期效果一致。
内容的提问来源于stack exchange,提问作者Andrés Cárdenas Oyarzún
相关产品推荐
相关产品推荐

