2학년 과목인 고체역학을 재수강 중인데, 마침 데이터로 그래프 그리는 문제가 나왔습니다. 파이썬을 활용해서 그려봅시다.
1. 엑셀에 데이터 입력 후 불러오기
문제의 데이터입니다. 이걸 토대로 물질이 Brittle 한지 Ductile 한지 판별하랍니다. 주피터로 직접 입력하면 머리 아프니까, 엑셀로 작성한 다음에 불러옵시다.
저는 Stress-strain.xlsx 라고 저장했습니다.
import pandas as pd
df=pd.read_excel('Stress-strain.xlsx')
df
잘 나옵니다. 사진이 길어서 아래는 생략했습니다.
2. plot() 을 이용해 그래프 그리기
df.plot()
점과 점 사이는 직선으로 이은 듯 합니다. y축은 잘 나왔는데 x축이 인덱스로 보입니다. x축을 strain으로 바꿔줍시다.
그리고 그래프를 조금 꾸며봅시다. 사용할만한 매개변수는 다음과 같습니다.
- x ,y : x축 데이터, y축 데이터 설정 (예: x= 'Strain')
- title : 그래프 제목
- xlabel, yabel : x축, y축 이름
- kind : 그래프 종류 ('line', 'bar', 'barh', 'box', 'pie' 등)
그래프 그리는데엔 Pandas 보다 matplotlib 같은 라이브러리륻 더 많이 사용하기 때문에, 여기선 간단한 것들만 적었습니다.
import numpy as np
%matplotlib inline
graph = df.plot(x='Strain',title = 'Ex.1.5', xlabel='strain', ylabel='stress')
graph.set_yticks(np.arange(0,80,8))
Numpy 를 활용해서 y축의 간격을 조절했습니다.
어쨌거나 이 물질은 Yielding 이나 Strain hardening 구간이 나타나지 않고 Elastic Region 에서 파단이 일어나는거 보니 Brittle 한 물질로 보입니다. (사실 그래프 보기엔 첫번째가 더 좋습니다. 역시 자동이 최고야.) 이런 경우에는 0.2% 오프셋으로 Yield Stress 를 판단하는데, 수식으로 그래프를 그릴 수 있는지 다음 포스팅에서 찾아보겠습니다.
0번째 데이터와 1번째 데이터를 활용해 탄성계수를 구해보면 2.3GPa 정도가 나옵니다.
이 그래프 위에 데이터 값도 적으면 좋을 것 같은데, 이것도 다음 포스팅해서 시도하겠습니다.
요즘 매일매일이 챌린지입니다. 화이팅 화이팅