Julia中Makie绘图:保留轴标签但隐藏刻度数值
解决Makie热力图保留轴标签但隐藏刻度数值的问题
你的核心问题是重复创建了Axis对象,导致之前的设置无效,且hidedecorations!默认会隐藏所有装饰元素。以下是可行的解决方法:
正确代码示例
using NetCDF using CairoMakie using ColorSchemes # 生成热力图时直接获取返回的Axis对象,不要重复创建 fig, ax, p = heatmap(lon1, lat1, h; colormap=:rainbow_bgyrm_35_85_c71_n256) # 设置轴标签、标题和外观 ax.xlabel = "longitude" ax.ylabel = "latitude" ax.title = "depth map" ax.aspect = 0.5 ax.leftspinevisible = false ax.bottomspinevisible = false # 只隐藏刻度数值,保留轴标签、刻度线等(按需调整) hidedecorations!(ax; ticklabels=false, label=true, tickmarks=true, grid=false) # 添加色条 Colorbar(fig[:, end+1], p, label="meters") # 调整布局比例 colsize!(fig.layout, 1, Aspect(1, 0.5)) display(fig)
关键说明
- 不要重复创建
Axis:heatmap已经自动生成了对应的Axis对象,直接使用返回的ax进行修改即可,重复创建会覆盖原对象导致设置失效。 - 精准控制
hidedecorations!:通过关键字参数指定要隐藏的元素,ticklabels=false只隐藏刻度数值,label=true保留轴标签,其他参数如tickmarks(刻度线)、grid(网格)可根据需求调整。 - 也可以直接设置属性:如果不想用
hidedecorations!,直接设置ax.ticklabelvisible = false也能实现隐藏刻度数值的效果,同时确保ax.xlabelvisible=true和ax.ylabelvisible=true(默认就是true,无需额外设置)。
内容的提问来源于stack exchange,提问作者Anna
相关产品推荐
相关产品推荐

