我必须使用 Matplotlib 库来可视化 XAxis 上带有中文刻度标签的一些数据。这是一个例子:
我想更改刻度标签的文本方向以获得如下图:
请注意,这不是“文本旋转”。这是关于文本方向的。
如何在 Matplotlib 中实现这一点?
PS 以上图表是在 Excel 中创建的,用于演示。这是 Matplotlib 的代码,它可以像第一个一样生成绘图。好吧,我无法在 Matplotlib 中生成第二个,这就是我在这里的原因......
import matplotlib.pyplot as plt
import matplotlib.font_manager as mfont
myfont = mfont.FontProperties('SimHei')
data = [1,2,3,4,5]
labels = ['中文1', '中文2', '中文3', '中文4', '中文5']
fig = plt.figure()
ax = fig.add_subplot(111)
ax.bar(data, data, tick_label=labels)
for label in ax.xaxis.get_majorticklabels():
label.set(fontproperties=myfont)
plt.show()
有东西遮挡了文本。
上图的代码:
import matplotlib.pyplot as plt
import matplotlib.font_manager as mfont
# myfont = mfont.FontProperties('SimHei', size=30)
data = [1,2,3,4,5]
labels = ['中\n文\n1', '中\n文\n2 ', '中\n文\n3', '中\n文\n4', '中\n文\n5']
fig = plt.figure()
fig.set_facecolor('white')
ax = fig.add_subplot(111)
ax.bar(data, data, tick_label=labels)
for label in ax.xaxis.get_majorticklabels():
label.set(family='SimHei', size=15, backgroundcolor='red', linespacing=3)
plt.show()


