현재 시보를 사용하여 4 축에 걸쳐 여러 플롯을 플로팅하고 있습니다. 이렇게하기 위해 수동으로 nrows = 4를 선택한 다음 한 번에 4 개의 상자 그림을 실행합니다.python - N을 알 수없는 경우 N을 1로 플롯합니다.
import pandas as pd
import numpy as np
import seaborn as sns
%matplotlib inline
data=np.random.randn(1000)
label = ['A','B','C','D'] * 250
df = pd.DataFrame(
{'label': prod1,
'data': data
})
fig, (ax1, ax2, ax3, ax4) = plt.subplots(nrows=4, sharey=True)
fig.set_size_inches(12, 16)
sns.boxplot(data=df[df['label']=='A'], y='data', ax=ax1)
sns.boxplot(data=df[df['label']=='B'], y='data', ax=ax2)
sns.boxplot(data=df[df['label']=='C'], y='data', ax=ax3)
sns.boxplot(data=df[df['label']=='D'], y='data', ax=ax4)
그 다음, 플롯을 자동으로 라벨의 고유 번호를 인식하여 자동으로 축의 수를 만듭니다 그래서이 기능을 다시하고 싶은
.
아무도 내가 이것을 수행 할 수있는 방법을 알고 있습니까? 고맙습니다.
감사합니다. 위대한 작품! ax.ravel은 1 차원임을 보장합니다. 예를 들어, 2x2 플롯이라면 이것이 다를 필요가 있다는 것을 의미합니까? –
'ax.ravel()'을 사용하면'plt.subplots (nrows = 2, ncols = 2, sharey = True)'를 사용하면 코드가 을 변경할 필요가 없습니다. 이것이 단지'nrows = 4'만으로는 필요하지 않더라도'ax.ravel()'을 사용하는 이유입니다. – unutbu
감사합니다. 저건 완벽 해. –