Matplotlib을 사용하여 누적 차트와 원형 차트를 그리는 방법

爱喝马黛茶的安东尼
풀어 주다: 2019-06-04 15:42:45
앞으로
3513명이 탐색했습니다.

Matplotlib는 다양한 하드카피 형식과 다양한 플랫폼의 대화형 환경에서 출판 품질의 그래픽을 생성할 수 있는 Python 2D 플로팅 라이브러리입니다.

Matplotlib을 사용하여 누적 차트와 원형 차트를 그리는 방법

마지막 Matplotlib 데이터 시각화 튜토리얼에서는 막대형 차트, 히스토그램 및 산점도를 만드는 방법을 소개합니다. 오늘은 누적 차트와 원형 차트라는 두 가지 다른 유형의 차트를 소개합니다. 이 두 다이어그램은 매우 유사하므로 함께 소개합니다.

누적 차트

누적 차트는 시간에 따른 "부분과 전체"의 관계를 표시하는 데 사용됩니다. 누적 차트는 기본적으로 원형 차트와 유사하지만 시간이 지남에 따라 변경된다는 점만 다릅니다.

우리에게 하루가 24시간이고 시간을 어떻게 보내는지 알고 싶은 상황을 가정해 보겠습니다. 우리는 활동을 자고, 먹고, 일하고, 노는 것으로 나눕니다.

5일 동안 추적한다고 가정하므로 초기 데이터는 다음과 같습니다.

import matplotlib.pyplot as plt
days = [1,2,3,4,5]
sleeping = [7,8,6,11,7]
eating =   [2,3,4,3,2]
working =  [7,8,7,2,2]
playing =  [8,5,7,8,13]
로그인 후 복사

따라서 x축에는 일 변수인 1, 2, 3, 4 및 5. 그런 다음 날짜의 개별 구성 요소는 해당 활동에 보관됩니다. 다음과 같이 그려보세요:

plt.stackplot(days, sleeping,eating,working,playing, colors=['m','c','r','k'])
plt.xlabel('x')
plt.ylabel('y')
plt.title('Interesting Graph\nCheck it out')
plt.show()
로그인 후 복사

Matplotlib을 사용하여 누적 차트와 원형 차트를 그리는 방법

여기에서 우리가 시간을 어떻게 보내는지 적어도 색상으로는 볼 수 있습니다. 문제는 코드를 다시 보지 않으면 어떤 색상이 무엇인지 알 수 없다는 것입니다. 다음 문제는 다각형을 사용하면 실제로 데이터에 "라벨"을 추가할 수 없다는 것입니다. 따라서 단순한 선 이상의 채우기 또는 이와 같은 누적 다이어그램이 있는 곳에서는 본질적으로 특정 부분을 표시할 수 없습니다. 이것이 프로그래머를 멈추게 해서는 안 됩니다. 이 문제를 해결할 수 있습니다:

import matplotlib.pyplot as plt
days = [1,2,3,4,5]
sleeping = [7,8,6,11,7]
eating =   [2,3,4,3,2]
working =  [7,8,7,2,2]
playing =  [8,5,7,8,13]
plt.plot([],[],color='m', label='Sleeping', linewidth=5)
plt.plot([],[],color='c', label='Eating', linewidth=5)
plt.plot([],[],color='r', label='Working', linewidth=5)
plt.plot([],[],color='k', label='Playing', linewidth=5)
plt.stackplot(days, sleeping,eating,working,playing, colors=['m','c','r','k'])
plt.xlabel('x')
plt.ylabel('y')
plt.title('Interesting Graph\nCheck it out')
plt.legend()
plt.show()
로그인 후 복사

Matplotlib을 사용하여 누적 차트와 원형 차트를 그리는 방법

여기서 우리가 하는 일은 빈 행을 그리고 누적 플롯과 동일한 색상을 지정하고 올바르게 레이블을 지정하는 것입니다. 또한 범례에서 선이 더 넓게 표시되도록 선 너비를 5로 지정했습니다. 이제 우리는 어떻게 시간을 보내는지 쉽게 알 수 있습니다.

파이 차트

파이 차트는 특정 시점에 위치한다는 점을 제외하면 누적 차트와 매우 유사합니다. 일반적으로 원형 차트는 부분이 전체에 어떻게 기여하는지(보통 %) 표시하는 데 사용됩니다. 운 좋게도 Matplotlib는 슬라이스 크기와 모든 것을 처리하므로 숫자 값만 제공하면 됩니다.

import matplotlib.pyplot as plt
slices = [7,2,2,13]
activities = ['sleeping','eating','working','playing']
cols = ['c','m','r','b']
plt.pie(slices,
        labels=activities,
        colors=cols,
        startangle=90,
        shadow= True,
        explode=(0,0.1,0,0),
        autopct='%1.1f%%')
plt.title('Interesting Graph\nCheck it out')
plt.show()
로그인 후 복사

Matplotlib을 사용하여 누적 차트와 원형 차트를 그리는 방법

plt.pie에서는 각 부분의 상대적 크기인 "슬라이스"를 지정해야 합니다. 그런 다음 해당 조각에 대한 색상 목록을 지정합니다. 다음으로 그래픽의 "시작 각도"를 지정하도록 선택할 수 있습니다. 이를 통해 어디서든 그리기를 시작할 수 있습니다. 이 예에서는 원형 차트에 90도 각도를 선택했습니다. 이는 첫 번째 세그먼트가 수직선임을 의미합니다. 다음으로 도면에 문자 크기의 그림자를 추가할 수 있는 옵션이 있으며 분해를 사용하여 조각을 꺼낼 수도 있습니다.

총 4개의 슬라이스가 있으므로 폭발을 위해 슬라이스를 꺼내지 않으려면 0,0,0,0을 전달합니다. 첫 번째 조각을 가져오려면 0.1,0,0,0을 전달합니다.

마지막으로 autopct를 사용하여 차트에 백분율을 배치하도록 선택합니다.


위 내용은 Matplotlib을 사용하여 누적 차트와 원형 차트를 그리는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:csdn.net
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿