Julia调用histogram报UndefVarError: histogram not defined错误如何解决?
Julia histogram未定义报错解决方案
错误原因
同时导入Plots和PyPlot两个包触发命名空间冲突,PyPlot本身未导出histogram方法,后导入的PyPlot覆盖了Plots导出的histogram函数,导致调用时找不到定义。
解决方法
- 方案1:仅保留Plots包导入(Plots会自动调用指定的PyPlot后端渲染,无需单独导入PyPlot),代码修改为:
using Plots pyplot() # 指定PyPlot作为Plots的渲染后端 x = 0:100 result = rand(x,2000) histogram(result)
- 方案2:需要同时使用两个包的场景,调用时明确指定Plots命名空间,避免冲突:
using Plots; using PyPlot pyplot() x = 0:100 result = rand(x,2000) Plots.histogram(result) # 明确调用Plots的histogram方法
- 方案3:直接使用原生PyPlot接口绘图,替换为PyPlot原生的直方图函数
hist:
using PyPlot x = 0:100 result = rand(x,2000) hist(result)
额外排查
修改后仍报错可进入Julia包管理模式,执行add Plots PyPlot重新安装两个包,确认依赖版本兼容。
内容的提问来源于stack exchange,提问作者AfterFray
相关产品推荐
相关产品推荐

