[PyQt5] MatplotLib의 차트를 Widget으로 사용하기

PyQt에서 차트를 위젯으로 사용하기 위해 코드입니다. 먼저 실행 결과는 다음과 같습니다.

하단에 컴보박스를 통해 2가지 항목을 선택할 수 있는데요. 항목을 선택할때마다 해당되는 항목의 그래프가 상단에 표시됩니다.

먼저 이를 위한 UI 구성을 위해 아래와 같은 코드를 작성합니다.

Qt5에서 Matplot을 사용하기 위해서는 matplotlib.backends.backend_qt5agg 패이지의 FigureCanvasQTAgg라는 이름의 위젯 클래스가 필요하다는 것을 알 수 있습니다. MyWindow 클래스의 doGraph1과 doGraph2 함수의 코드가 핵심인데, 그 내용은 아래와 같습니다.

doGraph2 함수에 대한 실행 결과는 다음과 같습니다. 물론 이 함수의 실행은 컴보박스의 항목 중 Graph2를 선택했을때 실행됩니다.

참고로 이 글의 차트는 아래의 글을 참고로 하여 작성하였습니다.

파이썬의 matplotlib 노트

“[PyQt5] MatplotLib의 차트를 Widget으로 사용하기”에 대한 2개의 댓글

  1. 혹시 matplotlib와 qt desinger 를 연계해서 따로 자세히 설명해줄 수 있는 강의 부탁드립니다 ㅠㅠㅠ
    구글링해서 답이 나오지만 이해하기가 너무 힘드네요 ㅠㅠ

    1. UI 디자인툴은 C#의 윈폼에서만 사용해봤고, 그외 모든 경우.. C언어를 통한 UI, 안드로이드 UI, 웹 UI 등은 디자인툴 없이 개발했던지라.. Qt5의 디자인툴을 써본적이 없답니다. 그런데, Qt5의 디자인툴이라는 것도 어떤 위젯을 어떤 배치로 할 것인지에 대한 지원이지.. 특정 하나의 위젯에 대한 처리는 코드를 통해 제어해야 하지 않을까 싶습니다.

댓글 남기기

이메일은 공개되지 않습니다. 필수 입력창은 * 로 표시되어 있습니다