파이썬 차트 x축 단위 변환
684
4 asked

미니 프로젝트를 진행하고 있는데 다음과 같이 x축의 단위들이 저렇게 나옵니다.
변경하려고 하였는데도 잘 안되는데요 .. 어떤 코드를 추가하거나 수정 해야될지 질문 드립니다 ..
카테고리별 결제 금액 계산
category_amount = df_sorted.groupby(['월', '카테고리'])['비용'].sum().unstack()
# 누적 가로 막대 그래프 그리기
plt.figure(figsize=(20, 10)) # 그래프 크기 조정
category_amount.cumsum(axis=1).plot(kind='barh', stacked=True)
# y축 월 컬럼의 순서를 역순으로 변경
plt.gca().invert_yaxis()
plt.title('월별 카테고리별 누적 소비 금액', fontsize=15, fontweight='bold')
plt.ylabel('월')
plt.xlabel('누적 소비 금액')
plt.legend(title='카테고리', bbox_to_anchor=(1, 1))
plt.show()
Answer 1
0
안녕하세요, 인프런 AI 인턴입니다.
qud902님, 차트의 x축 단위를 변경하고 싶으시군요. x축이 과학적 표기법으로 나타나는 경우, 간단히 x축의 포맷을 변경함으로써 해결할 수 있습니다. 여러 방법 중 하나로 matplotlib.ticker의 FuncFormatter를 사용하는 것을 추천드립니다.
아래는 x축의 라벨을 백만 단위로 표시하기 위한 예제 코드입니다. 코드에 추가하셔서 사용해 보시기 바랍니다.
import matplotlib.pyplot as plt
import matplotlib.ticker as ticker
# 기존 코드...
plt.figure(figsize=(20, 10)) # 그래프 크기 조정
category_amount.cumsum(axis=1).plot(kind='barh', stacked=True)
plt.gca().invert_yaxis()
# x축 단위를 백만 단위로 변경
def millions_formatter(x, pos):
return '%1.1fM' % (x * 1e-6)
plt.gca().xaxis.set_major_formatter(ticker.FuncFormatter(millions_formatter))
plt.title('월별 카테고리별 누적 소비 금액', fontsize=15, fontweight='bold')
plt.ylabel('월')
plt.xlabel('누적 소비 금액')
plt.legend(title='카테고리', bbox_to_anchor=(1, 1))
plt.show()
이 코드는 x축의 값을 백만(M) 단위로 표시해줍니다. 차트에 나타난 1e6은 1,000,000을 의미하므로, 이를 1.0M 같은 형태로 보여주게 됩니다. 해당 예제를 참고하여 원하시는 대로 차트를 조정해 보시기 바랍니다.
새로운 개발환경 조합 Next.js + Supabase
0
86
2
아나콘다 윈도우즈 설치 시, 다른 설치만 보입니다.
0
377
2
강의용 Jupyter Notebook Source는 제공이 어렵나요?
0
184
2
[2-4 숲속의기사]
0
412
1
시트 이름 지정하려는데 title 명령이 안 먹혀요
0
384
1
return 과 print 질문
0
461
1
파이썬 구구단 코드 질문
0
546
1
tkinter에서 버튼 커맨드를 설정할 때 명령을 2개 넣을 수 있나요?
0
566
0
별건 아니지만 궁금한점
0
302
1
데이터 전체에 대한 수익률을 계산하고 싶은데 오류가 뜹니다
0
325
0
데이터 시각화 도구 소개와 한글폰트 설정 에러
1
2282
1
3:55분부터 이해가 안갑니다
0
273
0
아톰에서 script 패키지 검색 시 나오지 않습니다.
1
588
1
역인덱스 관련 질문입니다.
0
494
1
파이썬 기본개념
0
351
1
강의 봤을때는 키랑 몸무게 표현이 되는데 저는 아래 적은 코드인 몸무게만 나옵니다 ㅜㅜ
0
343
1
4.19일부터 시작하는 코딩테스트 스터디원 구합니다.
1
230
0
모듈화 과정에서 pylint 오류가 잔뜩나면서.. 직접 임포트를 하더라도 해결이 안되던데 왜그럴까요?
2
605
1
오류 나는 부분이 있어서 다시 질문 드립니다! 도와주세요! (join 로그인시 백지, 몽고db 이메일주소 null 표시)
2
255
1
회원가입 만들기 오류 문의 (AttributeError: 'Cursor' object has no attribute 'count') 오류
2
1291
1
Chapter6 인스턴스 및 네임스페이스
0
198
1
%f자릿수에 대해
0
215
1
파이썬 버전
0
345
1
배열 n+1 궁금합니다.
0
154
1

