Julia使用Plots绘制热图触发MethodError报错求助
报错问题修复方案
错误原因
- 绘图函数嵌套调用错误:
heatmap是Plots库原生的独立绘图接口,外层额外套plot()会导致绘图配方解析逻辑混乱,是触发本次MethodError的直接原因。 - 代码存在未定义变量:
datapoints没有提前赋值,热图问题修复后会触发变量未定义报错,需要补充定义。
修复后可运行代码
using AbstractGPs using LinearAlgebra using Plots using Random using PlutoUI randomseed=42 Random.seed!(randomseed) # 补充定义采样点数量,可根据需求调整数值 datapoints = 50 X = rand(datapoints) .* 2 .- 1 PES(x)=x^2 plot(-1:0.01:1, PES, label="Underlying potential", xlabel="Position", ylabel="Energy") Y = PES.(X) kernelfunction=SEKernel() Xrange=range(-3,3; length=100) # 去掉外层plot(),直接调用heatmap即可正常绘图 heatmap(kernelmatrix(kernelfunction, Xrange); yflip=true)
补充说明
如果需要将热图和之前的势能函数曲线放在同一视图,可使用plot!()接口叠加绘图,或者设置layout参数实现多子图排版。
内容的提问来源于stack exchange,提问作者Keerati Keeratikarn
相关产品推荐
相关产品推荐

