我使用matplotlib生成一个(垂直)条形图。问题是我的标签太长了。有没有什么方法可以垂直显示它们,或者在栏中,或者在栏的上方或下方?
dly7yett1#
你的意思是这样的:
>>> from matplotlib import * >>> plot(xrange(10)) >>> yticks(xrange(10), rotation='vertical')
?一般来说,要在matplotlib中以垂直方向显示任何文本,可以添加关键字rotation='vertical'。有关进一步的选项,您可以查看帮助(matplotlib.pyplot.text)yticks函数绘制y轴上的刻度;我不知道你最初是指这个还是ylabel函数,但是过程总是一样的,你必须添加rotation ='vertical'也许你还可以找到有用的选项'verticalignation'和'horizontalignment',它允许你定义如何对齐文本与刻度或其他元素。
rotation='vertical'
ssgvzors2#
在Jupyter Notebook中,您可能会使用以下内容
%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)
w6lpcovy3#
请查看此链接: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)
结果如下
希望能帮上忙。
0tdrvxhp4#
我建议看一下the matplotlib gallery。至少有两个例子是相关的:
4条答案
按热度按时间dly7yett1#
你的意思是这样的:
?
一般来说,要在matplotlib中以垂直方向显示任何文本,可以添加关键字
rotation='vertical'
。有关进一步的选项,您可以查看帮助(matplotlib.pyplot.text)
yticks函数绘制y轴上的刻度;我不知道你最初是指这个还是ylabel函数,但是过程总是一样的,你必须添加rotation ='vertical'
也许你还可以找到有用的选项'verticalignation'和'horizontalignment',它允许你定义如何对齐文本与刻度或其他元素。
ssgvzors2#
在Jupyter Notebook中,您可能会使用以下内容
或者您可以用途:
w6lpcovy3#
请查看此链接:https://python-graph-gallery.com/7-custom-barplot-layout/
结果如下
希望能帮上忙。
0tdrvxhp4#
我建议看一下the matplotlib gallery。至少有两个例子是相关的: