0
seaborn 또는 다른 라이브러리를 사용하지 않고 matplotlib에 상자 그림을 그룹화하는 방법이 있습니까?그룹화 boxplots matplotlib
다음에서는 x 축을 따라 블록을 만들고 상태별로 그룹화 한 값을 표시하려고합니다 (따라서 16 개의 상자가 있습니다). seaborn의 색조 주장이 달성하는 것과 마찬가지입니다.
import pandas as pd
import matplotlib.pyplot as plt
import numpy as np
blocks = 4
conditions = 4
ndatapoints = blocks * conditions
blockcol = np.repeat(list(range(1, conditions+1)), blocks)
concol = np.repeat(np.arange(1, conditions+1, 1), blocks)
trialcol = np.arange(1, ndatapoints+1, 1)
valcol = np.random.normal(0, 1, ndatapoints)
raw_data = {'blocks': np.repeat(list(range(1, conditions+1)), blocks),
'condition': list(range(1, conditions+1))*blocks,
'trial': np.arange(1, ndatapoints+1, 1),
'value': np.random.normal(0, 1, ndatapoints)}
df = pd.DataFrame(raw_data)
df
blocks condition trial value
0 1 1 1 1.306146
1 1 2 2 -0.024201
2 1 3 3 -0.374561
3 1 4 4 -0.093366
4 2 1 5 -0.548427
5 2 2 6 -1.205077
6 2 3 7 0.617165
7 2 4 8 -0.239830
8 3 1 9 -0.876789
9 3 2 10 0.656436
10 3 3 11 -0.471325
11 3 4 12 -1.465787
12 4 1 13 -0.495308
13 4 2 14 -0.266914
14 4 3 15 -0.305884
15 4 4 16 0.546730
저는 예제를 찾을 수 없습니다.
를, 그것은 seaborn.factorplot'은 당신이 원하는 것처럼 들리는 달성'당신이 원하는 것을 정확히 알고 어렵지만, . –
그래, 그건 사실이야. 그건 내가 염두에 두었던거야. 그러나 나는 해저드없이 이것을 할 길을 원했다. – fffrost
matplotlib의 box plot 함수는'pos' arg를 취합니다. 이것은 x 축을 가로 지르는 각 상자 플롯의 위치의 시퀀스입니다. 당신은 자신을 계산해야합니다. –