Seaborn Barplot의 레이블 축


125

다음 코드를 사용하여 Seaborn barplot에 내 레이블을 사용하려고합니다.

import pandas as pd
import seaborn as sns

fake = pd.DataFrame({'cat': ['red', 'green', 'blue'], 'val': [1, 2, 3]})
fig = sns.barplot(x = 'val', y = 'cat', 
                  data = fake, 
                  color = 'black')
fig.set_axis_labels('Colors', 'Values')

여기에 이미지 설명 입력

그러나 다음과 같은 오류가 발생합니다.

AttributeError: 'AxesSubplot' object has no attribute 'set_axis_labels'

무엇을 제공합니까?

답변:


235

Seaborn의 막대 그래프는 축 객체 (그림이 아님)를 반환합니다. 이는 다음을 수행 할 수 있음을 의미합니다.

import pandas as pd
import seaborn as sns
import matplotlib.pyplot as plt

fake = pd.DataFrame({'cat': ['red', 'green', 'blue'], 'val': [1, 2, 3]})
ax = sns.barplot(x = 'val', y = 'cat', 
              data = fake, 
              color = 'black')
ax.set(xlabel='common xlabel', ylabel='common ylabel')
plt.show()

2
seaborn이것들을 설정하는 자체 방법이 없습니다 matplotlib.
javadba

그래서 일반적인 규칙은 FacetGrid/ 패싯이 그림 객체를 반환하고 다른 모든 것은 축 객체를 반환하는 것입니다.
alexpghayes

27

하나는 피할 수 AttributeError에 의해 초래 set_axis_labels()를 사용하여 방법 matplotlib.pyplot.xlabelmatplotlib.pyplot.ylabel.

matplotlib.pyplot.xlabelx 축 레이블을 matplotlib.pyplot.ylabel설정하고는 현재 축의 y 축 레이블을 설정합니다.

솔루션 코드 :

import pandas as pd
import seaborn as sns
import matplotlib.pyplot as plt

fake = pd.DataFrame({'cat': ['red', 'green', 'blue'], 'val': [1, 2, 3]})
fig = sns.barplot(x = 'val', y = 'cat', data = fake, color = 'black')
plt.xlabel("Colors")
plt.ylabel("Values")
plt.title("Colors vs Values") # You can comment this line out if you don't need title
plt.show(fig)

출력 그림 :

여기에 이미지 설명 입력


13

다음과 같이 title 매개 변수를 추가하여 차트의 제목을 설정할 수도 있습니다.

ax.set(xlabel='common xlabel', ylabel='common ylabel', title='some title')
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.