1 回答

TA貢獻(xiàn)1898條經(jīng)驗(yàn) 獲得超8個(gè)贊
您可以修改 for 循環(huán)中標(biāo)簽的位置/旋轉(zhuǎn)。最初,我認(rèn)為更改旋轉(zhuǎn)點(diǎn)就足夠了,但標(biāo)簽固定在刻度線的尖端,因此結(jié)果不是最佳的。
這是我的代碼。您可能需要調(diào)整 y 位置的正負(fù)以獲得所需的對(duì)齊方式:
N = 10
h = np.linspace(-10,10,N)
xticks = [f'test #{n}' for n in range(N)]
fig, ax = plt.subplots()
ax.spines['bottom'].set_position('zero')
ax.bar(range(N),h)
ax.set_xticks(range(N))
ax.set_xticklabels(xticks)
for i,(g,t) in enumerate(zip(h,ax.get_xticklabels())):
if g<0:
t.set_ha('left')
t.set_va('bottom')
else:
t.set_ha('right')
t.set_va('top')
t.set_rotation_mode('anchor')
t.set_rotation(45)
t.set_transform(ax.transData)
t.set_position((i,0))
添加回答
舉報(bào)