gpt4 book ai didi

python - matplotlib中,如果一个tick label太长,如何限制长度,让其多行显示?

转载 作者:太空宇宙 更新时间:2023-11-04 02:01:59 28 4
gpt4 key购买 nike

我想用 matplotlib 做一些绘图,但是有一个问题是我的一些刻度标签太长了。我想知道我是否可以让长刻度标签以多行显示。

这是一些代码:

import numpy as np
import matplotlib.pyplot as plt

data = np.random.random(4)
idx = np.arange(4)

fig = plt.figure()
ax = fig.add_subplot(111)
ax.set_ylim(-0.5, 4-0.5)
ax.set_yticks(b)
ax.tick_params(length=0)
ax.barh(idx, data, zorder=2,
tick_label=["qwertyuioplkjhgfdsa+1s",
"abc","asd","qwerty"])
ax.grid(axis='x')

plt.show()

这是我得到的情节。 result
如您所见,底部的ytick标签太长了,我想每行最多设置10个字母,所以我希望刻度标签可以显示在

qwertyuiop
lkjhgfdsa+
1s

或者在一行中不太长。

如有任何帮助,我们将不胜感激!

最佳答案

可以使用python的textwrap模块。例如。以 10 个字符换行:

import textwrap
f = lambda x: textwrap.fill(x.get_text(), 10)
ax.set_yticklabels(map(f, ax.get_yticklabels()))

关于python - matplotlib中,如果一个tick label太长,如何限制长度,让其多行显示?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55517837/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com