pyqtgraph -- pyqt5 에서 사용 -- line chart



개발환경 : windows 10 64bit, python 3.6.6 32bit, pyqt5, pyqtgraph 0.10.0  --> Anaconda 4.4.0 (32-bit) 사용


참고 :  https://stackoverflow.com/questions/17925006/embedding-pyqtgraph-in-qt-without-generating-new-window


         http://pyqtgraph.org/documentation/widgets/plotwidget.html#pyqtgraph.PlotWidget   --> PlotWidget

         http://pyqtgraph.org/documentation/graphicsItems/plotitem.html#pyqtgraph.PlotItem   ---> PlotItem

         http://pyqtgraph.org/documentation/graphicsItems/plotitem.html#pyqtgraph.PlotItem.plot ---> PlotItem.plot


         https://pythonprogramminglanguage.com/pyqtgraph-plot/   --> 참고 예제





** pyqtgraph.plot( ) 

   --> 소스코드 보면, PlotWindow 객체 생성하여, plot( ) 실행함.

   --> PlotWindow ; graphicsWindows.py 내부에 정의됨.

          --> 소스코드보면, 내부적으로 QMainWindow 에 PlotWidget 을 사용하여 만들었다.


  ==> 결론적으로,  pyqtgraph.plot( ) 은 내부적으로 PlotWidget.plot( ) 을 실행하고,

                      GUI window는 pyqt의 QMainWindow 사용함.





** pyqt5 내에 pyqtgraph를 통합할때.  PlotWidget() 을 사용하자.

      -- PlotWidget() 은 내부적으로 GraphicWidget 을 상속받고, PlotItem() 의 메소드를 사용한다. 


      -- 즉,  PlotWidget() 초기화시에, parent 와 background 매개변수는 GraphicWidget 에서 사욯하고, 

             나머지 매개변수는 PlotItem() 으로 넘겨 사용됨. 





** pyqtgraph 에서 global configuration options 사용 예.   http://www.pyqtgraph.org/documentation/config_options.html


        ex1)  pg.setConfigOption('background', 'y')  # global configuration options


        ex2)  pg.setConfigOptions(background='w', foreground='b')  # key-value 형태로 여러개 인자 사용 가능. 




** numpy 를 사용하지 않아도, 간단한 그래프를 그릴수 있다.




** plot( ) 에 관하여...

    -- PlotWidget.plot( ) 사용시...

        --> 내부적으로 PlotItem.plot( ) 메소드를 사용함.

        ---> PlotItem.plot( ) 는 PlotDataItem 객체를 반환한다.


     ; plot( data ) 에서 사용하는 data 값은 list 혹은 numpy array 를 사용한다.





** 실제 차트 그리는 명령어는 아래 2가지 중 하나 사용하면됨.


pw.plot(x, y, pen='r') 


또는 


pdi = pw.plot()  # PlotDataItem obj 반환

pdi.setData(x, y, pen='g')


  ---> plot( ) 으로 차트그릴때, 내부적으로 setData( ) 를 사용하므로, 그냥 setData( ) 사용하는 습관이 좋을듯..... 






<< 실행결과 >>





<< 소스코드 >>


---




Posted by 자유프로그램