Я поставилКак изменить цвет осей графика matplotlib 3D?
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-участка:
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}}
Однако параметр цвета изменяет цвет фона плоскостей осей (между проводными сетками), а не цвет краев этих плоскостей.
Я копаю слишком глубоко?