더북(TheBook)

2

for i in range(len(weekday)):
    weekday[i] = -weekday[i]

plt.rc('font', family='Malgun Gothic')
plt.title('주중/주말 자동차 통행량 비교')
plt.rcParams['axes.unicode_minus'] = False
plt.barh(range(8), weekday, color='crimson', label='주중 통행량')
plt.barh(range(8), weekend, color='royalblue', label='주말 통행량')
plt.legend()
plt.show()

가로형 막대그래프 2개를 좌우로 비교하려면 오른쪽 그래프의 x축은 음수여야 합니다. 제시한 그래프에서는 주중 데이터가 음수이므로 반복문을 사용해 weekday 리스트의 모든 요소를 음수로 만듭니다. 그리고 - 기호를 화면에 표현하는 plt.rcParams['axes.unicode_minus'] = False를 추가합니다. 이 코드는 그래프를 그리기 전에 설정해야 하므로 plt.barh() 위에 추가합니다. 2개의 plt.barh()로 가로형 막대그래프를 그리고 plt.legend()로 범례를 표시한 다음, plt.show()로 그래프를 보여 줍니다.

 

3

plt.rc('font', family='Malgun Gothic')
plt.title('주중/주말 자동차 통행량 비교')
plt.boxplot([weekday, weekend], labels=['주중 통행량', '주말 통행량'])
plt.show()

weekdayweekend 리스트의 상자 수염 그림을 한 번에 그리려면 weekdayweekend를 묶어 이차원 리스트로 만들어야 합니다. 첫 번째 행이 weekday, 두 번째 행이 weekend인 이차원 리스트는 [weekday, weekend]가 되고, 이를 plt.boxplot()에 넣어 주면 됩니다. 그리고 labels 옵션을 추가해 각 상자 수염 그림에 라벨을 붙입니다.

본문으로

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.