问题描述
我想绘制一个两个变量的函数(代码中的 e_pos 和 e_neg)。这里,t 和 a 是常数,我给它赋值为 1。
我绘制这个函数的代码如下:
t = 1
a = 1
kx = ky = range(3.14/a,step=0.1,3.14/a)
# Doing a meshgrid for values of k
KX,KY = kx'.*ones(size(kx)[1]),ky'.*ones(size(ky)[1])
e_pos = +t.*sqrt.((3 .+ (4).*cos.((3)*KX*a/2).*cos.(sqrt(3).*KY.*a/2) .+ (2).*cos.(sqrt(3).*KY.*a)));
e_neg = -t.*sqrt.((3 .+ (4).*cos.((3)*KX*a/2).*cos.(sqrt(3).*KY.*a/2) .+ (2).*cos.(sqrt(3).*KY.*a)));
using Plots
plot(KX,KY,e_pos,st=:surface,cmap="inferno")
如果我以这种方式使用 Plots,有时我会得到一个没有表面的空 3D 平面。我究竟做错了什么?我认为这可能与我为 kx 和 ky 所做的网格有关,但我不确定。
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)