似乎对于matplotlib 2D有效的一些方法在matplotlib 3D中可能无法工作。我不确定。
我想从所有轴中移除刻度线,并将边缘颜色从底部和侧面延伸到顶部。 我能做到的最远的是将刻度线绘制为白色,但看起来很糟糕,因为它们被渲染在边缘线的上方。
下面是一大块自包含代码,生成以下图像。非常感谢您的任何帮助!
我想从所有轴中移除刻度线,并将边缘颜色从底部和侧面延伸到顶部。 我能做到的最远的是将刻度线绘制为白色,但看起来很糟糕,因为它们被渲染在边缘线的上方。
下面是一大块自包含代码,生成以下图像。非常感谢您的任何帮助!
import numpy as np
import matplotlib as mpl
from matplotlib import pyplot as plt
from matplotlib import animation
from mpl_toolkits.mplot3d import Axes3D
mpl.rcParams['ytick.color'] = 'white'
#mpl.rcParams['ytick.left'] = False
sample = np.random.random_integers(low=1,high=5, size=(10,3))
# Create a figure and a 3D Axes
fig = plt.figure(figsize=(5,5))
ax = Axes3D(fig)
#ax.w_xaxis.set_tick_params(color='white')
#ax.axes.tick_params
ax.axes.tick_params(bottom=False, color='blue')
##['size', 'width', 'color', 'tickdir', 'pad', 'labelsize',
##'labelcolor', 'zorder', 'gridOn', 'tick1On', 'tick2On',
##'label1On', 'label2On', 'length', 'direction', 'left', 'bottom',
##'right', 'top', 'labelleft', 'labelbottom',
##'labelright', 'labeltop', 'labelrotation']
colors = np.mean(sample[:, :], axis=1)
ax.scatter(sample[:,0], sample[:,1], sample[:,2],
marker='o', s=20, c=colors, alpha=1)
ax.tick_params(color='red')
frame1 = plt.gca()
frame1.axes.xaxis.set_ticklabels([])
frame1.axes.yaxis.set_ticklabels([])
frame1.axes.zaxis.set_ticklabels([])
#frame1.axes.yaxis.set_tick_params(color='white')