English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

NumPy Matplotlib

pip3 설치:

pip install matplotlib -i https://pypi.tuna.tsinghua.edu.cn/simple

Linux 시스템은 Linux 패키지 관리자를 사용하여 설치할 수도 있습니다:

Debian / Ubuntu:

sudo apt-get install python-matplotlib

Fedora / Redhat:

sudo yum install python-matplotlib

설치가 완료되면 사용할 수 있습니다. python -m pip list 명령어를 사용하여 matplotlib 모듈이 설치되었는지 확인할 수 있습니다.

$ pip3 list | grep matplotlib
matplotlib 3.3.0

예제

 import numpy as np 
 from matplotlib import pyplot as plt 
  
 x = np.arange(1,11) 
 y = 2 * x + 5 
 plt.title("Matplotlib 데모") 
 plt.xlabel("x 자이스 캡션") 
 plt.ylabel("y 자이스 캡션") 
 plt.plot(x,y) plt.show()

위 예제에서 np.arange() 함수는 x축의 값을 생성합니다. y축의 상응 값을 다른 배열 객체 y에 저장합니다. 이 값은 matplotlib 소프트웨어 패키지의 pyplot 서브 모듈의 plot() 함수로 그려집니다.

그래픽은 show() 함수로 표시됩니다.

그래픽 중국어 표시

Matplotlib은 기본적으로 중국어를 지원하지 않습니다. 다음과 같은 간단한 방법으로 문제를 해결할 수 있습니다.

여기서 우리는 시오언 허트를 사용합니다. 시오언 허트는 Adobe와 Google이 공개 소스 글꼴로 출시한 글꼴입니다.

공식 웹사이트: https://source.typekit.com/source-han-serif/cn/

GitHub 주소: https://github.com/adobe-fonts/source-han-sans/tree/release/OTF/SimplifiedChinese

링크를 열고 그 안에서 하나 선택하세요:

다운로드할 수 있는 OTF 글꼴을 선택하세요. 예를 들어 SourceHanSansSC-Bold.otf,이 파일을 현재 실행 중인 코드 파일에 두세요:

SourceHanSansSC-Bold.otf 파일을 현재 실행 중인 코드 파일에 두세요:

 import numpy as np 
 from matplotlib import pyplot as plt 
 import matplotlib
  
 # fname 다운로드한 글꼴 라이브러리 경로입니다. 주의하세요 SourceHanSansSC-Bold.otf 글자의 경로
 zhfont1 = matplotlib.font_manager.FontProperties(fname="SourceHanSansSC-Bold.otf") 
  
 x = np.arange(1,11) 
 y = 2 * x + 5 
 plt.title("지상 품 - 테스트", fontproperties=zhfont1) 
  
 # fontproperties 중국어 표시 설정,fontsize 글자 크기 설정
 plt.xlabel("x 자軸", fontproperties=zhfont1)
 plt.ylabel("y 자軸", fontproperties=zhfont1)
 plt.plot(x,y) 
 plt.show()

또한, 시스템의 글꼴을 사용할 수 있습니다:

 from matplotlib import pyplot as plt
 import matplotlib
 a=sorted([f.name for f in matplotlib.font_manager.fontManager.ttflist])
 for i in a:
     print(i)

당신의 font_manager의 ttflist에 등록된 모든 이름을 인쇄하고, 예를 들어 STFangsong(상서)와 같은 중국어 글꼴을 찾아 다음 코드를 추가하세요:

plt.rcParams['font.family']=['STFangsong']

라인 그래프 대신, plot() 함수에 형식 문자를 추가하여 불연속 값을 표시할 수 있습니다. 다음 형식 문자를 사용할 수 있습니다.

문자설명
'-'실선 스타일
'--'단선 스타일
'-.'점선 스타일
':'점선 스타일
'.'점 표시
','픽셀 표시
'o'원형 표시
'v'뒤집은 삼각형 표시
^'정삼각형 표시
'<'왼쪽 삼각형 표시
'>'오른쪽 삼각형 표시
'1'아래 화살표 표시
'2'위 화살표 표시
'3'왼쪽 화살표 표시
'4'오른쪽 화살표 표시
's'사각형 표시
'p'오각형 표시
'*'별형 표시
'h'육각형 표시 1
'H'육각형 표시 2
'+'플러스 표시
'x'X 표시
'D'마름모 표시
'd'얇은 마름모 표시
'|'수직선 표시
'_'수평선 표시

다음은 색상의 약자입니다:

문자색상
'b'파란색
'g'녹색
'r'빨간색
'c'파란색
'm'보라색
'y'노란색
'k'검은색
'w'하얀색

점을 원으로 표시하려면, 위 예제에서 사용된 선 대신 ob를 plot() 함수의 포맷 문자로 사용하십시오.

 import numpy as np 
 from matplotlib import pyplot as plt 
  
 x = np.arange(1,11) 
 y = 2 * x + 5 
 plt.title("Matplotlib 데모") 
 plt.xlabel("x 자이스 캡션") 
 plt.ylabel("y 자이스 캡션") 
 plt.plot(x,y,"ob") 
 plt.show()

실행 결과는 다음과 같습니다:

사인 波 그리기

이 예제는 matplotlib을 사용하여 사인 波도 그립니다.

 import numpy as np 
 import matplotlib.pyplot as plt 
 # 사인 곡선상의 점의 x와 y 좌표를 계산합니다
 x = np.arange(0, 3 * np.pi, 0.1) 
 y = np.sin(x)
 plt.title("사인 웨이브폼") 
 # matplotlib을 사용하여 점을 그립니다
 plt.plot(x, y) 
 plt.show()

실행 결과는 다음과 같습니다:

subplot()

subplot() 함수는 동일한 그래프에서 다른 것을 그릴 수 있게 합니다.

이 예제는 사인과 코사인 값을 그립니다:

 import numpy as np 
 import matplotlib.pyplot as plt 
 # 사인과 코사인 곡선상의 점의 x와 y 좌표를 계산합니다 
 x = np.arange(0, 3 * np.pi, 0.1) 
 y_sin = np.sin(x) 
 y_cos = np.cos(x) 
 # subplot 그리드를 만들기 위해서는 높이로 2,너비로 1 
 # 첫 번째 subplot을 활성화합니다
 plt.subplot(2, 1, 1) 
 # 첫 번째 이미지 그리기 
 plt.plot(x, y_sin) 
 plt.title('사인') 
 # 두 번째 subplot을 활성화하고 두 번째 이미지를 그립니다
 plt.subplot(2, 1, 2) 
 plt.plot(x, y_cos) 
 plt.title('코사인') 
 # 이미지 표시
 plt.show()

실행 결과는 다음과 같습니다:

bar()

pyplot 서브 모듈은 bar() 함수를 제공하여 바 그래프를 생성합니다.

이 예제는 두 그룹의 x와 y 배열의 바 그래프를 생성합니다.

 from matplotlib import pyplot as plt 
 x = [5,8,10] 
 y = [12,16,6] 
 x2 = [6,9,11] 
 y2 = [6,15,7] 
 plt.bar(x, y, align = 'center') 
 plt.bar(x2, y2, color = 'g', align = 'center') 
 plt.title('바 그래프') 
 plt.ylabel('Y 자이스') 
 plt.xlabel('X 자이스') 
 plt.show()

실행 결과는 다음과 같습니다:

numpy.histogram()

numpy.histogram() 함수는 데이터의 빈도 분포의 그래픽 표현입니다. 수평 크기가 같은 사각형은 bin 간격으로, height는 빈도에 해당합니다.

numpy.histogram() 함수는 입력 배열과 bin을 두 가지 파라미터로 받습니다. bin 배열의 연속 요소는 각 bin의 경계로 사용됩니다.

 import numpy as np 
  
 a = np.array([22,87,5,43,56,73,55,54,11,20,,51,5,79,31,27])
 np.histogram(a, bins = [0,20,,40,,60,,80,,100]) 
 hist, bins = np.histogram(a, bins = [0,20,,40,,60,,80,,100]) 
 print(hist) 
 print(bins)

출력 결과는 다음과 같습니다:

 [3 4 5 2 1]
 [ 0 20 40 60 80 100]

plt()

Matplotlib은 수치를 그래픽으로 변환할 수 있습니다. pyplot 서브 모듈의 plt() 함수는 데이터와 bin 배열을 포함한 배열을 파라미터로 받아서 히스토그램으로 변환합니다.

 from matplotlib import pyplot as plt 
 import numpy as np 
  
 a = np.array([22,87,5,43,56,73,55,54,11,20,,51,5,79,31,27]) 
 plt.hist(a, bins = [0,20,,40,,60,,80,,100]) 
 plt.title("histogram") 
 plt.show()

실행 결과는 다음과 같습니다:

Matplotlib 더 많은 참조 내용:

사용자 가이드 자주 묻는 질문 및 답변 스크린샷