저는 팬더 데이터 프레임을 사용하여 상자 플롯을 만들었으므로 같은 플롯에서 특정 값을 "X"(희망적으로 빨간색을 외칩니다)라고 표시하려고합니다.팬더를 사용하여 Boxplot의 특정 값을 표시하십시오.
일부 데이터 :
df = pd.DataFrame(
[
[2, 4, 5, 6, 1],
[4, 5, 6, 7, 2],
[5, 4, 5, 5, 1],
[10, 4, 7, 8, 2],
[9, 3, 4, 6, 2],
[3, 3, 4, 4, 1]
], columns=['a1', 'a2', 'a3', 'a4', 'b'])
mark_values = pd.DataFrame(
[
[2,1],
[8.25,2]
], columns=['a1', 'b'])
df_long = pd.melt(df, "b", var_name="a", value_name="c")
g = sns.boxplot(x='c', y='a', hue='b', data=df_long,
palette=sns.color_palette("Blues_d"), orient='h')
sns.despine(left=True)
이것은 상자 그림을 생성합니다. 이제 빨간색 십자 표시로 마커를 추가하고 싶습니다. 카테고리 a1, 하위 그룹 을 X가 "4"이고 서브 그룹이 이고 X가 "8.25"인 등으로 표시하고 내 상자 플롯을 유지합니다.
표시된 값은 위에 정의 된 데이터 프레임 mark_values
에서 정의하고 저장해야합니다. 예와 같이 :
mark_values
Out[1]:
a1 b
0 4.00 1
1 8.25 2
쉽게 해결할 수있는 방법이 있습니까?
감사 시본 이후
예, 그 작동,하지만 당신이 매우 구체적인되지 않을 것 곳으로하지만, 실제 마커 ... 'a3'에 마커를 넣고 싶다면 y- 값이 무엇인지 추측해야합니다. 권리? – gussilago
@ gussilago, 제 편집을 확인하십시오. 당신은'get_ylim()'으로 멋질 수 있습니다. 예를 들어'Y' 값을 범주 수로 나눠 그래프의 지점 추정치를 구합니다. 아마 더 우아한 방법이있을 수 있지만,이 테스트는 괜찮습니다. – MattR