;i dZddlZddlZddlZddlmZddlZddl m Z ddl m ZddlmZmZmZejZeddded dd ed ed deeddeeddeeddeeddeedddeddd ededddededed !eZej,ejd"ejejd#ejejd"ZejZe dej!eGd$d%ej"Z#ej$d&Z%ej&Z'ej()d'd()Z*ej+d*+Z,e,-e*ej.Z/ej0Z1e12e,e12e/e13ej4e*d*ej5j6,Z7e/8d-e/9d.d/d01e#e'd23Z:e/;e:ej<Z=e7>d d4ddgid4d5dgid6d7id6d7i8ej?ej@ejAejBejCejDfd9ZEe*Fd:Gd;<e7>d=gd>d?@ejdAdBd*fdCZHe7>dDejI idEdFgd=dGdHdIiJej&dEd*eefdKZJeEejKZLeLjMNeHeLOdeZPePjQNdLeRdMkr'e,SdNdejTdSdS)Oz? Update a simple plot as rapidly as possible to measure speed. N) FrameCounter)QtCoreQtGui QtWidgetsz--noisenoise store_true)destactionz --no-noise store_falseT)rz --nsamplesi)defaulttypez--frames2z --fsampleiz --frequencyz --amplitudez--opengl use_openglz --no-opengl)rz--allow-opengl-togglezUAllow on-the-fly change of OpenGL setting. This may cause unwanted side effects. )r helpz --iterationsinfz*Number of iterations to run before exiting)r r r useOpenGLenableExperimentalc.eZdZfdZdZfdZxZS)MonkeyCurveItemcHtj|i|d|_dS)N)super__init__ monkey_mode)selfargskwds __class__s TC:\PYTHON\MyICR_Workspace\venv\Lib\site-packages\pyqtgraph/examples/PlotSpeedTest.pyrzMonkeyCurveItem.__init__2s-$'$'''c||_dS)N)r)rvalues r setMethodzMonkeyCurveItem.setMethod6s r!c|jdvr#t|||S||jj|jd|tj |jd|jdkr4| tj |j |jdSdS)N) drawPolyline antialiaspenr&)rrpaint setRenderHint RenderHint AntialiasingoptssetPenpgmkPenr&fnarrayToQPolygonFxDatayData)rpainteroptwidgetrs r r)zMonkeyCurveItem.paint9s  #3 3 377==#v66 6g0=ty?UVVVrx % 011222  ~ - -  !4TZ!L!L M M M M M . -r!)__name__ __module__ __qualname__rr$r) __classcell__)rs@r rr1si!!!NNNNNNNNNr!rzPlot Speed Test Parametersgroup)namer F) showHeader)parentnest runOptionsz pyqtgraph example: PlotSpeedTestbottomIndexB)unitsb)r(brushlimitsrFHz)rAnsamplesframesfsample frequencyctj||ztj|z }|tjdtjz|z|z||fza|r2t tjt j z atj t j dta da tt!jdd|ddS)N)dtype)sizeri)nparangefloat64sinpireshapedatarandomnormalshapeonesbool connect_arrayptrpwsetRangerQRectF)rrLrMrNrO amplitudettts r makeDatariZs )FX%RZ 8 8 87 BC RVAbeGI-c122::FH;MNN ND 2    dj 111GDJrN$777M CKK ah3344444r!riz Plot Options)titlelist)allpairsfinitearray)r rI)connectr'rlctttjkr4tt dS|dkrt}t tt|||tdztj dza tdS)Nror'rpskipFiniteCheckrJr)nextiterations_counterr iterationstimerstopappquitrbcurvesetDatar\rcr_framecntupdaterrs r r~r~us $/11   t' MM S '  7djm #C OOr!readonly pyqtgraphr&)rIr r r()r plotMethodcurvePenctjd|t|t|t|rdndt|dS)Nrg)r/setConfigOptionrdrr{r. setFillLevelr$)rr fillLevelrrs r updateOptionsrsr+-?@@@LL LL i1ssT222 OOJr!c>t|ddS)Nz.1fz fps)rdsetTitle)fpss r rs"++6F6F6F6F*G*Gr!__main__)U__doc__argparse itertoolsnumpyrVutilsrrr/pyqtgraph.functions functionsr1pyqtgraph.parametertree parametertreeptree pyqtgraph.QtrrrArgumentParserparser add_argument set_defaultsintfloat parse_argsrrrgetConfigOptionQSurfaceFormatsfmtsetSwapIntervalsetDefaultFormat PlotCurveItemrmkQAppryr0 default_pen Parametercreateparams ParameterTreept setParameters PlotWidgetrd QSplittersplitter addWidgetshow Interactor RunOptions ON_CHANGED interactorsetWindowTitlesetLabelr{addItemcountrudecoraterrLrMrNrOrgrichildsetOptsr~allow_opengl_togglerQTimerrwtimeoutrpstartr} sigFpsUpdater8setMinimumSizeexecr!r rsH ''''''1111111111 ! " "IGLAAALw}EEE$L$S999J555KE:::M15999M15999J\,GGGM ]KKKt$$$+L    NEE%LLu 5?B{DO444B+T_=== R  , , uQ%%d+++NNNNNb&NNN$bi!""bhjj   \  @ @UE***R]__ 9  22  U  %*:*E 4555 HgS )))Ks333 5$Y_&&  D " q$i dOo  * ] ; Lnn 5555" Z ~ 666 'J'J'J K K!b -- 4 t778&7HHe_ RXZZ!          f A <>>GGHHH zc! BGIIIII r!