Julia中使用Plots绘制3D图时如何去除背景?
解决Plots(pyplot后端)去除3D图背景/坐标轴的问题
我之前也踩过这个坑!grid=false其实只是关闭网格线,而你需要的是完全移除坐标轴和背景框——对应PyPlot里ax.set_axis_off()的效果,试试下面两种方法:
方法1:用Plots原生参数直接设置
这是最简洁的方式,创建绘图时或事后修改都可以:
using Plots pyplot() # 绘图时直接关闭所有坐标轴元素 plot(sin, cos, 0:0.1:2π, axis=:off, camera=(30, 60)) # camera参数保留你的视角需求 # 或者先创建图,再修改已有对象 p = plot(sin, cos, 0:0.1:2π, camera=(30, 60)) axis!(p, :off) # 用带!的函数修改已生成的绘图
方法2:直接调用PyPlot底层API
如果你更习惯之前PyPlot的操作逻辑,也可以直接对接底层API,和你之前的操作完全衔接:
using Plots using PyPlot # 需要显式导入PyPlot pyplot() p = plot(sin, cos, 0:0.1:2π, camera=(30, 60)) ax = gca() # 获取当前轴对象 ax.set_axis_off() # 和你之前PyPlot里的操作完全一致 display(p) # 刷新显示修改后的图
补充说明下:grid=false仅控制网格线的显示,而axis=:off会隐藏所有坐标轴相关元素(轴线、刻度、背景边框),这才是你想要的“去除背景”的效果。
内容的提问来源于stack exchange,提问作者ChrlTsr
相关产品推荐
相关产品推荐

