반응형
다음 카운트 플롯에서 막대 위에 백분율을 어떻게 배치합니까?
import seaborn as sns
sns.set(style="darkgrid")
titanic = sns.load_dataset("titanic")
ax = sns.countplot(x="class", hue="who", data=titanic)
예를 들어 "First"의 경우 각 막대 위에 총 First men / total First, 총 First women / total First 및 총 First children / total First를 원합니다.
내 설명이 명확하지 않은 경우 알려주십시오.
감사!
해결 방법
sns.barplot
은 matplotlib.pyplot.bar
처럼 명시 적으로 barplot 값을 반환하지 않습니다 (마지막 단락 참조).하지만 아무것도 플로팅하지 않은 경우 위험 할 수 있습니다. 축의 모든 패치
가 값이라고 가정합니다. 그런 다음 barplot 함수가 계산 한 부분합을 사용할 수 있습니다.
from matplotlib.pyplot import show
import seaborn as sns
sns.set(style="darkgrid")
titanic = sns.load_dataset("titanic")
total = float(len(titanic)) # one person per row
#ax = sns.barplot(x="class", hue="who", data=titanic)
ax = sns.countplot(x="class", hue="who", data=titanic) # for Seaborn version 0.7 and more
for p in ax.patches:
height = p.get_height()
ax.text(p.get_x()+p.get_width()/2.,
height + 3,
'{:1.2f}'.format(height/total),
ha="center")
show()
생산하다
다른 접근 방식은 명시 적으로 하위 합계를 수행하는 것입니다. 훌륭한 pandas
를 사용하고 matplotlib
를 사용하여 플롯하고 스타일을 직접 지정합니다. ( matplotlib
플로팅 함수를 사용하는 경우에도 sns
컨텍스트에서 많은 스타일을 얻을 수 있습니다. 시도해보세요-)
참조 페이지 https://stackoverflow.com/questions/31749448
반응형
'파이썬' 카테고리의 다른 글
파이썬 목록 내에서 항목을 이동 하시겠습니까? (0) | 2020.11.21 |
---|---|
파이썬 Python으로 minidom으로 요소 값 가져 오기 (0) | 2020.11.20 |
파이썬 Pillow에서 열린 이미지를 닫으려면 어떻게하나요? (0) | 2020.11.20 |
파이썬 pip 설치 /usr/local/opt/python/bin/python2.7 : 잘못된 인터프리터 : 해당 파일 또는 디렉토리 없음 (0) | 2020.11.20 |
파이썬 수명이있는 Python 인 메모리 캐시 (0) | 2020.11.20 |
댓글