この記事の目的は、Python でデータのプロットを開始できるようにすることです。特定のテキスト ファイル内の文字の頻度をプロットする棒グラフを作成します。この場合、テキスト ファイルには『華麗なるギャツビー』のコンテンツが含まれています。
#ステップ 1: 仮想環境を作成するこのプロジェクトの環境は小規模になります。仮想環境を使用すると、コンピュータの他の部分に影響を与えることなく、ワークスペースに機能を追加できます。 ディレクトリを作成し、コード エディターとターミナル (コマンドを実行する場所) で開きます。 実行しましょう:$ python3 -m venv venv $ source venv/bin/activate
必要な依存関係をインストールできます
$ pip3 install matplotlib
import matplotlib.pyplot as plt # plot from collections import OrderedDict # this will be used for sorting later file = open('read.txt') text = file.read() file.close()
charDict = {} # dictionaries are defined by curly braces def count_letter(character): character = character.lower() if character.isspace(): return if character in charDict: charDict[character] = charDict[character] + 1 else: charDict[character] = 1 # loop through text for i in text: count_letter(i) charDict = OrderedDict(sorted(charDict.items()))
num_list = []これらのリストはそれぞれの軸に対応しますother なので、char_list の項目 1 が「a」の場合、num_list の項目 1 は対応する頻度になります。これもエンコードしてみましょう。char_list = []
char_list = [] # character num_list = [] # frequency # create x and y axes for x,y in charDict.items(): char_list.append(x) num_list.append(y)
fig = plt.figure() # create a new figure ax = fig.add_subplot() # create a new bar graph within the figure fig.canvas.manager.set_window_title('The Great Gatsby') # title of window ax.bar(char_list, num_list) # add the data to the graph plt.savefig('chars.png') # download an image of the bar graph plt.show() # show the image
rreeee
それでは、記事の冒頭で私が尋ねた質問に答えると、文字 e は『華麗なるギャツビー』の中で 25,000 回以上使用されています。おお!
この記事の最後で、matplotlib とデータ サイエンスについて何かを学んでいただければ幸いです。
以上がPython と Matplotlib を使用してテキスト内に文字を描画するの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。