在 Python 中创建一个简单的点图
create a simple point plot in Python
我应该在语料库中计算 n-grams 并创建一个点图来显示单词的等级及其计数作为验证 Zipf's law 的练习。例如,最终结果应如下所示:
我使用 nltk 提取了分布(这里只针对 unigrams):
import nltk
with open(r'./1.txt', 'r') as file:
text = file.read()
file.close()
tokens = nltk.word_tokenize(text)
tokens = [token.lower() for token in tokens if len(token) > 1]
fdist = nltk.FreqDist(tokens)
ranks = fdist.most_common()
这给了我一长串所有单词的二元组及其计数,从最常见到最少。
我想知道我应该如何从这里开始。我只需要在 two-axis 平面上绘制它。我没有安装 matpotlib/numpy,也没有使用这些库的经验。但是我有 Microsoft Excel,所以我想知道我是否可以以某种方式以 Excel 可读的格式导出这些数据并将其绘制在那里。
如果您要使用 python 绘图,请安装 matplotlib。将数据放入两个向量中,x
和 y
。相应的条目是 x
和 y
值。
然后简单地做
import pylab
pylab.plot(x, y, '.')
pylab.savefig('myfilename.pdf')
'.'告诉它绘制点。
您可以保存为 .pdf 以外的多种格式 要以其他格式保存,只需将 .pdf 扩展名更改为您想要的任何格式即可。如果它是一种可接受的格式,它就会这样做。
以下几行将按照您使用 matplotlib 请求的方式绘制数据:
import matplotlib.pyplot as plt
plt.plot(range(len(ranks)), [r[1] for r in ranks], 'ro')
plt.ylim([0,12])
plt.xlim([0,10])
plt.show()
安装 matplotlib 很简单。请参阅此处了解适用于您的操作系统的说明:http://matplotlib.org/users/installing.html
您可以创建一个 Excel scatter plot using XlsxWriter:
我应该在语料库中计算 n-grams 并创建一个点图来显示单词的等级及其计数作为验证 Zipf's law 的练习。例如,最终结果应如下所示:
我使用 nltk 提取了分布(这里只针对 unigrams):
import nltk
with open(r'./1.txt', 'r') as file:
text = file.read()
file.close()
tokens = nltk.word_tokenize(text)
tokens = [token.lower() for token in tokens if len(token) > 1]
fdist = nltk.FreqDist(tokens)
ranks = fdist.most_common()
这给了我一长串所有单词的二元组及其计数,从最常见到最少。
我想知道我应该如何从这里开始。我只需要在 two-axis 平面上绘制它。我没有安装 matpotlib/numpy,也没有使用这些库的经验。但是我有 Microsoft Excel,所以我想知道我是否可以以某种方式以 Excel 可读的格式导出这些数据并将其绘制在那里。
如果您要使用 python 绘图,请安装 matplotlib。将数据放入两个向量中,x
和 y
。相应的条目是 x
和 y
值。
然后简单地做
import pylab
pylab.plot(x, y, '.')
pylab.savefig('myfilename.pdf')
'.'告诉它绘制点。
您可以保存为 .pdf 以外的多种格式 要以其他格式保存,只需将 .pdf 扩展名更改为您想要的任何格式即可。如果它是一种可接受的格式,它就会这样做。
以下几行将按照您使用 matplotlib 请求的方式绘制数据:
import matplotlib.pyplot as plt
plt.plot(range(len(ranks)), [r[1] for r in ranks], 'ro')
plt.ylim([0,12])
plt.xlim([0,10])
plt.show()
安装 matplotlib 很简单。请参阅此处了解适用于您的操作系统的说明:http://matplotlib.org/users/installing.html
您可以创建一个 Excel scatter plot using XlsxWriter: