사용자 정의 코드를 사용하여 막대 차트 그룹 레이블 지정
막대 차트에 그룹 레이블을 추가하려면 특히 다음과 같은 경우에 고려할 수 있는 한 가지 접근 방식이 있습니다. matplotlib의 기본 솔루션을 사용할 수 없으면 사용자 정의 함수를 만드는 것입니다. 방법은 다음과 같습니다.
def label_group_bar(ax, data): # Prepare data groups = mk_groups(data) xy = groups.pop() x, y = zip(*xy) ly = len(y) # Create bar chart xticks = range(1, ly + 1) ax.bar(xticks, y, align='center') ax.set_xticks(xticks) ax.set_xticklabels(x) ax.set_xlim(.5, ly + .5) ax.yaxis.grid(True) # Add lines for group separation scale = 1. / ly for pos in range(ly + 1): add_line(ax, pos * scale, -.1) # Add labels below groups ypos = -.2 while groups: group = groups.pop() pos = 0 for label, rpos in group: lxpos = (pos + .5 * rpos) * scale ax.text(lxpos, ypos, label, ha='center', transform=ax.transAxes) add_line(ax, pos * scale, ypos) pos += rpos add_line(ax, pos * scale, ypos) ypos -= .1
데이터 준비 및 라인 생성 처리:
# Extract data groups and prepare for custom function def mk_groups(data): ... # Create vertical line in plot def add_line(ax, xpos, ypos): ...
이 솔루션을 사용하려면:
# Import necessary modules import matplotlib.pyplot as plt # Sample data data = ... # Create plot and apply custom function fig = plt.figure() ax = fig.add_subplot(1,1,1) label_group_bar(ax, data) fig.subplots_adjust(bottom=0.3) fig.savefig('label_group_bar_example.png')
이 접근 방식을 사용하면 막대 차트에 그룹 레이블을 추가하여 데이터 시각화를 더욱 유익하게 만들 수 있습니다.
참고: 추가 고려 사항으로 더 최적화된 대체 솔루션을 환영합니다.
위 내용은 사용자 정의 코드를 사용하여 Matplotlib 막대 차트에 그룹 레이블을 어떻게 추가할 수 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!