如何更改 matplotlib 3D 绘图轴的颜色?

Nir*_*iel 2 matplotlib

我已经设定

import matplotlib as mpl
AXES_COLOR = '#333333'
mpl.rc('axes', edgecolor=AXES_COLOR, labelcolor=AXES_COLOR, grid=True)
mpl.rc('xtick', color=AXES_COLOR)
mpl.rc('ytick', color=AXES_COLOR)
mpl.rc('grid', color=AXES_COLOR)
Run Code Online (Sandbox Code Playgroud)

轴标签和刻度的颜色在 2D 和 3D 中都正确设置。但是,edgecolor不适用于 3D 轴并且它们保持黑色。同样,网格不受影响。

我想知道如何访问 3D 绘图的各个轴:

import matplotlib.pyplot as plt
import mpl_toolkits.mplot3d # Needed for 3d projection.
fig = plt.figure()
ax = fig.add_subplot(111, projection='3d')
ax.w_zaxis # <- the z axis
Run Code Online (Sandbox Code Playgroud)

文件提到了一个属性,我们可以使用,直到开发商已经完成了重构他们的3D代码:

import pprint
pprint.pprint(ax.w_xaxis._AXINFO)

{'x': {'color': (0.95, 0.95, 0.95, 0.5),
       'i': 0,
       'juggled': (1, 0, 2),
       'tickdir': 1},
 'y': {'color': (0.9, 0.9, 0.9, 0.5),
       'i': 1,
       'juggled': (0, 1, 2),
       'tickdir': 0},
 'z': {'color': (0.925, 0.925, 0.925, 0.5),
       'i': 2,
       'juggled': (0, 2, 1),
       'tickdir': 0}}
Run Code Online (Sandbox Code Playgroud)

但是,颜色参数会更改轴平面(在网格的连线之间)的背景颜色,而不是这些平面边缘的颜色。

我挖得太深了吗?

小智 6

而不是改变axis3d.py试试这个: ax.w_xaxis.line.set_color("red")