Julia 使用PyPlot在surf plot上自定义ztick标签

Julia 使用PyPlot在surf plot上自定义ztick标签,julia,Julia,在z轴上寻找自定义Zticklabel和fontsize。最值得注意的是,使用zticks([-(R+R),0,R+R],“-R-R”,“0”,“R+R”],fontsize=16)的直观方法不起作用。我正在使用Julia 4.3.0,因为这是一个较旧的项目,目前无法完全转换为较新的版本。下面的注释行包括我尝试的其他未成功的命令 我的最终目标是得到z轴上的-0.8,0,0.8值,分别表示“-r”和“0”以及“r”。 using PyPlot colormapp = "nipy_spe

在z轴上寻找自定义Zticklabel和fontsize。最值得注意的是,使用zticks([-(R+R),0,R+R],“-R-R”,“0”,“R+R”],fontsize=16)的直观方法不起作用。我正在使用Julia 4.3.0,因为这是一个较旧的项目,目前无法完全转换为较新的版本。下面的注释行包括我尝试的其他未成功的命令

我的最终目标是得到z轴上的-0.8,0,0.8值,分别表示“-r”和“0”以及“r”。

using PyPlot

colormapp = "nipy_spectral"

R = 1.6;
r = 0.8;
N = 256;

dx = 2*pi/(N-1);
y = zeros(N,1); # y = phi (col) toroidal
x = y.'; # x = theta (row) poloidal
for ix = 2:N; y[ix] = (ix-1)*dx; x[ix] = (ix-1)*dx; end

cosxsqr = cos(x) .+ 0.0*y;
sinxsqr = sin(x) .+ 0.0*y;
sinysqr = 0.0*x .+ sin(y);
cosysqr = 0.0*x .+ cos(y);
Rrcosxsqr = R+r*cosxsqr;
rRrcosx = r*Rrcosxsqr[:];
Xsqr = Rrcosxsqr.*cosysqr;
Ysqr = Rrcosxsqr.*sinysqr;
Zsqr = r*sinxsqr;

figure(98)
clf()
pmeshtor = pcolormesh(x,y,Zsqr+r,cmap=colormapp);
cb = colorbar();

colorvals = Zsqr+r;
colorvals = colorvals/maximum(colorvals[:])

ax = figure(99)
clf()
srf = surf(Xsqr,Ysqr,Zsqr,cstride=10,rstride=10,facecolors=get_cmap(colormapp).o((colorvals)))
cb = colorbar(pmeshtor,ticks=[0,0.8,1.6])
cb[:ax][:set_yticklabels](["-r","0","r"], fontsize=16)
xlabel("x",fontsize=16)
ylabel("y",fontsize=16)
zlabel("z",fontsize=16)
xlim([-(R+r)-0.3,R+r+0.3])
ylim([-(R+r)-0.3,R+r+0.3])
zlim([-(R+r)-0.3,R+r+0.3])
xticks([-(R+r),0,R+r],["-R-r","0","R+r"],fontsize=16)
yticks([-(R+r),0,R+r],["-R-r","0","R+r"],fontsize=16)
zticks([-r,0,r])

#zticklabels([-r,0,r],["-r","0","r"])  
#setp(ax[:get_zticklabels](),fontsize=16);
#setp(ax[:set_zticklabels](["-r","0","r"]))#,fontsize=16);
这是生成的图像。

注释命令

setp(ax[:set_zticklabels](["-r","0","r"]),fontsize=16);
不起作用,但仅当插入缺少的投影选项时,如图99所示

figure(99)
ax = subplot(111, projection="3d")
注释命令

setp(ax[:set_zticklabels](["-r","0","r"]),fontsize=16);
不起作用,但仅当插入缺少的投影选项时,如图99所示

figure(99)
ax = subplot(111, projection="3d")

你能提供这个(
x=y.;#x=theta(row)poloidal
)语法的链接吗?过去的hashtag是一个注释,
x=y.
是正确的,我的意思是什么是
y点
?我想要这个语法的链接。我没有找到julia文档,但它是类似于matlab的语法,'将行转换为列,反之亦然。你能提供这个(
x=y.;#x=theta(row)poloidal
)语法的链接吗?过去的hashtag是一个注释,
x=y.
是正确的,我的意思是什么是
y点
?我想要这个语法的链接。我没有找到julia文档,但它是类似于matlab的语法,'将行转换为列,反之亦然。