我使用matplotlib来产生(垂直)条形图。 问题是我的标签是相当长的。 有没有什么办法,以垂直显示它们,无论是在酒吧或它上面或下面?
Answer 1:
你的意思是这样的:
>>> from matplotlib import *
>>> plot(xrange(10))
>>> yticks(xrange(10), rotation='vertical')
?
一般情况下,以显示与matplotlib垂直方向上的任何文字,你可以添加关键字rotation='vertical'
。
对于进一步的选项,你可以看看帮助(matplotlib.pyplot.text)
所述yticks函数绘制在y轴上的刻度; 我不知道你是否原意为这个或ylabel功能,但程序是alwasy一样的,你必须添加旋转=“垂直”
也许你还可以找到有用的选项“verticalalignment”和“的HorizontalAlignment”,它允许您定义相对于蜱或其他元素对齐文本。
Answer 2:
在Jupyter笔记本电脑,你可能会使用这样的事情
%matplotlib inline
import matplotlib.pyplot as plt
import numpy as np
plt.xticks(rotation='vertical')
plt.plot(np.random.randn(100).cumsum())
或者您可以使用:
plt.xticks(rotation=90)
Answer 3:
我建议在看的matplotlib画廊 。 至少两个例子似乎是相关的:
- text_rotation.py理解如何文本布局作品
- barchart_demo2.py ,具有稍微更复杂的布局比最基本的例子的柱状图的一例。
Answer 4:
请看看这个链接: https://python-graph-gallery.com/7-custom-barplot-layout/
import matplotlib.pyplot as plt
heights = [10, 20, 15]
bars = ['A_long', 'B_long', 'C_long']
y_pos = range(len(bars))
plt.bar(y_pos, heights)
# Rotation of the bars names
plt.xticks(y_pos, bars, rotation=90)
其结果将是这样的
我们希望,它帮助。
文章来源: Barchart with vertical labels in python/matplotlib