그룹화 된 hvplot barchart에 레이블을 추가하려고합니다 .
내 예제 데이터 프레임의 구조는 다음과 같습니다.
import pandas as pd
import numpy as np
import holoviews as hv
import hvplot.pandas
hv.extension('bokeh')
df = pd.DataFrame({'A' : ['A','B','A','B','A','B'],
'B' : [1,1,2,2,3,3],
'C' : list((range(20,26)))
})
막대 차트는 다음 코드로 생성됩니다.
bar = df.hvplot.bar(x='B', y='C', by='A')
bar
나는에 따라 라벨을 추가하려고 이 와 이 SO 질문 :
labels = hv.Labels(data=df, kdims=['B','A'],vdims='C')
labels
그러나 두 플롯의 오버레이
bar * labels
치수가 나에게 동일한 것처럼 보이지만 오류가 발생합니다.
ValueError: all the input arrays must have same number of dimensions
:Overlay
.Bars.I :Bars [B,A] (C)
.Labels.I :Labels [B,A] (C)
솔루션에 대한 힌트를 주시면 감사하겠습니다. 감사합니다!
이것은 일반 막대 차트에서 가능하지만 불행히도 그룹화 된 막대 차트에서는 아직 불가능합니다. https://github.com/holoviz/holoviews/pull/3385
A 열에 카테고리별로 별도의 막대 차트를 만든 다음 레이블을 추가 할 수 있지만 그룹화 된 막대 차트는 없습니다.
def barplot_and_labels_category(category):
df_subset = df[df.A == category]
plot = df_subset.hvplot.bar(x='B', y='C', ylim=(0, 30))
labels = hv.Labels(
df_subset,
kdims=['B', 'C'],
vdims='C',
).opts(text_color='black', text_font_size='20pt')
return plot * labels
(barplot_and_labels_category('A') + barplot_and_labels_category('B')).cols(1)
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다