Python 在轴上放置文本值而不是数值

Python 在轴上放置文本值而不是数值,python,matplotlib,Python,Matplotlib,我在Python3.2中创建了一个简单的词频计算器。现在我想创建一个绘图来可视化结果。x轴将包含频率结果,我想将最频繁的单词添加到y轴。如何向pylab轴添加文本而不是数字?提前谢谢 我假设,因为您想在屏幕上显示频率 需要水平条形图的x轴而不是y轴 调整标签以在x轴上打印只需要 使用xticks命令: import matplotlib.pyplot as plt import numpy as np x_values = [0.1, 0.3, 0.4, 0.2] y_values = ["wo

我在Python3.2中创建了一个简单的词频计算器。现在我想创建一个绘图来可视化结果。x轴将包含频率结果,我想将最频繁的单词添加到y轴。如何向pylab轴添加文本而不是数字?提前谢谢

我假设,因为您想在屏幕上显示频率 需要水平条形图的x轴而不是y轴

调整标签以在x轴上打印只需要 使用
xticks
命令:

import matplotlib.pyplot as plt
import numpy as np
x_values = [0.1, 0.3, 0.4, 0.2]
y_values = ["word 1", "word 2", "word 3", "word 4"]
y_axis = np.arange(1, 5, 1)

plt.barh(y_axis, x_values, align='center')
plt.yticks(y_axis, y_values)
plt.show()
这将导致下表(但可能有更好的方法) 这将不需要您调整显示y标签的间距)。

事实上,对此要多考虑一点——我认为以下内容更符合您的想法(我想我现在应该停下来,因为这不可避免地表明我对matplotlib的使用毫无经验):


请参见,例如,查看图库,尝试找出一些与您无关的内容,然后对其进行修改。谢谢!这帮了大忙!要使标签居中,请使用
barh(y\u轴,x\u值,align='center')
。然后必须删除
yticks
中的偏移量,即
plt.yticks(y\u轴,y\u值)
import matplotlib.pyplot as plt
import numpy as np
y_values = [0.1, 0.3, 0.4, 0.2]
text_values = ["word 1", "word 2", "word 3", "word 4"]
x_values = np.arange(1, len(text_values) + 1, 1)

plt.bar(x_values, y_values, align='center')
# Decide which ticks to replace.
new_ticks = ["word for " + str(y) if y != 0.3 else str(y) for y in y_values]
plt.yticks(y_values, new_ticks)
plt.xticks(x_values, text_values)
plt.show()