matplotlib 如何减少轴和刻度标签之间的距离,并将刻度标签与轴正确对齐?

z9smfwbn  于 2023-03-30  发布在  其他
关注(0)|答案(1)|浏览(251)

我正在使用一系列的条形图在3D投影上生成3D条形图,按照下面给出的代码。但是,轴刻度标签显示得离轴线很远。我如何减少轴和轴刻度标签之间的距离?进一步的刻度标签似乎没有与轴正确对齐。
代码快照如下所示:

fig = plt.figure(figsize=(3,2),dpi=300)
plt.rc('font', size=4) 

ax = fig.add_subplot(111, projection='3d')
ax.set_box_aspect(aspect=None, zoom=0.8) #--to resolve axis label cut-off problem
z=np.arange(len(list(df_3d)))
print("z",z)
print(list(df_3d))
for n, i in enumerate(df_3d):
    # print ('n',n)
    xs = np.arange(len(df_3d[i]))
    ys = [i for i in df_3d[i]]
    zs = z[n]

    cs = colors[n]
    # print (' xs:', xs,'ys:', ys, 'zs',zs, ' cs: ',cs)
    ax.bar(xs, ys, zs, zdir='y', color=cs, alpha=0.8)

yaxislabels=[]
for i in list(df_3d):
    yaxislabels.append("")
    yaxislabels.append(i)
ax.set_yticklabels(yaxislabels)  #(list(df_3d))

ax.set_xlabel(axislabels[0],labelpad=0.5)
ax.set_ylabel(axislabels[1],labelpad=0.5)
ax.set_zlabel(axislabels[2],rotation=90,labelpad=0.5)

plt.show()

如何缩短轴和轴标签之间的距离?

我找不到其他解决办法。请帮帮我。

0pizxfdo

0pizxfdo1#

this answer一样,您应该能够使用pad参数来tick_params,例如,

ax.tick_params(axis="y", pad=2)
ax.tick_params(axis="z", pad=2)
ax.tick_params(axis="x", pad=2)

尝试一下传递给pad的值,看看哪个看起来最好(在我自己模拟的一个例子中,2看起来相当不错)。

相关问题