matplotlib - 如何更改 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 轴,它们保持黑色。同样,网格不受影响。

我想知道如何访问 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/

相关文章:

asp.net-mvc - 我怎样才能通过 LCID 获得文化

css - 使用 CSS 选择类下面的类

objective-c - 在 objective-c 中获取颜色分量

sql - 使用 SQL Server Management Studio 自动导出到 CSV

php - FOS 用户包安装错误

python-2.7 - Python None 如果检查失败

mercurial - 替换 hg 分支的内容

google-maps - 谷歌地图标记仅在 iPhone/iPad 上在特定缩放级别消失

php - SimplePie 可以从提要中抓取图像吗

asp.net-mvc-3 - MVC 3 POST 数据和 Id 字段