Matplotlib 시각 화 추가 로 통계 도 를 쉽게 설명 합 니 다.

머리말
시리즈 박문 에서 우 리 는 그림 의 색채 와 스타일 을 어떻게 사용자 정의 하여 더욱 아름 답 고 심미 적 요구 에 부합 하도록 하 는 지 배 웠 다.Matplotlib 로 복잡 하고 아름 다운 통계 도 를 그 릴 수 있 습 니 다.그러나 주석 이 없 으 면 우 리 는 그림 속 의 점,선 이 무엇 을 대표 하 는 지,어떤 의미 가 있 는 지 다른 사람 에 게 알 리 기 어렵 고 통계 도의 의 미 를 잃 습 니 다.이 문 제 를 해결 하기 위해 Matplotlib 는 도형 에 대해 주석 을 달 수 있 는 방법 을 대량으로 제공 합 니 다.이러한 주석 방법 은 모든 그림 함수(예 를 들 어plt.plot()、plt.scatter()、plt.histogram() 에 대해 통용 되 며,이러한 주석 을 이용 하면 통계 도 를 쉽게 이해 할 수 있다.
2.제목 추가
가장 간단 한 제목 추가 부터:

import numpy as np
import matplotlib.pyplot as plt
x = np.linspace(-4, 4, 10005)
y = 5 * (x + 4.2) * (x + 4.) * (x - 2.5)
plt.title('A polynomial')
plt.plot(x, y, c = 'm')
plt.show()
添加标题 Tips: plt.title() 。3.좌표 축 에 라벨 추가
실제 응용 에서 통계 도 좌표 축 에 대한 적당 한 묘 사 는 사용자 가 도형 이 표현 하 는 의 미 를 이해 하 는 데 도움 이 된다.

import numpy as np
import matplotlib.pyplot as plt
x = np.linspace(0, 8, 1000)
y = 2.0 * x + 0.5 * 5 * x ** 2
plt.title('Acceleration Moving')
plt.xlabel('Time')
plt.ylabel('distance')
plt.plot(x, y, c = 'c')
plt.show()
为坐标轴添加标签 Tips: plt.xlabel() plt.ylabel() 。4.텍스트 설명 추가
비록 우 리 는 도형 에 제목 을 추가 하고 좌표 축 에 주석 을 추가 하 는 방법 을 배 웠 지만 도형 에 설명 텍스트 를 추가 하여 그림 의 중심 점 이나 선의 중요성 을 돋 보이 게 해 야 할 때 가 많다.

import numpy as np
import matplotlib.pyplot as plt
x = np.linspace(0, 8, 1000)
y = 2.0 * x + 0.5 * 5 * x ** 2
plt.title('Acceleration Moving')
plt.xlabel('Time')
plt.ylabel('distance')
plt.scatter(x[0],y[0])
plt.text(x[0], y[0], 'start')
plt.plot(x, y, c = 'c')
plt.show()
添加说明文本 Tips:plt.text() 。 , 。5.텍스트 정렬 방식
텍스트 외곽 에는 암시 적 텍스트 상자(텍스트 상자 의 표시 방법 을 소개 합 니 다)가 포함 되 어 있 습 니 다.이 상 자 는 텍스트 를 전달 하 는 좌표 와 상대 적 으로 정렬 하 는 데 사 용 됩 니 다.plt.text()verticalalignment매개 변 수 를 사용 합 니 다.
수직 정렬 옵션 은 다음 과 같 습 니 다.
매개 변수 값
설명 하 다.
center
매개 변수 좌표 가 텍스트 상자 의 중심 에 비해
top
매개 변수 좌 표 는 텍스트 상자 의 위쪽 에 있 습 니 다.
bottom
매개 변수 좌 표 는 텍스트 상자 의 아래쪽 에 있 습 니 다.
baseline
매개 변수 좌 표 는 텍스트 의 기선 에 비해

import numpy as np
import matplotlib.pyplot as plt
x = np.linspace(0, 8, 1000)
y = 2.0 * x + 0.5 * 5 * x ** 2
x_b = np.linspace(0, 8, 1000)
y_b = np.zeros_like(x_b)
plt.title('Acceleration Moving')
plt.xlabel('Time')
plt.ylabel('distance')
plt.scatter(x[0],y[0])
plt.text(0, 0, 'center', va='center')
plt.text(2, 0, 'top', va='top')
plt.text(4, 0, 'bottom', va='bottom')
plt.text(6, 0, 'baseline', va='baseline')
plt.plot(x, y, c = 'c')
plt.plot(x_b, y_b, c = 'm')
plt.show()
垂直对齐
수평 정렬 옵션 은 다음 과 같 습 니 다.
매개 변수 값
설명 하 다.
center
매개 변수 좌표 가 텍스트 상자 의 중심 에 비해
left
매개 변수 좌 표 는 텍스트 상자 의 왼쪽 에 있 습 니 다.
right
매개 변수 좌 표 는 텍스트 상자 의 오른쪽 에 있 습 니 다.

import numpy as np
import matplotlib.pyplot as plt
x = np.linspace(0, 8, 1000)
y = 2.0 * x + 0.5 * 5 * x ** 2
y_b = np.linspace(0, 100, 1000)
x_b = np.zeros_like(y_b)
plt.title('Acceleration Moving')
plt.xlabel('Time')
plt.ylabel('distance')
plt.scatter(x[0],y[0])
plt.text(0, 0, 'center', ha='center')
plt.text(0, 50, 'left', ha='left')
plt.text(0, 100, 'right', ha='right')
plt.plot(x, y, c = 'c')
plt.plot(x_b, y_b, c = 'm')
plt.show()
水平对齐选项
6.텍스트 경계 상자
이 사전 은 텍스트 상자 의 외관 설정 을 정의 하 는 데 사 용 됩 니 다.

import numpy as np
import matplotlib.pyplot as plt
x = np.linspace(0, 8, 1000)
y = 2.0 * x + 0.5 * 5 * x ** 2
box = {
    'facecolor': '.75',
    'edgecolor': 'r',
    'boxstyle': 'round'
}
plt.title('Acceleration Moving')
plt.text(0, 8, 'start', bbox=box)
plt.plot(x, y, c = 'c')
plt.show()
文本边界框
bbox 매개 변수의 사전 정 의 는 다음 과 같은 일반적인 키 쌍 을 포함 합 니 다:
키.
설명 및 선택 값
facecolor
텍스트 상자 배경 과 변 의 색 을 설정 하 는 데 사용 합 니 다.
edgecolor
텍스트 상자 가장자리 색상 설정
alpha
투명도 단 계 를 설정 하여 텍스트 상자 와 배경 을 더 잘 혼합 합 니 다.
boxstyle
텍스트 상자 의 스타일 을 설정 합 니 다.선택 할 수 있 는 값 은"round"와"square"를 포함 합 니 다.
pad
"box style"이"square"로 설정 되면 텍스트 와 텍스트 상자 사이 의 채 움 량 을 정의 합 니 다.
화살표 추가
텍스트 상 자 를 추가 하면 설명 그림 을 도 울 수 있 지만 텍스트 가 너무 많 을 때 그림 의 일부분 과 대응 하 는 지 명확 하 게 설명 할 수 없 기 때문에 그림 의 특정 부분 을 설명 하려 면 화살 표를 사용 하 는 것 만큼 좋 은 것 이 없습니다.Matplotlib 는 plt.annotate()함수 로 화살 표를 그립 니 다.

import numpy as np
import matplotlib.pyplot as plt
x = np.linspace(0, 8, 1000)
y = 2.0 * x + 0.5 * 5 * x ** 2
plt.annotate('start',
        ha = 'center', va = 'bottom',
        xytext = (2, 30.),
        xy = (0, 0),
        arrowprops = { 'facecolor' : 'black', 'shrink' : 0.05 })
plt.title('Acceleration Moving')
plt.plot(x, y, c = 'c')
plt.show()
添加箭头 horizontalalignment화살표 의 스타일 은va매개 변수 에 전달 되 는 사전 에 의 해 제어 되 며,그 중에서 자주 사용 되 는 키 값 은 다음 과 같 습 니 다.
키.
설명 및 선택 값
arrowstyle
화살표 스타일 을 제어 합 니 다.선택 가능 한 값 은"<-","<","wedge","simple","fancy"등 을 포함 합 니 다.
facecolor
화살표 배경 과 변 의 색 을 설정 하 는 데 사용 합 니 다.
edgecolor
화살표 색 설정
alpha
투명도 단 계 를 설정 하여 화살표 와 배경 을 더 잘 혼합 합 니 다.
수축 매개 변 수 는 화살표 점 과 화살표 자체 의 간격 을 제어 합 니 다.
8.그림 추가
복잡 한 도형 에는 대량의 서로 다른 곡선 과 점 이 포함 되 어 있 는데 만약 에 이런 곡선 과 점 이 상응하는 도 례 가 없 으 면 이 를 정확하게 구분 할 수 없 기 때문에 도 례 는 실천 에서 없어 서 는 안 된다.ha함수 와 그림 함수 의 label 을 사용 하여 그림 을 추가 할 수 있 습 니 다.

import numpy as np
import matplotlib.pyplot as plt
x = np.linspace(0, 6, 1024)
data = np.random.standard_normal((150, 2))
print(data.size)
y_1 = np.sin(x)
y_2 = np.cos(x)
plt.xlabel('x')
plt.ylabel('y')
plt.plot(x, y_1, c = 'm', lw = 3., label = 'sin(x)')
plt.plot(x, y_2, c = 'c', lw = 3., ls = '--', label = 'cos(x)')
plt.scatter(data[:,0],data[:,1],c='y', label = 'random')
plt.legend()
plt.show()
添加图例 plt.plot() bbox Tips:plt.annotate() plt.text() , 。 ;xy ;xytext , ha va 함 수 는 그림 의 표현 을 제어 하기 위해 선택 할 수 있 는 매개 변 수 를 포함 합 니 다.
매개 변수
설명 및 선택 값
loc
그림 의 위 치 를 제어 하 는 데 사용 되 는 기본 값 은"best"입 니 다.그림 을 자동 으로 배치 합 니 다.다른 선택 값 은"upper left","lower left","lower right","right","center left","center right","lower center","upper center"와"center"를 포함 합 니 다.
shadow
선택 가능 한 값 은 True 와 False 를 포함 하여 그림자 효 과 를 사용 하여 그림 을 보일 지 설정 합 니 다.
fancybox
선택 가능 한 값 은 True 와 False 를 포함 합 니 다.원 각 상자 로 그림 을 보일 지 여부 입 니 다.
title
그림%1 개의 캡 션 을 편 집 했 습 니 다.
ncol
그림%1 개의 캡 션 을 편 집 했 습 니 다.
9.LaTex 스타일 의 기호 사용
우 리 는 이미 도형 에 여러 가지 주석 을 추가 하 는 방법 을 배 웠 다.그러나 실천 에서 우 리 는 수학 기 호 를 사용 해 야 하기 때문에 우 리 는 LaTex 문법 으로 디지털 기 호 를 추가 해 야 한다.
LaTex 스타일 의 기 호 를 사용 하려 면 먼저 컴퓨터 에 사용 가능 한 LaTeX 설정 을 설치 하여 Matplotlib 가 LaTeX 문법 을 해석 하여 수학 텍스트 를 보 여줄 수 있 도록 해 야 합 니 다.LaTeX 를 설치 하 는 방법 은 본 고의 주제 주제 가 아니 므 로 여러분 은 자신의 운영 체제 에 따라 설치 방법 을 검색 할 수 있 습 니 다.
10.LaTex 안내
라 텍 스 는 학계 에서 광범 위 하 게 사용 되 는 문헌 조판 시스템 이다.Microsoft Word 등 문서 편집기 와 달리 LaTeX 사용 자 는 문 서 를 편집 할 때 최종 디 스 플레이 효 과 를 볼 수 없습니다.문 서 는 일반 텍스트 문서 에 저 장 된 텍스트 와 명령 으로 설명 되 어 있 습 니 다.최종 적 으로 LaTeX 는 문 서 를 설명 하여 보 여 줍 니 다.과학 과 공학 계 에서 라 텍 스 의 공식 언어 는 보통 이메일 과 포럼 에서 수학 텍스트 를 작성 하 는 데 쓰 인 다.
11.LaTex 기호 예제 사용
LaTex 스타일 의 기 호 를 사용 할 때 함수 가 받 아들 인 문자열 매개 변수 값 은'$'문자 로 시작 하고 끝 납 니 다.이것 은 Matplotlib 에 신 호 를 보 내 서 텍스트 를 LaTeX 스타일 의 수학 텍스트 로 해석 하고 보 여 줍 니 다.문자열 의 내용 은 수학 텍스트 의 표준 언어 입 니 다.Matplotlib 에서 LaTeX 스타일 의 수학 텍스트 에 대한 소 개 는 Matplotlib 홈 페이지 를 참고 하 십시오.

import numpy as np
import matplotlib.pyplot as plt
x = np.linspace(-4, 4, 10005)
y = 3 / 5 * (x + 4.2) * (x + 4.) * (x - 2.5)
plt.title('$f(x)=\\frac{3}{5}(x+4.4)(x+4)(x-2.5)$')
plt.plot(x, y, c = 'k')
plt.show()
使用LaTex符号示例 arrowprops12.중국어 문자 사용
중국 어 는 Matplotlib 를 사용 하 는 통 증 이지 만 실제 응용 에 서 는 통계 도 주석 표시 에 사용 할 수 밖 에 없습니다.설정 하지 않 으 면 중국어 문 자 를 어 지 럽 게 표시 합 니 다.
중국어 문 자 를 주석 으로 사용 하 는 방법 은 여러 가지 가 있 습 니 다.여 기 는 간단 하면 가장 좋 은 이념 에 따라plt.legend()을 사용 하여 설정 합 니 다.

import numpy as np
import matplotlib.pyplot as plt
x = np.linspace(0, 6, 1024)
data = np.random.standard_normal((150, 2))
y_1 = np.sin(x)
y_2 = np.cos(x)
plt.xlabel('x ')
plt.ylabel('y ')
plt.title('        ')
plt.plot(x, y_1, c = 'm', lw = 3., label = '    ')
plt.plot(x, y_2, c = 'c', lw = 3., ls = '--', label = '    ')
plt.scatter(data[:,0],data[:,1],c='y', label = '   ')
plt.rcParams['font.sans-serif'] = ['SimSun']
plt.legend()
plt.show()
使用中文字符 Tips:시리즈 링크
Python-Matplotlib 시각 화 를 습득 하고 데이터 분석 을 신속하게 완성 합 니 다(1)
일반적인 통계 도 를 상세 하 게 설명 하 는 그리 기 학회 Python-Matplotlib 시각 화,데이터 분석 빠 른 완성(2)
통계 도 를 쉽게 이해 할 수 있 는 주석 을 추가 한 Mattplotlib 시각 화 에 관 한 이 글 은 여기까지 소개 되 었 습 니 다.더 많은 관련 Mattplotlib 시각 화 내용 은 우리 의 이전 글 을 검색 하거나 아래 의 관련 글 을 계속 찾 아 보 세 요.앞으로 도 많은 응원 부 탁 드 리 겠 습 니 다!

좋은 웹페이지 즐겨찾기