Python 및 Matplotlib를 사용하여 텍스트에 문자 그리기
이 문서의 목적은 Python으로 데이터 플로팅을 시작하는 데 도움을 주는 것입니다. 주어진 텍스트 파일의 문자 빈도를 표시하기 위해 막대 차트를 만듭니다. 이 경우 텍스트 파일에는 The Great Gatsby의 콘텐츠가 포함되어 있습니다.
1단계: 가상 환경 만들기
이 프로젝트의 환경은 더 작습니다. 가상 환경을 사용하면 컴퓨터의 나머지 부분에 영향을 주지 않고 작업 공간에 추가 기능을 추가할 수 있습니다!
디렉토리를 만들고 코드 편집기와 터미널(명령을 실행하는 곳)에서 엽니다.
실행해 봅시다:
$ python3 -m venv venv $ source venv/bin/activate
필요한 종속성을 설치할 수 있습니다.
$ pip3 install matplotlib
또한 read.txt와 wordcount.py라는 두 개의 파일을 생성합니다.
read.txt의 텍스트를 분석하기 위해 wordcount.py를 사용하겠습니다.
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()
- 먼저 그림 및 정렬 라이브러리를 가져옵니다
- 두 번째로 내장된 열기 기능을 사용하여 다음 작업을 위한 파일을 열 수 있습니다. reading Write
- 그런 다음 파일 안의 텍스트를 읽고 텍스트 변수에 저장합니다.
- 마지막으로 파일을 더 이상 사용하지 않으므로 파일을 닫습니다.
그게 바로 파일을 "읽고" 내용을 저장하는 것입니다. 변수에 필요한 모든 것.
3단계: 문자 분석
문자를 추적할 수 있는 가장 좋은 방법은 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()))
여기서 무슨 일이 일어났는지 요약해 보겠습니다.
- 먼저 빈 사전을 정의합니다
- 다음으로 def 키워드를 사용하여 함수를 정의합니다. 이 함수는 변수 "char"를 사용하여 공백(공백, 탭, 줄 바꿈)인지 확인합니다. isalpha()와 같은 다른 기준을 선택 항목에 추가하여 문자가 문자인지
- 확인한 다음 사전에 이미 있는지 확인할 수 있습니다. 사전에 있는 경우 값을 이전 값에 1을 더한 값으로 변경합니다(이 문자를 계산하므로). 그렇지 않으면 초기 개수가 1인 사전에 새 항목을 추가합니다.
- 그런 다음 텍스트 변수를 반복합니다. "i"가 별도의 문자를 나타내는 각 문자를 저장하고 함수를 실행하여 개수를 계산합니다.
- 마지막으로 OrderdedDict 가져오기를 사용하여 사전을 알파벳순으로 정렬합니다.
4단계: 그리기!
이제 데이터 세트가 생성되었으므로 이를 축으로 구성하고 플롯해 보겠습니다!
각 축을 대표하는 목록을 생성하겠습니다
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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

AI Hentai Generator
AI Hentai를 무료로 생성하십시오.

인기 기사

뜨거운 도구

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

뜨거운 주제











대부분의 텍스트 편집기를 사용하여 XML 파일을여십시오. 보다 직관적 인 트리 디스플레이가 필요한 경우 Oxygen XML 편집기 또는 XMLSPy와 같은 XML 편집기를 사용할 수 있습니다. 프로그램에서 XML 데이터를 처리하는 경우 프로그래밍 언어 (예 : Python) 및 XML 라이브러 (예 : XML.etree.elementtree)를 사용하여 구문 분석해야합니다.

모바일에는 간단하고 직접 무료 XML에서 PDF 툴이 없습니다. 필요한 데이터 시각화 프로세스에는 복잡한 데이터 이해 및 렌더링이 포함되며 시장에있는 소위 "무료"도구의 대부분은 경험이 좋지 않습니다. 컴퓨터 측 도구를 사용하거나 클라우드 서비스를 사용하거나보다 신뢰할 수있는 전환 효과를 얻기 위해 앱을 개발하는 것이 좋습니다.

XML을 PDF로 직접 변환하는 응용 프로그램은 근본적으로 다른 두 형식이므로 찾을 수 없습니다. XML은 데이터를 저장하는 데 사용되는 반면 PDF는 문서를 표시하는 데 사용됩니다. 변환을 완료하려면 Python 및 ReportLab과 같은 프로그래밍 언어 및 라이브러리를 사용하여 XML 데이터를 구문 분석하고 PDF 문서를 생성 할 수 있습니다.

XML 컨텐츠를 수정하려면 프로그래밍이 필요합니다. 대상 노드를 추가, 삭제, 수정 및 확인하려면 정확한 찾기가 필요하기 때문입니다. 프로그래밍 언어에는 XML을 처리하기위한 해당 라이브러리가 있으며 운영 데이터베이스와 같이 안전하고 효율적이며 제어 가능한 작업을 수행 할 수있는 API를 제공합니다.

XML 서식 도구는 규칙에 따라 코드를 입력하여 가독성과 이해를 향상시킬 수 있습니다. 도구를 선택할 때는 사용자 정의 기능, 특수 상황 처리, 성능 및 사용 편의성에주의하십시오. 일반적으로 사용되는 도구 유형에는 온라인 도구, IDE 플러그인 및 명령 줄 도구가 포함됩니다.

XML 미화는 합리적인 압입, 라인 브레이크 및 태그 구성을 포함하여 기본적으로 가독성을 향상시키고 있습니다. 원칙은 XML 트리를 가로 지르고 레벨에 따라 들여 쓰기를 추가하고 텍스트가 포함 된 빈 태그와 태그를 처리하는 것입니다. Python의 xml.etree.elementtree 라이브러리는 위의 미화 프로세스를 구현할 수있는 편리한 Pretty_XML () 기능을 제공합니다.

단일 애플리케이션으로 휴대 전화에서 직접 XML에서 PDF 변환을 완료하는 것은 불가능합니다. 두 단계를 통해 달성 할 수있는 클라우드 서비스를 사용해야합니다. 1. 클라우드에서 XML을 PDF로 변환하십시오. 2. 휴대 전화에서 변환 된 PDF 파일에 액세스하거나 다운로드하십시오.

휴대 전화에서 XML을 PDF로 직접 변환하는 것은 쉽지 않지만 클라우드 서비스를 통해 달성 할 수 있습니다. 가벼운 모바일 앱을 사용하여 XML 파일을 업로드하고 생성 된 PDF를 수신하고 클라우드 API로 변환하는 것이 좋습니다. Cloud API는 Serverless Computing Services를 사용하고 올바른 플랫폼을 선택하는 것이 중요합니다. XML 구문 분석 및 PDF 생성을 처리 할 때 복잡성, 오류 처리, 보안 및 최적화 전략을 고려해야합니다. 전체 프로세스에는 프론트 엔드 앱과 백엔드 API가 함께 작동해야하며 다양한 기술에 대한 이해가 필요합니다.
