Plots v1.20.0版本无法识别vline!函数 是否存在接口变更?
Plots v1.20.0 vline!接口变更说明
问题根因
Plots在v1.20.0版本迭代中对系列绘图的内部分发逻辑做了调整,vline!这类可变(!结尾)便捷绘图函数的后端适配代码未同步更新,因此调用时会抛出Val{:vline}相关的MethodError,该问题属于版本兼容问题,仅存在于v1.20.0版本。
解决方案
- 方案1:修改代码适配v1.20.0接口,将
Plots.vline!([1.25])替换为Plots.vline([1.25], mutate = true),即可在不调整包版本的前提下正常运行,修改后的完整代码如下:
begin pyplot() Plots.plot([57,89]) Plots.vline([1.25], mutate = true) end
- 方案2:固定Plots版本为v1.19.3,在Julia包管理模式下执行命令
add Plots@1.19.3即可恢复原有代码的运行能力。 - 方案3:升级Plots到v1.21.0及以上版本,该bug已在后续补丁版本中修复,在包管理模式下执行命令
update Plots即可解决。
内容的提问来源于stack exchange,提问作者Jen-Feng Hsu
相关产品推荐
相关产品推荐

