반응형

파이썬(Python) matplotlib 선 그래프에서 포인트 모양 변경, 선 색, 선 종류 변경

 

 

1. 목표

  • matplotlib에서 각 데이터 포인트의 표시 모양을 변경

  • 선 그래프에서 선 색상 변경하기

  • 선 그래프에서 선 종류 변경하기

  • numpy의 arange 사용하기

 

2. 전체 코드

import matplotlib.pyplot as plt
import numpy as np

plt.title('Chapter 02')
plt.ylabel('Y axis')
plt.xlabel('X axis')

t = np.arange(0.0, 5.0, 0.2)
print(t)
print(type(t))

plt.plot(t, t, 'r--', t, t**2, 'bs', t, t**3, 'g^')

plt.show()

 

 

3. 뜯어 보기

import numpy as np
  • numpy를 import한다

  • 아래에서 사용될 arange(0.0, 5.0, 0.2)를 사용하기위해 import한다.

t = np.arange(0., 5., 0.2)
  • numpy를 이용하여 [0, 0.2, 0.4 ..... 4.6,, 4.8]의 값을 만든다.

  • aa = [i / 10 for i in range(1,50,1)] 로 대체해서 쓸 수 있다.

    • 단 부동소수점 문제가 생길 수 있다.

plt.plot(t, t, 'r--', t, t**2, 'bs', t, t**3, 'g^')
  • 3개의 그래프를 그린다

    • t, t, 'r--'

      • t값을 x축, y축 값으로 삼아서 그래프를 그린다.

      • 'r'은 선의 색 Red를 뜻한다.

      • '--' 대쉬선 (점선)을 뜻한다.

    • t, t**2, 'bs'

      • t값을 x축, t**2값(t의 2제곱)을 y축 값으로 그래프를 그린다.

      • 'b'는 선의 색 blue를 뜻한다.

      • 's'는 squrae의 약자로 각 포인트를 사각 점으로 표시한다.

    • t, t**3, 'g^'

      • t값을 x축 t**3(t의 3제곱)을 y축 값으로 그래프를 그린다.

      • 'g'는 선의 색 green을 뜻한다.

      • '^'는 삼각형 모양으로 각 포인트를 표시한다.

plt.show()
  • 위에서 그린 그래프를 출력한다.

 

4. 결과

반응형
반응형

파이썬(python) matplotlib로 차트 그리기

 

 

1. 목표

  • 기본적인 선 그래프(line chart) 그리기

  • 차트 제목(타이틀) 입력하기

  • X축, Y축 타이틀 입력하기

 

2. 전체 코드

import matplotlib.pyplot as plt

plt.plot([1,2,5,4])

plt.title('chapter 01')
plt.ylabel('Y axis')
plt.xlabel('X axis')

plt.show()

 

3. 뜯어보기

import matplotlib.pyplot as plt
  • matplotlib.pyplotd을 import한다

plt.plot([1,2,5,4])
  • 선을 그릴 데이터를 입력한다.

  • y축의 값으로 1,2,5,4를 입력한다.

  • x축은 1,2,3,4로 순서대로 자동 입력된다.

plt.title('chapter 01')
plt.ylabel('Y axis')
plt.xlabel('X axis')
  • plt.title로 차트 전체의 제목을 달아준다.

  • ylabel, xlabel은 각 축에 맞춰 축 이름이 붙는다.

4. 결과

 

반응형
반응형

파이썬 Join() 함수 사용법

 

 

1. 사용 목적

  • 리스트에 있는 항목을 합칠 때 사용

  • 합치는 중간에 문자를 넣어 합치는 것이 가능하다.

 

2. 사용법

a = ['H', 'e', 'l', 'l', 'o']

print(''.join(a))

print('-'.join(a))

 

3. 결과

print(''.join(a))
  • 리스트 a의 값을 ''(아무것도 없음)을 이용하여 하나의 문자열(string)로 합친다.

  • 매개 변수로는 합칠 리스트를 넣어준다.

  • 리스트의 각 항복 사이 사이에 따옴표 사이값을 넣어 합친다.

  • 결과 : Hello

print('-'.join(a))
  • '-'를 넣어 하나의 문자열(string)으로 합친다.

  • 결과 : H-e-l-l-o

반응형

'Phython > python 함수' 카테고리의 다른 글

파이썬(Python) 01. Split() 함수  (0) 2021.03.02
반응형

파이썬 split()함수 정리

 

 

1. 사용 목적

  • 문자열을 기준에 맞춰 자르기 위해 사용한다

  • 결과 값은 리스트 형태로 저장된다

 

2. 사용법

a = 'US Expresses Concern Over Cambodia Internet Controls'

print(a.split())
print(a.split(' '))

print(a.split('O'))

print(a.split(maxsplit=5))

 

3. 결과

print(a.split())
print(a.split(' '))
  • 'a'에 있는 문자열을 공백 기준(=스페이스)으로 나눈다 (위의 두개의 split()문은 같은 결과를 나타낸다.

  • 결과 : ['US', 'Expresses', 'Concern', 'Over', 'Cambodia', 'Internet', 'Controls']

print(a.split('O'))
  • 'a.split('O')'를 사용할 경우 알파벳 'O'를 기준으로 앞부분과 뒷부분으로 나뉜다.

  • 기준인 알파벳'O'는 기준 역할을 하고 사라진다.

  • 결과 : ['US Expresses Concern ', 'ver Cambodia Internet Controls']

print(a.split(maxsplit=5))
  • split()에 'maxsplit='이란 매개변수를 이용하면 최대 분할되는 개수를 지정할 수 있다.

  • 위의 구문에선 공백을 기준으로 분할되어 7개의 항목이어야 하지만 매개변수로 인해 앞에서 부터 5번 분할한다

    • 0인경우 분할횟수가 0번이므로 1개, 5인 경우 5번 분할하여 6개가 출력된다.

  • 결과 : ['US', 'Expresses', 'Concern', 'Over', 'Cambodia', 'Internet Controls']

반응형

'Phython > python 함수' 카테고리의 다른 글

파이썬(Python) 02. Join() 함수 사용법  (0) 2021.03.02
반응형

파이썬으로 엑셀 셀 테두리 설정, 셀 크기 설정하기

 

 

1. 목표

  • 셀 테두리 설정

  • 셀 크기 설정

 

2. 전체 코드

import openpyxl as oxl
from openpyxl.styles import Border

wb = oxl.Workbook()
ws = wb.active

ws['A1'].border = Border(left=borders.Side(style='thin'))

for i in range(1,5,1):
    for j in range(1,5,1):
        ws.cell(row=i, column=j, value=i*j).border = Border(right=borders.Side(style='thin'))
        
ws.column_dimensions['A'].width = 30
ws.row_dimensions[1].height = 30

wb.save('test055.xlsx')

 

3. 뜯어보기

import openpyxl as oxl
from openpyxl.styles import Border
  • from openpyxl.styles import Border 를 import 해서 테두리 설정을 한다.

ws['A1'].border = Border(left=borders.Side(style='thin'))

for i in range(1,5,1):
    for j in range(1,5,1):
        ws.cell(row=i, column=j, value=i*j).border = Border(right=borders.Side(style='thin'))
  • 원하는 셀에 '.border'와 'Border()'를 이용해 테두리를 설정한다.

    • left= / right= / top= / bottom= 설정 가능

    • borders.Side(style="스타일")을 이용하여 선 종류 선택

      • dashDot

      • dashDotDot

      • dashed

      • dotted

      • double

      • hair

      • medium

      • mediumDashDot

      • mediumDashDotDot

      • mediumDashed

      • slantDashDot

      • thick

      • thin

  • 반복문 for를 이용하여 셀의 값을 넣고 테두리를 설정 할 수 있다.

ws.column_dimensions['A'].width = 30
ws.row_dimensions[1].height = 30
  • 셀의 크기를 설정한다.

    • column_dimensions[]에는 셀 주소의 앞부분 알파벳만 들어 갈 수 있다.

    • row_dimensions[]에는 셀 주소의 뒷부분인 숫자만 들어 갈 수 있다.

반응형
반응형

파이썬으로 엑셀 셀 병합, 해제와 셀 정렬 설정하기

 

 

1. 목표

  • 셀 병합하기

  • 셀 병합 해제하기

  • 셀 값 정렬

 

2. 전체 코드

import openpyxl as oxl
from openpyxl.styles import Font, Alignment

wb = oxl.Workbook()
ws = wb.active

ws.merge_cells('A1:D1')
ws.merge_cells(2,1,2,4)
ws.unmerge_cells('A2:D2')

ws['A1'] = 123
ws['A1'].font = Font(size=35)

ws['A1'].alignment = Alignment(horizontal='center', vertical='bottom')

wb.save('test04.xlsx')

 

3. 뜯어 보기

import openpyxl as oxl
from openpyxl.styles import Font, Alignment
  • from openpyxl.styles import Font, Alignment 을 import 한다.

    • Alignment 를 import하여 정렬 기능을 사용

    • Alignment와 alignments,  Font와 fonts는 다르니 주의

ws.merge_cells('A1:D1')
ws.merge_cells(2,1,2,4)
ws.unmerge_cells('A2:D2')
  • '.merge_cells('시작셀 주소', '마지막 셀 주소')'를 이용하여 셀을 병합한다.

    • 첫번째 처럼 엑셀의 셀 주소로 병합 가능

    • 두번째 처럼 각 셀의 인덱스값으로도 병합 가능

      • ex) ws.merge_cells(2,1,2,4) 는 2행 1열셀(셀 주소 A2)부터 2행 4열셀(셀 주소 D2)까지 병합

  • '.merge_cells()을 이용하여 병합을 해제한다.

ws['A1'] = 123
ws['A1'].font = Font(size=35)

ws['A1'].alignment = Alignment(horizontal='center', vertical='bottom')

 

  • 위에서 병합된 셀(A1부터 D1)에 값을 넣거나 폰트를 변경할 때는 첫번째 셀을 기준으로 한다.

  • 셀의 정렬을 변경할땐 '.Alignment'와 'Alignment()'를 사용하며 가로방향 정렬과 세로방향 정렬을 설정 할 수 있다.)

반응형
반응형

파이썬으로 셀에 값, 함수를 넣고 폰트, 굵게, 기울임, 취소선, 색상, 밑줄 넣기

 

 

1. 목표

  • 셀에 값 넣기

  • 셀에 함수 넣기

  • 셀의 폰트, 굵게, 기울임, 취소선, 색상 밑줄 넣기

 

 

2. 전체 코드

import openpyxl as oxl
from openpyxl.styles import Font, Color

wb = oxl.Workbook()
ws = wb.active

ws["a1"] = 123
ws["a2"] = 456
ws["a3"] = "=sum(a1:a2)"

font1 = ws["a1"]
ft = Font(name="맑은고딕", color='ffe666', size=25, bold=True, italic=True, strikethrough=True, underline='single')
font1.font = ft

wb.save(filename="test03.xlsx")

 

3. 뜯어 보기

import openpyxl as oxl
from openpyxl.styles import Font, Color
  • from openpyxl.styles import Font, Color를 import한다.

    • 셀의 폰트, 색상을 바꿀때 사용된다.

wb = oxl.Workbook()
ws = wb.active

ws["a1"] = 123
ws["a2"] = 456
ws["a3"] = "=sum(a1:a2)"
  • ws = wb.active 는 엑셀파일을 열었을때 열리는 시트를 선택할때 사용된다.

    • ex) 엑셀에서 'sheet1', 'sheet2', 'sheet3'이 있을때 마지막 저장시 'sheet2'를 열고 저장

           이 경우 다음번 엑셀 파일을 열때 'sheet2'가 열리게 된다.

           wb.active 도 엑셀 파일을 열때 보이는 시트는 선택하는 기능이다.

  • ws["a1"] 등을 이용하여 숫자, 문자등을 넣을 수 있다.

    • 셀 주소는 엑셀의 셀 주소를 따라간다.

    • 하나의 셀은 지정이 가능하나 범위 지정은 불가하다.

    • '.value'를 붙여 값을 확인 할 수 있다. (ex. print(ws["a2"].value) => 456)

  • ws["a3"] = "=sum(a1:a2)" 처럼 함수도 똑같이 입력 가능하다.

    • print(ws["a3"].value) 로 보게되면 숫자가 더해진값 579가 아닌 '=sum(a1:a2:)' 가 출력된다.

font1 = ws["a1"]
ft = Font(name="맑은고딕", color='ffe666', size=25, bold=True, italic=True, strikethrough=True, underline='single')
font1.font = ft
  • Font()를 이용하여 폰트를 설정한다.

    • name = 폰트명

    • colort = hex 색상코드

    • size = 정수

    • bold = True / False (굵게)

    • italic = True / False (기울이기)

    • strikethrough = True / False  (취소선)

    • underline = 'single'  (밑줄)

  • 위에서 처럼 셀을 font1에 할당하고 폰트 설정을 ft에 할당하여 사용해도 되고 다이렉트로 입력해도 무관하다.

    • ws["a1"].Font(name="맑은고딕", color='ffe666'size=25bold=Trueitalic=True ...)

 

반응형
반응형

파이썬으로 워크시트 생성, 이동, 인덱스로 접근하는 방법

 

 

1. 목표

  • 워크시트를 원하는 순서에 생성

  • 워크시트 이름을 이용해 n번째 워크시트에 접근

  • 워크시트의 위치를 옮기기

 

2. 전체코드

import openpyxl as oxl

wb = oxl.Workbook()

ws_name = wb.get_sheet_names()
print(ws_name)
print(type(ws_name))

ws = wb[str(ws_name[0])]
ws.title = "test"

wb.create_sheet("1234", 0)
print(wb.get_sheet_names())

wb.move_sheet('test',-1)
print(wb.get_sheet_names())

wb.save(filename="test02.xlsx")

 

3. 뜯어보기

ws_name = wb.get_sheet_names()
print(ws_name)
print(type(ws_name))

ws = wb[str(ws_name[0])]
ws.title = "test"
  • ws_name에 현재 워크북에 있는 시트들의 이름을 할당하여 화면에 출력한다

    • 현재 새로 만든 워크북이기에 기본값인 "Sheet"라는 이름의 워크시트가 있다.

    • print(type(ws_name))을 이용해 타입을 확인하면 리스트 형태로 출력되는 것을 확인 할 수 있다.

  • ws = wb[str(ws_name[0])] 으로 워크시트 이름중 0번(형식이 리스트이기에 첫번째 리스트)을 ws에 할당한다

  • ws.title = 'test' 로  첫번째 워크시트의 이름이 'Sheet'에서 'test'로 바뀐다.

wb.create_sheet("1234", 0)
print(wb.get_sheet_names())

wb.move_sheet('test',-1)
print(wb.get_sheet_names())
  • '1234'라는 워크시트를 맨 앞에 생성한다.

    • print(wb.get_sheet_names()) 의 결과 ['1234', 'test']가 출력된다.

  • wb.move_sheet('test', -1)를 이용하여 'test'시트의 위치를 -1만큼 이동한다.

    • 컴마(,)뒤에오는 숫자는 현재 위치에서 좌측이면 -값, 뒤면 +값을 쓴다.

 

반응형

+ Recent posts