我在python 3.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感到无聊,没有经验):
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()

关于python - 在轴上放置文本值,而不是数字值,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/17074772/

10-11 22:04
查看更多