Matplotlib에서 여러 축 만들기

Salman Mehmood 2023년6월20일
Matplotlib에서 여러 축 만들기

이 Matplotlib 자습서에서는 축 인스턴스에 대한 짧은 소개를 살펴보고 Matplotlib의 add_axes() 메서드를 사용하여 그림에 여러 축 인스턴스를 추가하는 방법을 알아봅니다.

Matplotlib의 add_axes() 메서드를 사용하여 여러 축 생성

Matplotlib에서 축 또는 다중 축 인스턴스를 추가하려면 add_axes() 메서드를 사용하십시오. 축을 추가할 때 그림 내의 영역에 할당해야 합니다.

add_axes() 메서드에서 왼쪽 하단 모서리의 좌표와 크기 및 좌표를 지정합니다. 범위는 0에서 1이어야 하며 너비와 높이는 절대값이 아닌 비율로 지정합니다.

필요한 모든 모듈을 가져오는 것으로 시작하겠습니다.

import matplotlib.pyplot as plot
import numpy as np
import matplotlib as mpl

그림을 만들고 figsize는 8 x 6인치입니다. facecolor 인수를 사용하여 배경색을 노란색으로 설정합니다.

figure = plot.figure(figsize=(8, 6), facecolor="yellow")

add_axes() 메서드를 사용하여 3축 인스턴스를 추가합니다. 이 메서드는 방향을 정의하기 위해 튜플을 허용합니다.

첫 번째 매개변수는 좌표 x, 두 번째 y 좌표, 세 번째 , 네 번째 매개변수는 높이입니다. 또한 facecolor'cyan'으로 설정합니다.

axes1 = figure.add_axes((0.1, 0.1, 0.5, 0.4), facecolor="cyan")
axes2 = figure.add_axes((0.3, 0.6, 0.3, 0.3), facecolor="cyan")
axes3 = figure.add_axes((0.7, 0.1, 0.2, 0.8), facecolor="cyan")

xy 값을 정의합니다. numpy 라이브러리의 일부 기능을 사용합니다.

x1 = np.linspace(0.10, 10, 100)
y1 = 10 * np.sin(x1)

이제 세 개의 축 인스턴스에 대한 플롯을 표시합니다. x1, y1color 매개변수는 "navy"입니다.

axes1.plot(x1, y1, color="navy")
axes2.plot(x1, y1, color="navy")
axes3.plot(x1, y1, color="navy")

전체 소스 코드:

import matplotlib.pyplot as plot
import numpy as np
import matplotlib as mpl

figure = plot.figure(figsize=(8, 6), facecolor="yellow")

axes1 = figure.add_axes((0.1, 0.1, 0.5, 0.4), facecolor="cyan")
axes2 = figure.add_axes((0.3, 0.6, 0.3, 0.3), facecolor="cyan")
axes3 = figure.add_axes((0.7, 0.1, 0.2, 0.8), facecolor="cyan")

x1 = np.linspace(0.10, 10, 100)
y1 = 10 * np.sin(x1)

axes1.plot(x1, y1, color="navy")
axes2.plot(x1, y1, color="navy")
axes3.plot(x1, y1, color="navy")
plot.show()

3축 인스턴스가 있는 그림을 얻을 수 있습니다. 이 그림에서 해당 축이 있는 모든 좌표점을 볼 수 있습니다.

출력:

Matplotlib에서 add_axes() 메서드로 여러 축 만들기

Salman Mehmood avatar Salman Mehmood avatar

Hello! I am Salman Bin Mehmood(Baum), a software developer and I help organizations, address complex problems. My expertise lies within back-end, data science and machine learning. I am a lifelong learner, currently working on metaverse, and enrolled in a course building an AI application with python. I love solving problems and developing bug-free software for people. I write content related to python and hot Technologies.

LinkedIn

관련 문장 - Matplotlib Axes