如何设置matplotlib 3D绘图中x/y/z轴网格的透明度(alpha值)
matplotlib 3D绘图网格透明度设置方案
你遇到的是matplotlib 3D轴的已知限制:ax.grid()的alpha参数暂未在3D场景下实现,直接调用全局plt.grid()或者修改_axinfo字典都无法生效,可通过直接操作已渲染的网格线对象实现透明度修改,适配所有matplotlib 3.x版本。
你可以在plt.show()之前添加以下代码实现需求:
# 方案1:分轴调用grid方法传入alpha,适配matplotlib 3.4及以上版本 ax.xaxis.grid(alpha=0.2) ax.yaxis.grid(alpha=0.2) ax.zaxis.grid(alpha=0.2) # 方案2:全版本兼容方案,直接修改网格线对象的alpha属性 for axis in [ax.xaxis, ax.yaxis, ax.zaxis]: for line in axis.get_gridlines(): line.set_alpha(0.2)
如果需要同时调整网格的颜色、线宽等样式,也可以通过网格线对象的对应方法修改:
- 修改颜色:
line.set_color("#999999") - 修改线宽:
line.set_linewidth(0.8)
内容的提问来源于stack exchange,提问作者null
相关产品推荐
相关产品推荐

