이 문서의 목적은 Python으로 데이터 플로팅을 시작하는 데 도움을 주는 것입니다. 주어진 텍스트 파일의 문자 빈도를 표시하기 위해 막대 차트를 만듭니다. 이 경우 텍스트 파일에는 The Great Gatsby의 콘텐츠가 포함되어 있습니다.
이 프로젝트의 환경은 더 작습니다. 가상 환경을 사용하면 컴퓨터의 나머지 부분에 영향을 주지 않고 작업 공간에 추가 기능을 추가할 수 있습니다!
디렉토리를 만들고 코드 편집기와 터미널(명령을 실행하는 곳)에서 엽니다.
실행해 봅시다:
$ python3 -m venv venv $ source venv/bin/activate
필요한 종속성을 설치할 수 있습니다.
$ pip3 install matplotlib
또한 read.txt와 wordcount.py라는 두 개의 파일을 생성합니다.
read.txt의 텍스트를 분석하기 위해 wordcount.py를 사용하겠습니다.
비교적 간단하게 시작할 수 있습니다.
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()
그게 바로 파일을 "읽고" 내용을 저장하는 것입니다. 변수에 필요한 모든 것.
문자를 추적할 수 있는 가장 좋은 방법은 Python 사전(다른 프로그래밍 언어에서는 해시맵이라고 함)을 사용하는 것입니다.
사전은 데이터를 저장하는 매우 유용한 방법입니다. 실제 사전과 마찬가지로 정의를 보기 위해 볼 수 있는 "단어" 목록이 있습니다.
프로그래밍에서 이 개념은 "키/값" 쌍으로 일반화됩니다. 이는 사전을 설정할 수 있으며 사전에 "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()))
여기서 무슨 일이 일어났는지 요약해 보겠습니다.
이제 데이터 세트가 생성되었으므로 이를 축으로 구성하고 플롯해 보겠습니다!
각 축을 대표하는 목록을 생성하겠습니다
num_list = []
char_list = []
목록은 서로 대응하므로 char_list의 첫 번째 항목이 "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
글 시작 부분에서 제가 물었던 질문에 답하기 위해, The Great Gatsby에서는 문자 e가 25,000번 이상 사용되었습니다! 우와!
이 글을 마치며 matplotlib과 데이터 과학에 대한 이해를 얻으셨기를 바랍니다.
위 내용은 Python 및 Matplotlib를 사용하여 텍스트에 문자 그리기의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!