python 绘图中图形周围的颜色(matplotlib)

问题描述 投票:0回答:1

我有一个 matlab 3d 条形图,在网格内,我知道有背景颜色。然而,这种颜色似乎延伸到网格之外,并形成一个灰色的正方形。我想摆脱它,因为它没有意义,而且 ht 与它周围的文本很奇怪。 特别是在右侧,数字 40、60 和 80 位于边界上。我知道我可以将图像转换为另一个角度,但我宁愿图形周围根本没有这种灰色区域。

图:

代码:

plt.figure()
ax = plt.axes(projection='3d')
ax.bar3d(xpos,ypos,zpos,dx,dy,dz, alpha=0.4)
python matplotlib plot 3d
1个回答
0
投票

看起来您正在使用Seaborn,它提供了灰色背景。从代码中删除

seaborn.set()
。如果没有帮助,请在绘图前添加
seaborn.reset_defaults()
。然后你可以定义自己的主题,背景和平面为白色

ax.xaxis.set_pane_color((1.0, 1.0, 1.0))
ax.yaxis.set_pane_color((1.0, 1.0, 1.0))
ax.zaxis.set_pane_color((1.0, 1.0, 1.0))

如果您愿意,您可以更改飞机的透明度:

ax.xaxis.set_pane_color((0.0, 1.0, 0.0, 0.05))
ax.yaxis.set_pane_color((0.0, 1.0, 0.0, 0.05))
ax.zaxis.set_pane_color((0.0, 1.0, 0.0, 0.05))

如果这对您不起作用,请尝试

set_facecolor()
强制执行,但您可能需要更改轴颜色:

ax.set_facecolor('white')

ax.xaxis.set_pane_color((1.0, 1.0, 1.0))
ax.yaxis.set_pane_color((1.0, 1.0, 1.0))
ax.zaxis.set_pane_color((1.0, 1.0, 1.0))

ax.xaxis.line.set_color((0.0, 0.0, 0.0))
ax.yaxis.line.set_color((0.0, 0.0, 0.0))
ax.zaxis.line.set_color((0.0, 0.0, 0.0))
© www.soinside.com 2019 - 2024. All rights reserved.