일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- matplotlib
- Apache
- c#
- Github
- SQL
- google apps script
- list
- Mac
- dataframe
- GIT
- django
- Google Excel
- Kotlin
- hive
- Google Spreadsheet
- gas
- string
- Java
- PostgreSQL
- PySpark
- math
- Excel
- Tkinter
- array
- Redshift
- numpy
- PANDAS
- Python
- 파이썬
- Today
- Total
달나라 노트
Python matplotlib : clf, cla (좌표평면 지우기, 그래프 지우기, clear) 본문
Python matplotlib : clf, cla (좌표평면 지우기, 그래프 지우기, clear)
CosmosProject 2022. 1. 19. 20:01
matplotlib에서는 clf, cla라는 method가 있습니다.
clf method는 clf method가 적용된 그래프의 figure를 지웁니다.
figure를 지운다고 하니까 좀 의미가 와닿지 않는데, 좀 더 간단하게 말하면 그래프 / 좌표평면 / title / x label / y label / xlim / ylim 등 모든걸 지운다고 보시면 됩니다.
cla method는 좌표평면을 제외한 내용을 지워줍니다.
따라서 cla method를 적용한 그래프에는 좌표평면만 남고 좌표평면 자체를 제외한 모든 것(그래프 / title / x label / y label / xlim / ylim 등)이 지워집니다.
import matplotlib.pyplot as plt
list_x = [0, 1, 2, 3, 4, 5]
list_y = [0, 1, 2, 3, 4, 5]
plt.plot(list_x, list_y)
plt.title('main')
plt.xlabel('x axis')
plt.xlabel('y axis')
plt.clf()
plt.show()
plot으로 그래프를 그리고 clf method를 적용하면 위처럼 아무 결과도 나오지 않습니다.
아무것도 보이지 않는 것 같지만 지금 위에 하얀색 바탕의 이미지가 삽입되어있습니다.
결과 화면에서 그래프와 좌표평면 모두가 지워졌기 때문에 아무것도 보이지 않습니다.
import matplotlib.pyplot as plt
list_x = [0, 1, 2, 3, 4, 5]
list_y = [0, 1, 2, 3, 4, 5]
plt.plot(list_x, list_y)
plt.title('main')
plt.xlabel('x axis')
plt.xlabel('y axis')
plt.cla()
plt.show()
plot으로 그래프를 그리고 cla method를 적용했더니 그래프, title, x label, y labal 등 좌표평면을 제외한 내용들이 사라졌습니다.
import matplotlib.pyplot as plt
sub_plots = plt.subplots(2, 1)
print(sub_plots)
fig = sub_plots[0]
graph = sub_plots[1]
list_x = [1, 2, 3, 4, 5]
list_y = [1, 2, 3, 4, 5]
graph[0].plot(list_x, list_y)
graph[0].set_title('plot 1')
graph[0].set_xlabel('x')
graph[0].set_ylabel('y')
list_x = [1, 2, 3, 4, 5]
list_y = [5, 1, 4, 3, 2]
graph[1].plot(list_x, list_y)
graph[1].set_title('plot 2')
graph[1].set_xlabel('x')
graph[1].set_ylabel('y')
graph[1].cla()
fig.suptitle('Multiple plots')
fig.tight_layout(pad=2)
plt.show()
cla method는 subplot에도 적용할 수 있습니다.
지금 보시면 위쪽과 아래쪽 좌표평면 모두에 대해 그래프를 그리고 subplot title, x label, y label 모두 설정하였으나
두 번째 그래프에 cla method를 적용하였더니 두 번째 그래프에 좌표평면만 남고 그 외의 모든 것(그래프, subplot title, x label y label 등)이 사라진 것을 볼 수 있습니다.
import matplotlib.pyplot as plt
sub_plots = plt.subplots(2, 1)
print(sub_plots)
fig = sub_plots[0]
graph = sub_plots[1]
list_x = [1, 2, 3, 4, 5]
list_y = [1, 2, 3, 4, 5]
graph[0].plot(list_x, list_y)
graph[0].set_title('plot 1')
graph[0].set_xlabel('x')
graph[0].set_ylabel('y')
list_x = [1, 2, 3, 4, 5]
list_y = [5, 1, 4, 3, 2]
graph[1].plot(list_x, list_y)
graph[1].set_title('plot 2')
graph[1].set_xlabel('x')
graph[1].set_ylabel('y')
fig.suptitle('Multiple plots')
fig.tight_layout(pad=2)
plt.clf()
plt.show()
반면에 clf method를 적용하면 모든 subplot들의 모든걸 삭제합니다.
(clf method는 subplot 중 하나에만 적용할 수 없습니다.)
'Python > Python matplotlib' 카테고리의 다른 글
Python matplotlib : hist (histogram, 히스토그램, 개수분포) (0) | 2022.01.23 |
---|---|
Python matplotlib : scatter (점 그래프, 점 그래프 그리기) (0) | 2022.01.22 |
Python matplotlib : subplots (여러 개의 그래프 한 번에 그리기, 여러 개의 그래프 나타내기, 여러 좌표 동시에 나타내기) (0) | 2022.01.19 |
Python matplotlib : legend (범례 표시, 범례 표시하기, 항목 표시하기) (0) | 2022.01.17 |
Python matplotlib : pie (matplotlib로 pie 차트 그리기, pie chart, matplotlib pie chart) (0) | 2022.01.17 |