Python绘图ticklabel重叠

时间:2016-04-03 12:06:43

标签: python matplotlib plot label overlapping

嘿,我无法找出解决问题的任何解决方案。第一个刻度标签保持重叠。我找到了一些填充刻度标签的方法,但它们不适用于3D绘图。 有什么方法可以解决这个问题吗? enter image description here

1 个答案:

答案 0 :(得分:1)

您可以直接定位并给出刻度标签。如果您的尺寸不足,请考虑自己设置刻度(对齐,位置,名称,字体大小等)。以下示例对Y轴刻度标签执行此操作:

from mpl_toolkits.mplot3d import Axes3D
import matplotlib.pyplot as plt
import numpy as np

fig = plt.figure(figsize=(10,10))
ax = fig.gca(projection='3d')

x,y,z = np.random.randint(0,100,30),np.random.randint(0,100,30),np.random.randint(0,100,30)
ax.scatter(x,y,z)

ax.set_xlabel('X')
ax.set_xlim3d(0, 100)
ax.set_ylabel('Y')
ax.set_ylim3d(0, 100)
ax.set_yticks([30,60,90])
ax.set_yticklabels(['number 30','number 60','number 90'], va='center', ha='left',fontsize=24)
ax.set_zlabel('Z')
ax.set_zlim3d(0, 100)

plt.show()

,这导致:

Setting up tick labels in Axes3D

显然,您需要查看所需图形尺寸的效果以及您希望在图中显示的值。