[python] Seaborn Barplot의 레이블 축

다음 코드를 사용하여 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'

무엇을 제공합니까?



답변

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()


답변

하나는 피할 수 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)

출력 그림 :

여기에 이미지 설명 입력


답변

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

ax.set(xlabel='common xlabel', ylabel='common ylabel', title='some title')


답변