Matplotlib로 그래프를 그리는 방법
17812 단어 파이썬matplotlib
개요
Matplotlib에서 그래프를 작성하는 방법을 자신의 비망록으로 정리합니다.
우선 하나의 그래프를 쓰고 싶을 때
가로축(x)과 세로축(y)을 설정하고, plt.plot(x, y)로 할 뿐.
우선 하나 그리기.pyimport matplotlib.pyplot as plt
import numpy
x = np.linspace(0, 10)
y = np.sin(x)
plt.plot(x, y)
plt.show()
plt 인수
c : 색상. "r", "g", "b", "c", "m", "y"등으로 그래프의 색을 바꿀 수 있다.
marker : 마커의 형태를 지정. "o", "^", "v", "+"등이 있다.
lw : 선의 두께를 지정합니다. 선을 지우고 싶을 때는 0으로 한다.
alpha : 투명도를 지정. 0에 가까울수록 투명하게 접근한다.
label : 이름을 지정. 여러 그래프를 작성할 때 이름을 지정하는 것이 좋습니다. (범례에 표시할 수 있다)
※범례의 붙이는 방법은 후술.
plt 인수.pyx = np.linspace(0, 10)
y = np.sin(x)
plt.plot(x, y, c="r", marker="^", lw=1, alpha=0.5, label="test")
plt.show()
그래프에 다양한 정보 추가
〇〇으로 그래프에 다양한 정보를 추가할 수 있다.
plt.title에서 제목 추가
plt.xlabe/ylabel에서 x축/y축 레이블 추가
plt.xlim/ylim에서 x축/y축의 최소값과 최대값 지정
※최대값과 최소값은 직접 수치를 넣어도 되지만, 하기 예와 같이 y의 np.min등으로 지정해도 좋다
plt.grid에서 그래프에 그리드 표시
plt.legend에서 그래프에 범례 표시
그래프에 정보 추가.pyx = np.linspace(0, 10)
y = np.sin(x)
plt.plot(x, y, c="c", marker="+", lw=0, alpha=0.5, label="test1")
plt.title("Figure_test")
plt.xlabel("axis_x")
plt.ylabel("axis_y")
plt.xlim(0, 15)
plt.ylim(np.min(y)-2, np.max(y)+2)
plt.grid()
plt.legend()
plt.show()
여러 차트 그리기
처음에 plt.figure()로 큰 상자를 준비한다. 상자의 크기는 figsize로 지정 가능.
준비한 상자 안에 plt.subplot()로 복수의 그래프를 넣어 가는 이미지.
plt.subplot()의 첫 번째 인수에 행, 두 번째 인수에 열, 세 번째 인수에 번호를 지정합니다.
번호는 좌측 상단이 1부터 시작하여 오른쪽 방향, 아래 방향 순으로 숫자가 커진다.
여러 차트 표시.pyx = np.linspace(0, 10)
y1 = np.sin(x)
y2 = x
y3 = x ** 4
y4 = np.cos(2*x)
plt.figure(figsize=(8, 5))
plt.subplot(2, 2, 1) # 左上
plt.plot(x, y1, c="r", marker="^", lw=1, alpha=0.5, label="left_up")
plt.subplot(2, 2, 2) # 右上
plt.plot(x, y2, c="g", marker="o", lw=1, alpha=0.5, label="right_up")
plt.subplot(2, 2, 3) # 左下
plt.plot(x, y3, c="b", marker="v", lw=1, alpha=0.5, label="left_down")
plt.subplot(2, 2, 4) # 右下
plt.plot(x, y4, c="y", marker="+", lw=1, alpha=0.5, label="right_down")
plt.show()
다음과 같이 쓸 수 있다. (결과는 ↑와 동일)
subplots()에서 fig라는 큰 상자 안에 그래프를 어디에 배치할지를 먼저 지정한다.
ax[행, 열]로 위치를 지정하여 그래프를 그립니다.
(이쪽의 쓰는 방법은 또 따로 정리할까라고 생각합니다.)
여러 그래프 표시 2.pyx = np.linspace(0, 10)
y1 = np.sin(x)
y2 = x
y3 = x ** 4
y4 = np.cos(2*x)
fig, ax = plt.subplots(2, 2, figsize=(8, 5))
# 左上
ax[0, 0].plot(x, y1, c="r", marker="^", lw=1, alpha=0.5, label="left_up")
# 右上
ax[0, 1].plot(x, y2, c="g", marker="^", lw=1, alpha=0.5, label="right_up")
# 左下
ax[1, 0].plot(x, y3, c="b", marker="^", lw=1, alpha=0.5, label="left_down")
# 右下
ax[1, 1].plot(x, y4, c="y", marker="^", lw=1, alpha=0.5, label="right_down")
plt.show()
요약
매우 기본적인 일뿐입니다만, 초보자의 자신용으로, 자주(잘) 사용하는 기능만 써 보았습니다.
추천 기능이 있으면 댓글을 달아주세요.
Reference
이 문제에 관하여(Matplotlib로 그래프를 그리는 방법), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/tokkuri/items/375ac47425db5badbd11
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
import matplotlib.pyplot as plt
import numpy
x = np.linspace(0, 10)
y = np.sin(x)
plt.plot(x, y)
plt.show()
x = np.linspace(0, 10)
y = np.sin(x)
plt.plot(x, y, c="r", marker="^", lw=1, alpha=0.5, label="test")
plt.show()
x = np.linspace(0, 10)
y = np.sin(x)
plt.plot(x, y, c="c", marker="+", lw=0, alpha=0.5, label="test1")
plt.title("Figure_test")
plt.xlabel("axis_x")
plt.ylabel("axis_y")
plt.xlim(0, 15)
plt.ylim(np.min(y)-2, np.max(y)+2)
plt.grid()
plt.legend()
plt.show()
x = np.linspace(0, 10)
y1 = np.sin(x)
y2 = x
y3 = x ** 4
y4 = np.cos(2*x)
plt.figure(figsize=(8, 5))
plt.subplot(2, 2, 1) # 左上
plt.plot(x, y1, c="r", marker="^", lw=1, alpha=0.5, label="left_up")
plt.subplot(2, 2, 2) # 右上
plt.plot(x, y2, c="g", marker="o", lw=1, alpha=0.5, label="right_up")
plt.subplot(2, 2, 3) # 左下
plt.plot(x, y3, c="b", marker="v", lw=1, alpha=0.5, label="left_down")
plt.subplot(2, 2, 4) # 右下
plt.plot(x, y4, c="y", marker="+", lw=1, alpha=0.5, label="right_down")
plt.show()
x = np.linspace(0, 10)
y1 = np.sin(x)
y2 = x
y3 = x ** 4
y4 = np.cos(2*x)
fig, ax = plt.subplots(2, 2, figsize=(8, 5))
# 左上
ax[0, 0].plot(x, y1, c="r", marker="^", lw=1, alpha=0.5, label="left_up")
# 右上
ax[0, 1].plot(x, y2, c="g", marker="^", lw=1, alpha=0.5, label="right_up")
# 左下
ax[1, 0].plot(x, y3, c="b", marker="^", lw=1, alpha=0.5, label="left_down")
# 右下
ax[1, 1].plot(x, y4, c="y", marker="^", lw=1, alpha=0.5, label="right_down")
plt.show()
Reference
이 문제에 관하여(Matplotlib로 그래프를 그리는 방법), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/tokkuri/items/375ac47425db5badbd11텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)