我已经设置了
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)
坐标轴标签的颜色和刻度在 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
documentation提到了一个我们可以使用的属性,直到开发人员完成重构他们的 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}}
但是,颜色参数会改变轴平面(在网格线之间)的背景颜色,而不是这些平面边缘的颜色。
我是不是挖得太深了?
最佳答案
不要改变 axis3d.py,试试这个:ax.w_xaxis.line.set_color("red")
https://stackoverflow.com/questions/9215512/