다음 코드를 사용하여 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.xlabel
과 matplotlib.pyplot.ylabel
.
matplotlib.pyplot.xlabel
x 축 레이블을 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')