繁体   English   中英

在Python中创建一个简单的点图

[英]create a simple point plot in Python

我应该对一个语料库中的n-gram进行计数,并创建一个点图来显示单词的等级及其数量,以此作为验证Zipf定律的练习。 例如,最终结果应如下所示:

在此处输入图片说明

我像这样使用nltk提取了分布(此处仅用于字母组合):

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()

这给了我一长串由所有单词组成的2元组的列表,它们的数量从最常见到最少。

我想知道如何从这里开始。 我只需要将此图绘制在两轴平面上。 我没有安装matpotlib / numpy,并且在这些库中没有任何经验。 但是我有Microsoft Excel,所以我想知道是否可以某种方式以Excel可读的格式导出此数据并将其绘制在那里。

以下几行将以您使用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

如果要使用python进行绘图,请安装matplotlib。 将数据分成两个向量xy 相应的条目是xy值。

然后简单地做

import pylab
pylab.plot(x, y, '.')
pylab.savefig('myfilename.pdf')

'。 告诉它绘制点。

除了.pdf以外,您还可以保存多种格式。要保存另一种格式,只需将.pdf扩展名更改为所需的格式即可。 如果它是可接受的格式,它将执行此操作。

您可以使用XlsxWriter创建一个Excel 散点图

在此处输入图片说明

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM