Python/Matplotlib - 如何将x刻度标签格式化为多列?

1 投票
1 回答
2885 浏览
提问于 2025-04-16 12:19

可以把:

hello world 12345

作为x轴的标签(现在是竖着显示的),然后把它变成这样:

hello world
12345

这是一个有(旋转过的)两列的x轴标签吗?

1 个回答

8

你可以使用标准库中的 textwrap 模块来格式化文本:

import matplotlib.pyplot as plt
import numpy as np
import textwrap

mu, sigma=100, 15
N=4
x=mu + sigma*np.random.randn(N)
plt.bar(range(N), x,  align='center')
labels=[
    'hello world 12345',
    'another long one',
    'what happened to pithy',
    'yada yada',
    ]
labels=[textwrap.fill(text,15) for text in labels]

plt.xticks(range(N), labels)
plt.show()

在这里输入图片描述

撰写回答