簡體   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