일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- 리눅스
- flet
- lombok
- kotlin
- 자바암호
- Database
- 자바네트워크
- 코틀린
- GPT-4's answer
- 인프라
- JVM
- python
- 뉴턴역학
- Spring boot
- NIO
- Java
- write by GPT-4
- 역학
- 유닉스
- 고전역학
- chatGPT's answer
- GIT
- 웹 크롤링
- 파이썬
- 자바
- 소프트웨어공학
- 시스템
- oracle
- write by chatGPT
- android
- Today
- Total
Akashic Records
[추가자료] 9.3 데이터 시각화 Matplotlib - 직선, 점 그래프 본문
[추가자료] 9.3 데이터 시각화 Matplotlib - 직선, 점 그래프
Andrew's Akashic Records 2024. 6. 11. 17:19
직선 그래프 예제
import matplotlib.pyplot as plt
def draw_chart() :
"""직선 그래프 그려보기"""
input_values = [1,2,3,4,5]
squares = [1,4,9,16,25]
# 내장 스타일 지정
plt.style.use('seaborn-v0_8')
fig, ax = plt.subplots()
ax.plot(input_values, squares, linewidth=3)
# 그래프 타이틀을 지정하고 축에 이름표를 붙인다.
ax.set_title("Square Numbers", fontsize=24)
ax.set_xlabel("Value", fontsize=14)
ax.set_ylabel("Square of Value", fontsize=14)
# 틱 이름표 크기를 지정합니다.
ax.tick_params(labelsize=10)
plt.show()
if __name__ == '__main__':
draw_chart()
파이썬 코드는 matplotlib
라이브러리를 이용해 간단한 직선 그래프를 그리는 예제입니다. 코드의 핵심 부분과 기능을 상세하게 설명하겠습니다:
모듈 임포트:
import matplotlib.pyplot as plt
matplotlib.pyplot
은 데이터를 차트나 플롯으로 시각화하기 위한 주요 모듈입니다. 여기서 plt
라는 별칭으로 임포트해서 사용합니다.
데이터 설정:
input_values = [1,2,3,4,5]
squares = [1,4,9,16,25]
input_values
는 X 축의 값을 나타내고, squares
는 해당 X 값의 제곱 값을 Y 축에 나타냅니다.
스타일 설정:
plt.style.use('seaborn-v0_8')
matplotlib
의 seaborn-v0_8
스타일을 사용하여 그래프의 시각적 스타일을 설정합니다. seaborn
스타일은 깔끔하고 현대적인 디자인을 제공합니다.
그래프 초기화 및 데이터 플로팅:
fig, ax = plt.subplots()
ax.plot(input_values, squares, linewidth=3)
plt.subplots()
를 사용하여 그래프의 기본 틀(fig
)과 하위 플롯(ax
)을 생성합니다. ax.plot()
메서드를 이용해 input_values
와 squares
데이터를 그래프에 플로팅하며, linewidth=3
옵션은 선의 두께를 지정합니다.
타이틀 및 라벨 설정:
ax.set_title("Square Numbers", fontsize=24)
ax.set_xlabel("Value", fontsize=14)
ax.set_ylabel("Square of Value", fontsize=14)
ax.set_title()
는 그래프의 제목을 설정하며, fontsize=24
는 제목의 글자 크기를 지정합니다. ax.set_xlabel()
과 ax.set_ylabel()
은 각각 X 축과 Y 축의 라벨을 설정합니다.
눈금 설정:
ax.tick_params(labelsize=10)
ax.tick_params()
메서드는 축의 눈금 관련 설정을 할 수 있습니다. 여기서는 눈금의 라벨 크기를 10으로 설정합니다.
그래프 표시:
plt.show()
모든 설정 후 plt.show()
를 호출하여 최종적으로 그래프를 화면에 출력합니다.
선점 그래프 예시
import matplotlib.pyplot as plt
def draw_chart():
plt.style.use('seaborn-v0_8-dark')
fig, ax = plt.subplots()
# x_values = [1,2,3,4,5]
# y_values = [1,4,9,16,25]
x_values = range(1,1001)
y_values = [x**2 for x in x_values]
# s 인수는 그래프에 사용할 점의 크기
#ax.scatter(x_values, y_values, color='red', s=10)
# 컬러맵 설정
ax.scatter(x_values, y_values, c=y_values, cmap=plt.cm.Blues, s=10)
# 그래프 타이틀을 지정하고 축에 이름푤르 붙인다.
ax.set_title("Square Numbers", fontsize=24)
ax.set_xlabel("Value", fontsize=14)
ax.set_ylabel("Square of Value", fontsize=14)
# 틱 이름표 크기를 지정합니다.
ax.tick_params(labelsize=14)
# 각 축의 범위를 지정합니다.
ax.axis([0, 1100, 0, 1_100_000])
ax.ticklabel_format(style='plain')
# 이미지로 저장, 두번째 인수는 그래프에서 여분의 공백을 제거합니다.
#plt.savefig('squares_plot.png', bbox_inches='tight')
plt.show()
if __name__ == '__main__':
draw_chart()
이 코드는 matplotlib
라이브러리를 사용하여 점으로 표현된 그래프를 그리는 함수 draw_chart
를 정의하고 있습니다. 자세히 살펴보겠습니다:
모듈 임포트:
import matplotlib.pyplot as plt
matplotlib.pyplot
은 데이터 시각화를 위한 주요 도구로, 이 경우 plt
별칭을 사용하여 호출합니다.
스타일 설정:
plt.style.use('seaborn-v0_8-dark')
seaborn-v0_8-dark
스타일은 그래프에 어두운 테마를 적용합니다. 이 스타일은 선명한 대비를 제공하여 시각적으로 눈에 띄는 그래프를 만듭니다.
그래프 기본 설정:
fig, ax = plt.subplots()
plt.subplots()
를 사용하여 그래프의 틀(fig
)과 서브플롯(ax
)를 생성합니다.
데이터 생성:
x_values = range(1,1001)
y_values = [x**2 for x in x_values]
x_values
는 1부터 1000까지의 값들을 포함하며, y_values
는 x_values
의 각 값에 대해 제곱 값을 계산합니다. 이 데이터는 그래프에서 x와 y축의 값으로 사용됩니다.
점 그래프 설정:
ax.scatter(x_values, y_values, c=y_values, cmap=plt.cm.Blues, s=10)
ax.scatter()
메서드는 x와 y 값에 따라 점 그래프를 그립니다. 여기서는 각 점의 색을 해당 y 값에 따라 색상 맵(plt.cm.Blues
)으로 지정하고, 점의 크기는 10으로 설정합니다.
그래프 타이틀 및 축 라벨 설정:
ax.set_title("Square Numbers", fontsize=24)
ax.set_xlabel("Value", fontsize=14)
ax.set_ylabel("Square of Value", fontsize=14)
타이틀과 축 라벨을 설정하며, 폰트 크기를 조정하여 타이틀은 더 크게, 축 라벨은 적당히 크게 설정합니다.
눈금 설정:
ax.tick_params(labelsize=14)
축의 눈금 라벨 크기를 14로 설정합니다.
축 범위 설정:
ax.axis([0, 1100, 0, 1_100_000])
ax.ticklabel_format(style='plain')
축 범위를 명시적으로 설정하며, y축의 눈금 포맷을 'plain'으로 설정하여 큰 수를 간결하게 표현합니다.
그래프 출력 및 저장 (선택적):
plt.show()
# plt.savefig('squares_plot.png', bbox_inches='tight')
plt.show()
를 사용해 그래프를 화면에 표시합니다. 주석 처리된 plt.savefig()
메서드는 그래프를 이미지 파일로 저장할 수 있으며, bbox_inches='tight'
는 그래프 주변의 불필요한 여백을 제거합니다.
'Python for Beginners' 카테고리의 다른 글
[추가자료] 9.3 데이터 시각화 plotly- dice (주사위) (1) | 2024.06.13 |
---|---|
[추가자료] 9.3 데이터 시각화 Matplotlib - RandomWalk(무작위 이동) (1) | 2024.06.11 |
[파이썬 크래시 코스 예제] 외계인 침공 -최종 (1) | 2024.06.10 |
[파이썬 크래시 코스 예제] 외계인 침공 -2 (0) | 2024.06.07 |
[파이썬 크래시 코스 예제] 외계인 침공 -1 (0) | 2024.06.04 |