pyqtgraph -- timeaxis 만들어, 최근 data 만 실시간 보여주기




참고 : http://www.pyqtgraph.org/documentation/graphicsItems/axisitem.html#pyqtgraph.AxisItem.tickStrings

        https://gist.github.com/iverasp/9349dffa42aeffb32e48a0868edfa32d    --> 이를 바탕으로 소스 변경함. 

        https://stackoverflow.com/questions/31775468/show-string-values-on-x-axis-in-pyqtgraph   --> custom axis 만드느법

        https://gist.github.com/cpascual/cdcead6c166e63de2981bc23f5840a98

      




** AxisItem class 를 subclass 하여, 원하는 axis 만들수 있다. 

    --> 특히, tickStrings( ) 메소드를 override 하여, tick 에 원하는 양식으로 출력 변경가능하다.



** 최근 시간만 보여주기

  --> setData( ) 로 실시간 chart 그리기전에, setXRange( ) 이용하여, 최근 시간만 설정하면 ok!!!




<< 실행결과 >>




<< 소스 >>

--






Posted by 자유프로그램

pyqtgraph -- realtime chart 그리기




참고 : http://www.pyqtgraph.org/documentation/graphicsItems/plotitem.html#pyqtgraph.PlotItem.clear   --> clear( ) 설명


        http://www.pyqtgraph.org/documentation/_modules/pyqtgraph/graphicsItems/PlotItem/PlotItem.html#PlotItem.enableAutoScale  

          --> enableAutoScale() 소스코드


        http://www.pyqtgraph.org/documentation/graphicsItems/viewbox.html#pyqtgraph.ViewBox.enableAutoRange  --> enableAutoRange 설명


        http://www.pyqtgraph.org/documentation/graphicsItems/plotdataitem.html#pyqtgraph.PlotDataItem.setData  --> setData 설명.







** PlotItem.enableAutoScale() 사용하면, 항상 전체 그래프 영역 모두 보여줌.


   -- PlotItem.enableAutoScale() 는 나중에 사라지므로, 대신에 PlotItem.enableAutoRange( ) 사용 권장함. 



** setXRange( ), setYRange( ) 로 차트의 x축, y축 가시영역을 지정해도...

   enableAutoRange( ) 사용하면, 자동으로 가시영역 변경된다..



 

** 대부분의 차트는 realtime update 시에 setData( ) 를 사용하면, 자동으로 이전차트 지우고, 새로운 data로 차트를 그린다.

    --> but, BarGraphItem 차트는 clear( ) 를 사용해서, 이전 차트 item 지우고, 새로 그려야함.


   


<< 실행결과 >>






<< 소스 >>

--





Posted by 자유프로그램