Python에서 CSV 파일을 그래프로 변환하는 방법

프로그래머 개발 팀 개발 소프트웨어 회사 사무실에서 일하는 웹 사이트 디자인 및 코딩 기술

CSV 파일은 단순성과 이식성으로 인해 편리하지만 많은 양의 데이터를 표시하거나 분석하는 데 비효율적입니다. 그러나 데이터를 시각적으로 표시하지는 않습니다.

이미지 크레디트: SARINYAPINGAM/iStock/GettyImages

대부분의 데이터베이스 및 스프레드시트 응용 프로그램은 테이블 데이터를 CSV(쉼표로 구분된 값) 파일 형식으로 편리하게 출력할 수 있습니다. CSV 파일은 단순성과 이식성으로 인해 편리하지만 많은 양의 데이터를 표시하거나 분석하는 데는 비효율적입니다. 이 제한을 극복하기 위해 프로그래머는 Python 프로그래밍 언어와 matplotlib를 사용하여 플롯할 수 있습니다. CSV 파일에서 데이터를 가져와 웹 또는 인쇄에 적합한 읽기 쉽고 시각적으로 매력적인 그래프를 만듭니다. 출판.

CSV 데이터 플로팅 준비

실제로 Python에서 CSV 파일을 플롯하기 전에 필요한 모든 도구가 있는지 확인하고 테스트 파일을 생성해야 합니다. 여기에는 Python 및 필요한 라이브러리가 설치되고 두 개의 숫자 데이터 열이 포함된 CSV 파일이 포함됩니다.

오늘의 비디오

1단계: 테스트 파일 생성

먼저 텍스트 편집기를 열고 테스트를 위한 간단한 CSV 파일을 만듭니다. 샘플은 다음과 같습니다.

1,2 2,3 3,8 4,13 5,18 6,21 7,13 7.5,4 2.5,4.3

2단계: 필요한 라이브러리 가져오기

이제 다음 코드 줄을 사용하여 필요한 Python 라이브러리를 코드 파일로 가져올 준비가 되었습니다.

matplotlib.pyplot을 plt로 가져오기 csv 가져오기 시스템

CSV에서 Python으로 그래프 그리기

준비가 끝났으면 이제 실제로 Python을 사용하여 CSV 파일에서 그래프를 그릴 수 있습니다.

1단계: 리더 개체 만들기

CSV 파일을 열고 이 파일에서 판독기 개체를 만듭니다. 그래프의 x 및 y 축 값에 대한 상한 및 하한을 정의하는 변수를 선언합니다.

csv_reader = csv.reader(open('test.csv')) bigx = float(-sys.maxint -1) bigy = float(-sys.maxint -1) smallx = float(sys.maxint) smally = float(sys .maxint)

2단계: 행 반복

정점 배열의 정점으로 각 행을 저장하는 판독기 객체에 포함된 각 행을 반복합니다. 동일한 루프에서 상한과 하한을 저장하기 위해 x와 y 값을 비교합니다. 꼭짓점 배열을 정렬한 다음 다시 반복합니다. 이번에는 정렬된 x 및 y 값을 별도의 배열에 저장합니다.

csv_reader의 행에 대한 verts = []: float(row[0]) > bigx: bigx = float(row[0]) if float(row[1]) > bigy: bigy = float( row[1]) float (row[0]) < smallx: smallx = float(row[0]) if float (row[1]) < smally: smally = float (row[1]) verts.sort() x_arr = [] y_arr = [] for vert in vert: x_arr .append (vert[0]) y_arr.append (vert[1])

3단계: FigureCanvas 개체 만들기

가져온 matplotlib pyplot 개체를 사용하여 FigureCanvas 개체를 만듭니다. add_axes 함수를 호출하고 왼쪽, 아래쪽, 너비, 높이 형식의 값 배열을 전달하여 그래프의 축을 FigureCanvas에 추가합니다. 이 값은 그래프가 캔버스에서 배치되는 위치를 정의합니다. 범위는 0.0에서 1.0입니다.

fig = plt.Figure() ax = fig.add_axes([0.1, 0.1, 0.8, 0.8])

4단계: 그래프 서식 지정

레이블을 추가하고 각 축의 최소값과 최대값을 정의하여 그래프 형식을 지정합니다.

ax.set_xlabel('x 데이터') ax.set_ylabel('y 데이터') ax.set_xlim(smallx, bigx) ax.set_ylim(smally, bigy)

5단계: 그래프 플로팅

CSV 파일에서 검색된 x 및 y 값이 포함된 두 배열을 전달하여 그래프를 플로팅합니다. 선 색상(색상) 또는 선 너비(lw)와 같은 선택적 값을 전달하여 선 플롯을 사용자 정의합니다. show 메소드를 호출하여 창을 열고 savefig를 호출하여 디스크에 비트맵 파일을 생성하여 이미지를 저장하여 완성된 그래프를 표시합니다.

ax.plot (x_arr, y_arr, color='blue', lw=2) plt.show() fig.savefig('test.png')

파일에 대한 중요 고려 사항

Python 인터프리터가 읽을 수 있는 파일을 생성하려면 텍스트 전용 파일을 생성하는 ASCII 텍스트 또는 코드 편집기를 사용해야 합니다. 그래프 이미지를 png, pdf, ps 및 svg를 포함한 다양한 이미지 형식으로 저장할 수 있습니다.

Matplotlib 문서 참조

matplotlib 라이브러리 설치 및 기능의 일부 측면은 컴퓨터 플랫폼에 따라 다릅니다. 설명서를 주의 깊게 읽으십시오. 라이브러리는 다양한 방법으로 숫자 정보를 표시할 수 있으며 미세하게 사용자 정의할 수 있습니다. 능숙해지기 위해서는 문서를 철저히 읽어야 합니다.