首页 > 解决方案 > 如何更改 3d matplotlib 图中轴的颜色?

问题描述

使用 matplotlib 的 3d 绘图中轴 (x, y, z) 的颜色默认为黑色。你如何改变轴的颜色?或者更好的是,你如何让它们隐形?

%matplotlib inline
import matplotlib.pyplot as plt
from mpl_toolkits.mplot3d import Axes3D
fig = plt.figure()
ax = fig.add_subplot(111, projection='3d')
ax.xaxis.set_visible(False)  # doesn't do anything

而且似乎没有ax.xaxis.set_color功能。关于如何使轴不可见或更改颜色的任何想法?

标签: matplotlib

解决方案


您可以将您的方法与此处提供的方法结合使用。我正在展示一个影响所有三个轴的示例。在 Jupyter Notebook 中,使用 tab 完成后ax.w_xaxis.line.,您可以发现其他可能的选项

ax.w_xaxis.line.set_visible(False)
ax.w_yaxis.line.set_color("red")
ax.w_zaxis.line.set_color("blue")

要更改刻度颜色,您可以使用

ax.xaxis._axinfo['tick']['color']='r'
ax.yaxis._axinfo['tick']['color']='g'
ax.zaxis._axinfo['tick']['color']='b' 

隐藏刻度

for line in ax.xaxis.get_ticklines():
    line.set_visible(False)

在此处输入图像描述


推荐阅读