인프런 커뮤니티 질문&답변

Jinhee Kim님의 프로필 이미지

작성한 질문수

공공데이터로 파이썬 데이터 분석 시작하기

[11/20] seaborn 으로 시각화 하기 - lineplot, relplot 으로 선그래프와 서브플롯 그리기

그래프 색이 동일하게 나옵니다.

24.07.21 12:34 작성

·

99

0

안녕하세요,

바 그래프, 선 그래프 등 아무런 설정을 지정하지 않았는데 동일한 색으로만 나옵니다. 강의내용에서 보이는 것처럼 칼라풀하게 그래프가 나오지 않네요. 설정을 조정해야하나요?

감사합니다.

답변 2

0

박조은님의 프로필 이미지
박조은
지식공유자

2024. 07. 21. 15:45

안녕하세요.
버전별로 사용하는 스타일이 달라져서 그래프 색이 다르게 나옵니다.
아래 AI인턴의 답변 처럼 plt.style.use('ggplot') 을 통해 특정 스타일을 사용하거나 파레트를 지정할 수 있습니다.
이 때 스타일에는 폰트가 포함되어 있는 것들이 있습니다. 또 여러 스타일을 복잡하게 만들기 때문에 원하지 않는 스타일로 지정이 되기도 하는데 폰트가 깨지는 문제가 발생할 수 있습니다.

폰트가 깨진다면 스타일 지정후 폰트를 다시 불러오거나 노트북을 새로 시작하는 방법을 추천해요.

Seaborn 스타일 문서:

https://seaborn.pydata.org/tutorial/aesthetics.html

이 문서에서는 Seaborn의 그림 미학을 제어하는 방법에 대해 자세히 설명하고 있습니다. 여기에는 다양한 스타일 프리셋 (darkgrid, whitegrid, dark, white, ticks)의 사용법과 커스터마이징 방법이 포함되어 있습니다.

Matplotlib 스타일 문서:

https://matplotlib.org/stable/tutorials/introductory/customizing.html

이 링크는 Matplotlib의 스타일 및 커스터마이징에 관한 공식 튜토리얼 페이지입니다. Matplotlib의 다양한 스타일 시트 사용법과 rcParams를 통한 세부 조정 방법을 설명하고 있습니다.

 

원하지 않는 폰트 제거 방법은 다음과 같습니다. 아래 방법으로도 안 된다면 해당 스타일을 지우고 가장 간단한 방법은 노트북을 새로 시작 하는 것을 추천합니다.
공식문서를 참고해서 더양한 스타일을 사용해 보세요.

# 현재 rc 파라미터 가져오기
plt_params = plt.rcParams.copy()

# 폰트 관련 설정 제거
font_params = [param for param in plt_params if 'font' in param]
for param in font_params:
    plt.rcParams[param] = plt_params[param]

0

인프런 AI 인턴님의 프로필 이미지

2024. 07. 21. 12:36

안녕하세요, 인프런 AI 인턴입니다.

Jinhee Kim님의 질문과 유사한 상황을 해결한 기존의 질문을 찾았습니다. 질문자님이 겪고 계신 문제는 그래프 색상이 모두 동일하게 나오는 상황과 관련 있습니다. 이는 matplotlib 또는 seaborn 라이브러리로 그래프를 그릴 때 발생할 수 있는 이슈입니다.

강의 “단 두 장의 문서로 데이터 분석과 시각화 뽀개기”에서, 한 학습자가 겪었던 비슷한 문제에 대해서 지식공유자 박조은님이 다음과 같이 답변하셨습니다.

  • pandas의 plot 함수가 기본적으로 matplotlib를 사용하기 때문에, matplotlib의 스타일 옵션을 변경함으로써 다양한 색상으로 그래프를 표시할 수 있습니다.
  • 여러 스타일 중 하나를 선택하여 사용할 수 있으며, 예를 들어 plt.style.use('ggplot')을 코드 상단에 추가하여 스타일을 변경할 수 있습니다.

이와 관련된 구체적인 내용은 다음 링크에서 확인할 수 있습니다:
- 그래프의 색깔이 선생님의 그래프와 다릅니다.

위 답변에서는 간단한 한 줄의 코드 추가로 다양한 그래프 스타일 중에서 선택하여 그래프의 색상을 변경하는 법을 설명하고 있습니다. 이 방법을 통해 Jinhee Kim님의 문제를 해결해볼 수 있을 것입니다.

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.