如何去除Matplotlib 3D柱状图网格外的灰色背景区域
解决Matplotlib 3D柱状图灰色背景溢出问题
要彻底去除3D绘图区域外的灰色背景,无需调整视角,可通过以下两种方式处理:
方式一:完全隐藏坐标轴及背景
适合不需要保留坐标轴元素的场景,添加一行代码即可:
plt.figure() ax = plt.axes(projection='3d') # 关闭所有坐标轴面板与元素 ax.set_axis_off() ax.bar3d(xpos,ypos,zpos,dx,dy,dz, alpha=0.4) plt.show()
方式二:保留坐标轴,仅去除灰色背景
如果需要保留刻度和坐标轴线条,只需关闭三个轴的面板填充色,并将边缘设为与画布背景一致的颜色:
plt.figure() ax = plt.axes(projection='3d') # 关闭各轴面板的填充色 ax.xaxis.pane.fill = False ax.yaxis.pane.fill = False ax.zaxis.pane.fill = False # 将面板边缘设为白色(匹配画布默认背景) ax.xaxis.pane.set_edgecolor('white') ax.yaxis.pane.set_edgecolor('white') ax.zaxis.pane.set_edgecolor('white') ax.bar3d(xpos,ypos,zpos,dx,dy,dz, alpha=0.4) plt.show()
以上两种方法都能彻底消除网格外的灰色方形区域,同时避免刻度紧贴边缘的不协调问题。
内容的提问来源于stack exchange,提问作者Mart
相关产品推荐
相关产品推荐

