Matplotlib: Glade 3 으로 그래프 만들기

Beginner

This tutorial is from open-source community. Access the source code

소개

이 랩에서는 Matplotlib 과 Glade 3 를 사용하여 간단한 그래프를 만드는 방법을 배우게 됩니다. Matplotlib 은 Python 프로그래밍 언어를 위한 플로팅 라이브러리이며, 다양한 그래프와 시각화를 생성하는 데 사용될 수 있습니다.

VM 팁

VM 시작이 완료되면, 왼쪽 상단을 클릭하여 Notebook 탭으로 전환하여 실습을 위해 Jupyter Notebook에 접근하십시오.

때로는 Jupyter Notebook 이 로딩을 완료하는 데 몇 초 정도 기다려야 할 수도 있습니다. Jupyter Notebook 의 제한 사항으로 인해 작업의 유효성 검사는 자동화될 수 없습니다.

학습 중에 문제가 발생하면 언제든지 Labby 에게 문의하십시오. 세션 후 피드백을 제공해주시면 문제를 신속하게 해결해 드리겠습니다.

환경 설정

그래프를 만들기 전에 환경을 설정해야 합니다. 터미널을 열고 mpl_with_glade3.py라는 새로운 Python 파일을 생성하십시오. 필요한 라이브러리인 matplotlib, numpy, gi, 그리고 Gtk가 설치되어 있는지 확인하십시오.

Glade 3 파일 생성

다음으로, 애플리케이션의 사용자 인터페이스를 만들기 위해 Glade 3 파일을 생성합니다. Glade 3 를 열고 새 프로젝트를 생성하십시오. ScrolledWindow 위젯과 Window 위젯을 추가합니다. 창의 이름을 window1으로, 스크롤된 창의 이름을 scrolledwindow1으로 지정합니다. 파일을 mpl_with_glade3.glade로 저장하십시오.

그래프 생성

이제 그래프를 만들기 시작할 수 있습니다. 먼저, 필요한 라이브러리를 import 하고 Window1Signals 클래스를 정의합니다. 이 클래스는 창의 destroy 시그널을 처리합니다.

from pathlib import Path

import gi

gi.require_version('Gtk', '3.0')
from gi.repository import Gtk

import numpy as np

from matplotlib.backends.backend_gtk3agg import \
    FigureCanvasGTK3Agg as FigureCanvas
from matplotlib.figure import Figure


class Window1Signals:
    def on_window1_destroy(self, widget):
        Gtk.main_quit()

메인 함수 정의

다음으로, main() 함수를 정의합니다. 이 함수는 사용자 인터페이스를 생성하고, 그래프를 생성하며, 창을 표시합니다.

def main():
    builder = Gtk.Builder()
    builder.add_objects_from_file(
        str(Path(__file__).parent / "mpl_with_glade3.glade"),
        ("window1", ""))
    builder.connect_signals(Window1Signals())
    window = builder.get_object("window1")
    sw = builder.get_object("scrolledwindow1")

    ## Start of Matplotlib specific code
    figure = Figure(figsize=(8, 6), dpi=71)
    axis = figure.add_subplot()
    t = np.arange(0.0, 3.0, 0.01)
    s = np.sin(2*np.pi*t)
    axis.plot(t, s)

    axis.set_xlabel('time [s]')
    axis.set_ylabel('voltage [V]')

    canvas = FigureCanvas(figure)  ## a Gtk.DrawingArea
    canvas.set_size_request(800, 600)
    sw.add(canvas)
    ## End of Matplotlib specific code

    window.show_all()
    Gtk.main()

if __name__ == "__main__":
    main()

애플리케이션 실행

파일을 저장하고 터미널 명령 python mpl_with_glade3.py를 사용하여 실행합니다. 그래프가 있는 창이 나타나야 합니다.

요약

축하합니다! Matplotlib 과 Glade 3 을 사용하여 그래프를 성공적으로 만들었습니다. 이를 시작점으로 삼아 더 복잡한 그래프와 시각화를 만들 수 있습니다.