English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
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() 함수는 동일한 그래프에서 다른 것을 그릴 수 있게 합니다.
이 예제는 사인과 코사인 값을 그립니다:
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()
실행 결과는 다음과 같습니다:
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() 함수는 데이터의 빈도 분포의 그래픽 표현입니다. 수평 크기가 같은 사각형은 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]
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 더 많은 참조 내용: