Matplotlib 예제코드: Horizontal Bar Chart(수평 막대그래프) 데이터 시각화
포스트 난이도: HOO_Junior
# Example Codes
import matplotlib.pyplot as plt
import numpy as np
fig, ax = plt.subplots()
locationName = ('Gangwon-do', 'Gyeonggi-do', 'Gyeongsangnam-do', 'Gyeongsangbuk-do', 'Busan-si')
y_hd = np.arange(len(locationName))
values = [13, 1, 19, 14, 3]
error = 0
ax.barh(y_hd, values, xerr=error, align='center')
ax.set_yticks(y_hd, labels=locationName)
ax.invert_yaxis()
ax.set_xlabel('Data')
ax.set_title('The Number of Harbor Data')
plt.show()
주어진 데이터나 산출된 값을 수평 막대 그래프(Horizontal bar plot)로 나타내고 싶다면 barh() function을 통해서 가능하다. matplotlib 라이브러리를 통해서 사용할 수 있는 barh() function은 yticks() function과 같이 사용되어 여러 개의 막대그래프를 수평으로 표현이 가능하다. 나머지 plot을 출력하는데 필요한 기능들은 다른 plot에서 사용하는 functions들을 참고하면 된다. 한마디로 막대그래프를 사용하고자 할 때 bar()를 사용할 것인지 barh()를 사용할 것인지에 대해서만 달리 한다면 수평 또는 수직 막대그래프를 쉽게 전환하여 Visualization이 가능하다.
또한 위에서 사용된 데이터의 경우에는 한글 파일로 구성이 되어 있고 한글 깨짐이 있기 때문에 데이터를 불러오는 과정에서 한글 깨짐이 발생하지 않도록 유의해야 한다. 가장 먼저 해볼 수 있는 방법으로는 엑셀과 텍스트 파일 자체의 유니코드를 변경해주는 방법이다. 이 경우에도 코드 자체에서 실행했을 때 한글 깨짐 문제가 지속적으로 발생한다면 encoding을 cp949로 설정해 주는 것도 고려해봐야 하는 부분이다. 한글 깨짐 문제를 참고할 수 있는 포스트는 아래 References 부분에 링크를 추가해 놓았으니 참고하길 바란다.
# References
https://www.bigdata-sea.kr/datasearch/base/view.do?prodId=PROD_000087
https://github.com/WhoisHOO/HOOAI/blob/main/Python%20Examples/matplotlib_216
https://whoishoo.tistory.com/410
https://whoishoo.tistory.com/214
https://whoishoo.tistory.com/215
'Python > Python Examples' 카테고리의 다른 글
[Python Examples] Growth of a Bacterial Populations: for loop, matplotlib, array (0) | 2023.09.15 |
---|---|
[Python Examples] 파이썬 문자열 사이에 문자열 추가하기 예제 코드 (0) | 2023.08.09 |
[Python Examples] 변수 선언하고 출력하기 예제 코드: myString, print() (0) | 2023.02.08 |
[Python Examples] 파이썬 타입 예제코드: type() (0) | 2023.01.13 |
[Python Examples] 리스트 예제 코드: 리스트에서 int와 string 구분하여 출력하기, #isinstance() (0) | 2023.01.13 |
댓글