成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

使用 Python 和 Matplotlib 在文本中繪制字符

開發 前端
本文的目的是幫助您開始在 python 中繪制數據。 我們將創建一個條形圖來繪制給定文本文件中字符的頻率。 在這種情況下,文本文件包含了《了不起的蓋茨比》的內容。

本文的目的是幫助您開始在 python 中繪制數據。 我們將創建一個條形圖來繪制給定文本文件中字符的頻率。 在這種情況下,文本文件包含了《了不起的蓋茨比》的內容。

第 1 步:創建您的虛擬環境

這個項目的環境會比較小。 虛擬環境允許您向工作區添加額外的功能,而不會影響計算機的其余部分!

創建一個目錄并在代碼編輯器和終端(運行命令的地方)中打開它。

讓我們運行:

$ python3 -m venv venv
$ source venv/bin/activate

我們可以安裝我們必要的依賴項

$ pip3 install matplotlib

我們還要創建兩個文件,read.txt 和 wordcount.py。

我們將使用 wordcount.py 來分析 read.txt 中的文本。

第 2 步:閱讀文本

我們可以比較簡單的開始,

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()
  • 首先,它導入我們的繪圖和排序庫
  • 其次,我們使用內置的 open 函數,它允許我們打開一個文件進行讀寫
  • 然后我們讀取文件里面的文本并將其存儲到文本變量中
  • 最后,我們關閉文件,因為我們不再使用它了

這就是我們“讀取”文件并將內容存儲在變量中所需的全部內容。

第 3 步:分析字符

我們可以跟蹤字符的最好方法是使用 python 字典(在其他編程語言中稱為 hashmap)。

字典是一種非常有用的數據存儲方式。 就像真正的字典一樣,它會有一個“單詞”列表,您可以查看單詞以查看定義。

在編程中,這個概念被推廣到“鍵/值”對。 這意味著我們可以設置字典,當我向字典詢問“a”時,它將返回“a”出現的總次數。

所以讓我們編碼吧!

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

讓我們回顧一下這里發生了什么。

  • 首先我們定義一個空字典
  • 接下來我們使用 def 關鍵字定義一個函數。 這個函數接受一個變量“字符”,檢查它是否是一個空格(空格、制表符、換行符)。 您可以為您的選擇添加其他標準,例如 isalpha() 以確定字符是否為字母
  • 然后檢查它是否已經在字典中。 如果它在字典中,它會將值更改為之前的值加 1(因為我們正在計算這個字符),否則它將在字典中添加一個初始計數為 1 的新條目
  • 然后我們遍歷文本變量中的每個字符,其中“i”代表一個單獨的字符,我們保存并運行我們的函數來計算它們
  • 最后,我們使用 OrderdedDict 導入按字母順序對字典進行排序

第4步:畫出來!

現在我們的數據集已創建,讓我們將其組織成軸并繪制它!

我們將創建一個列表來表示每個軸

num_list = []
char_list = []

這些列表將相互對應,因此如果 char_list 中的第 1 項是“a”,則 num_list 中的第 1 項將是相應的頻率。 讓我們也把它編碼出來。

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)

我們使用兩個變量循環遍歷我們創建的字典中的鍵/值對,然后將它們添加到我們的數據列表中。

最后讓我們使用 matplotlib 創建并保存這個條形圖。

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
  • 首先,我們創建一個新圖形。 圖為整體窗口
  • 向圖中添加繪圖
  • 使用我們選擇的數據添加條形圖
  • 下載圖片
  • 顯示圖像?

是時候測試它了!

使用下面的代碼運行您的文件,為我們的結果做好準備!

$ python3 wordcount.py

所以要回答我在文章開頭提出的問題,字母 e 在《了不起的蓋茨比》中被使用了超過 25,000 次! 哇!

結論

在本文結束時,我希望您對 matplotlib 和數據科學有所了解。

責任編輯:華軒 來源: 七爪網
相關推薦

2023-11-06 18:53:23

python視頻

2020-03-02 18:56:03

PythonGNU Octave編程語言

2020-07-16 15:20:37

MatplotlibPython可視化

2023-06-18 07:47:55

Linuxpipx

2022-10-08 08:36:02

UbuntuLinux語音識別

2022-11-08 11:49:09

NLP庫Python云服務

2021-03-15 21:50:22

Linux提取文本GUI工具

2021-12-26 22:57:57

Java開發深度學習

2017-07-04 16:00:16

PythonMatplotlib可視化工具

2017-07-27 09:49:37

Python工具Matplotlib

2024-12-24 12:00:00

Matplotlib可視化分析Python

2022-06-20 19:37:59

Python字符串HTML

2021-11-18 15:54:17

FreeDOSLinux

2019-09-26 06:50:16

Linux命令回車字符

2023-11-28 13:52:00

Python多進程多線程

2021-01-07 09:35:49

Pythontqdm進度

2011-04-20 09:37:59

amChartsWPF

2023-12-11 22:05:26

PythonMatplotlib繪圖庫

2012-05-09 10:35:36

JavaMEJava

2021-10-25 13:55:19

PythonmatplotlibPDF
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 中文字幕亚洲欧美日韩在线不卡 | 亚洲天堂二区 | 精品国产一区二区三区久久久久久 | 久草网址 | 国产一区影院 | 黄色激情毛片 | 视频1区2区 | 欧美电影在线观看网站 | 亚洲日本一区二区三区四区 | 亚洲精品自在在线观看 | 国产一级在线观看 | 国产精品久久精品 | 亚洲精品一二区 | 亚洲激情专区 | 国产精品久久一区二区三区 | 国产精品福利在线 | 久久机热 | h视频在线免费看 | 欧美vide| 在线视频中文字幕 | 国产在线91| 美女久久久 | 欧美高清一级片 | 精品福利在线 | 黄网免费 | 成人二区三区 | 日韩精品在线播放 | 日韩免费福利视频 | 欧美中文字幕一区二区三区亚洲 | 毛片免费看 | 91精品国产自产精品男人的天堂 | 久久亚洲经典 | 中文字幕在线观看第一页 | 国产a视频 | 欧美一区二区三区视频 | 丁香五月网久久综合 | 成人伊人| 色视频在线播放 | 久久视频免费看 | 青草福利 | www国产成人免费观看视频,深夜成人网 |