运行matplotlib官方示例时set_xticks报参数数量不匹配错误求解决
问题原因
这个报错的核心是本地安装的matplotlib版本和参考的最新官方示例要求的版本不匹配:
- 最新稳定版matplotlib(≥3.5.0)的
Axes.set_xticks()方法新增了第二个位置参数labels,可以直接在设置刻度位置的同时传入刻度标签,官方最新示例里的相关写法是合法的 - 你本地安装的是matplotlib ≤3.4.x的旧版本,该版本下
set_xticks()只接受1个位置参数(刻度位置列表),刻度标签需要单独调用set_xticklabels()方法设置,直接运行最新官方示例就会报参数数量不匹配的错误
解决方案
方案1:升级matplotlib到匹配版本
直接执行升级命令即可对齐官方示例环境:
pip install --upgrade matplotlib
升级完成后直接运行官方示例代码即可正常运行。
方案2:修改代码适配旧版本matplotlib
如果你不想升级现有环境,把官方示例里的set_xticks相关代码拆分成两行即可:
原官方示例的写法(仅适配3.5+):
ax.set_xticks(x, labels=fruit_names)
修改为适配旧版本的写法:
ax.set_xticks(x) # 仅传入刻度位置,对应旧版本允许的1个位置参数 ax.set_xticklabels(fruit_names) # 单独调用方法设置刻度标签
修改后即可在3.4及以下版本的matplotlib中正常运行。
内容的提问来源于stack exchange,提问作者danield5732
相关产品推荐
相关产品推荐

