我正在进行一些集群分析,并希望使用matplotlib来可视化结果。在大多数情况下,这个过程还算顺利。然而,我在控制坐标轴上的刻度位置方面遇到了困难。也就是说,y轴上的刻度太密集了,我想把它们变得稀疏一些。我尝试使用numpy arrange函数提供刻度范围,但这并没有起作用。
我不知道这是因为我对matplotlib不够熟悉,还是因为这是一个3D绘图问题。无论如何,我已经尝试了Stack上能找到的所有解决方案,但似乎都没有起作用。
我的代码:
import matplotlib.pyplot as plt
import matplotlib.cm as cm
fig = plt.figure()
ax = fig.add_subplot(111, projection='3d')
ax.scatter(data['col_1'], data['col_2'], data['col_3'], c = data.index, cmap = cm.winter, s=60)
ax.view_init(15, 240)
ax.set_xlabel('X Axis')
ax.set_ylabel('Y Axis')
ax.set_zlabel('Z- Axis')
plt.title('Sample Plot')
plt.show()
我的解决方案是按照以下方式提供ticks:
ticks = np.arange(0.3, 0.7, 0.02)
fig = plt.figure()
ax = fig.add_subplot(111, projection='3d')
ax.scatter(data['col_1'], data['col_2'], data['col_3'], c = data.index, cmap = cm.winter, s=60)
ax.view_init(15, 240)
ax.set_xticks(ticks)
ax.set_yticks(ticks)
ax.set_zticks(ticks)
ax.set_xlabel('X Axis')
ax.set_ylabel('Y Axis')
ax.set_zlabel('Z- Axis')
plt.title('Sample Bad Plot')
plt.show()
然而,这只会产生下面的混乱。有什么帮助吗?
![这是最终的混乱结果](https://istack.dev59.com/MZv2q.webp)