파이썬의 Seaborn에서 legend의 라벨을 자유롭게 변경
10322 단어 파이썬matplotlib
이런 사람을 위한 기사
해결 방법
legend의 핸들을 설정하는 이하의 2행으로 간단하게 해결!
handler, label = ax.get_legend_handles_labels()
ax.legend(handler, ["label1", "label2"])
타이타닉 데이터를 이용한 플롯 예
데이터 다운로드
예로 titanic 데이터를 사용합니다.
titanic 데이터 세트는 여러 곳에서 설명됩니다. 예를 들면 아래 기사 등.
참고:「Titanic:타이타닉호 승객자의 생존 상황(연령이나 성별 등의 13항목)의 표 형식 데이터 세트」
htps //w w. 오 t r t. 이. jp / ai t / archi c0s / 2007/02 / 네 ws016. HTML
import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns
sns.set("talk")
df = sns.load_dataset('titanic')
df.head()
출력 결과는 이런 느낌.
승객 클래스별 연대 분포
여기에서는 pclass(여객 클래스)마다의 연대 분포를 플롯해 보겠습니다.
sns.violinplot(data=df, x='pclass', y='age')
그림을 보면 pclass3에서는 연대가 젊은 층이 많은 것을 알 수 있습니다.
더 깊은 해자,
「각 클래스의 연대 분포로 생사에 차이가 있었는지」
보고 싶습니다.
fig,ax=plt.subplots()
sns.violinplot(data=df, x='pclass', y='age',hue="alive",split=True, ax=ax)
ax.legend(loc='upper left',bbox_to_anchor=(1.05,1))
hue를 지정하면 violinplot을 두 가지로 나눌 수 있습니다.
범례는 쉽게 볼 수 있도록 그림 밖에 있습니다.
라벨 변경 (본제)
드디어 본제입니다. 여기서 신경이 쓰이는 것은 범례의 라벨.
no, yes에서는 나중에 보았을 때 무엇을 모르겠네요.
이것은 df의 alive 열의 내용 no/yes를 그대로 라벨에 지정하고 있기 때문입니다.
그래서 label의 핸들을 get해 직접 지정해 줍니다.
fig,ax=plt.subplots()
sns.violinplot(data=df, x='pclass', y='age',hue="alive",split=True, ax=ax)
ax.legend(loc='upper left',bbox_to_anchor=(1.05,1))
handler, label = ax.get_legend_handles_labels()
ax.legend(handler, ["dead","alive"],loc='upper left',bbox_to_anchor=(1.05,1))
무사히, 라벨이 dead/alive가 되어 나중에 봐도 생사에 차이가 없는지를 판별할 수 있군요.
그건 그렇고, 삶의 죽음으로 나누는 것으로 나타났습니다.
등 다양한 것을 알 수 있네요.
swarmplot 예제
물론 swarmplot에서도 마찬가지입니다.
fig,ax=plt.subplots()
sns.swarmplot(data=df, x='pclass', y='age',hue="alive",dodge=True, ax=ax)
ax.legend(loc='upper left',bbox_to_anchor=(1.05,1))
handler, label = ax.get_legend_handles_labels()
ax.legend(handler, ["dead","alive"],loc='upper left',bbox_to_anchor=(1.05,1))
요약
참고 기사
파이썬 : seaborn을 사용하여 시각화를 시도해보십시오 htps : // bg. 아메다마. jp / 엔트리 / 세아보 rn p pt
Reference
이 문제에 관하여(파이썬의 Seaborn에서 legend의 라벨을 자유롭게 변경), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/takuto512/items/66e1257a471a07e841c4
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
Reference
이 문제에 관하여(파이썬의 Seaborn에서 legend의 라벨을 자유롭게 변경), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/takuto512/items/66e1257a471a07e841c4텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)