일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |
- Redshift
- SQL
- hive
- django
- Mac
- Google Spreadsheet
- Excel
- GIT
- numpy
- PostgreSQL
- list
- dataframe
- Tkinter
- Google Excel
- gas
- PANDAS
- matplotlib
- c#
- array
- Python
- string
- math
- Kotlin
- PySpark
- google apps script
- Java
- Github
- 파이썬
- Apache
- Today
- Total
달나라 노트
Python matplotlib : xticks, yticks (모든 x값 표시하기. 모든 y값 표시하기.) 본문
Python matplotlib : xticks, yticks (모든 x값 표시하기. 모든 y값 표시하기.)
CosmosProject 2022. 1. 14. 22:59
import matplotlib.pyplot as plt
list_x = []
for i in range(10):
list_x.append(i+1)
list_y = []
for i in list_x:
list_y.append(i + 10)
plt.plot(list_x, list_y,
color='skyblue',
marker='o', markerfacecolor='blue',
markersize=6)
plt.show()
위 코드를 실행해보면 그래프가 잘 그려집니다.
그래프에 찍힌 점을 보면 총 10개의 점이 있습니다.
각 점의 x좌표는 1, 2, 3, ... , 10 입니다.
근데 matplotlib는 그냥 대략적으로 알아서 x축 좌표를 생략하여 표시해줍니다.
그래서 위 그래프의 x축을 보면 2, 4, 6, 8, 10만 표시되어있고 그 사이의 값은 다 생략되어있죠.
y축도 마찬가지입니다.
12부터 2단위로 나타내져있죠.
사실 보통은 이렇게 생략된 그래프를 봐도 큰 문제는 없지만 간혹 모든 x값 또는 모든 y값을 나타내고싶을 때가 있습니다.
import matplotlib.pyplot as plt
list_x = []
for i in range(10):
list_x.append(i+1)
list_y = []
for i in list_x:
list_y.append(i + 10)
plt.plot(list_x, list_y,
color='skyblue',
marker='o', markerfacecolor='blue',
markersize=6)
plt.xticks(list_x)
plt.yticks(list_y)
plt.show()
사용법은 간단합니다.
plt.plot(list_x, list_y,
color='skyblue',
marker='o', markerfacecolor='blue',
markersize=6)
plt.xticks(list_x)
plt.yticks(list_y)
이 부분에서처럼 plot으로 그래프를 그린 후,
xticks method에 x좌표가 담긴 list를 전달해주면 전달한 list에 있는 값대로 x축이 표시됩니다.
yticks method에도 y좌표가 담긴 list를 전달해주면 전달한 list에 있는 값대로 y축이 표시됩니다.
list_x = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
list_y = [11, 12, 13, 14, 15, 16, 17, 18, 19, 20]
list_x와 list_y를 위 코드 내에서 print해보면 위와 같습니다.
list_x에 담긴 모든 값이 x좌표에 표시되었고
list_y에 담긴 모든 값이 y좌표에 표시되었죠.
import matplotlib.pyplot as plt
list_x = []
for i in range(10):
list_x.append(i+1)
list_y = []
for i in list_x:
list_y.append(i + 10)
plt.plot(list_x, list_y,
color='skyblue',
marker='o', markerfacecolor='blue',
markersize=6)
plt.xticks([1, 10])
plt.show()
plt.xticks([1, 10])
이번엔 xticks method에 최소 x값과 최대 x값만 list의 형태로 입력해줬습니다.
그래서 그 결과는 위처럼 x축에 1과 10만 표시되죠.
이렇게 x축 하나하나의 값이 거의 중요하지 않고 전체적인 경향성을 볼 때에는 그냥 x축의 최대/최소값만 보이도록 설정해서 간단한 그래프를 만들 수도 있습니다.
import matplotlib.pyplot as plt
list_x = []
for i in range(10):
list_x.append(i+1)
list_y = []
for i in list_x:
list_y.append(i + 10)
plt.plot(list_x, list_y,
color='skyblue',
marker='o', markerfacecolor='blue',
markersize=6)
plt.xticks([10, 11, 12, 13, 14, 15, 16, 17, 18, 19])
plt.yticks(list_y)
plt.show()
만약 xticks에 그래프에 있는 x값이 아닌 전혀 다른 x값들이 담긴 list를 전달하면 위처럼 나옵니다.
즉, xticks에 명시된 숫자들만 x축에 표시해주겠다 라는 의미로 보면 됩니다.
yticks도 마찬가지로 yticks에 전달된 list의 값들만 y축에 표시해주겠다 라는 의미입니다.