Package: pyplotter
pyplotterA data browser and vizualizer for QCoDes database, csv, s2p and BlueFors logging files. The purpose of the plotter is to make data exploration as simple and fast as possible. You should never waste time to plot some raw, do some simple fit, ... and that's why the plotter do it for you.⚙️ Getting Started🔗 RequirementsCurrently the following packages are required:qdarkstylelmfitmultiprocessnumpy>=1.17.0pandas>=1.0.0platformdirspyopenglpyqt5pyqt5-sippyqtwebenginepyqtgraph>=0.12.3qcodes>=0.26.0scikit-rfscipyInstallationSome users reported various issues with pyqt when using pyplotter in the general conda environment.
While the reasons for these various issues aare still unknown, an easy way around it is to dedicate a conda environement to pyplotter.
That way seems to keep pyqt happy.First you create the conda environementcondacreate--namepyplotterpython=3.8
condaactivatepyplotterSecond, install packages with condacondainstallpyqtgraphThird, install pyplottergitclonehttps://github.com/pyplotter/pyplottercdpyplotter
pipinstall-e.🛠️ UseThe easiest way to launch the program is to search "plotter" in the window search bar and press enter.Another solution is to open a terminal, type "plotter" and press enter.TipTo open folders, databases, ... : use one click, no double clickYou may create a shortcut which target%windir%\System32\WindowsPowerShell\v1.0\powershell.exe -ExecutionPolicy ByPass -NoExit -Command "& 'C:\Users\****\Anaconda3\shell\condabin\conda-hook.ps1' ; conda activate 'C:\Users\****\Anaconda3'; conda activate python38; plotter"Main windowOnce the software is launched, you access the main window shown belowYou can:browse in foldersOpen CSV/s2p filesOpen BlueFors log folderOpen a QCoDeS databaseWhen you select a QCoDeS database, you will display all its information as shown belowYou may now click on a run to show its dependent parameters and its station1d plotTo plot your data, check the dependent parameter you want to plotYou can plot as many dependent parameters as you want from the same run, see below1d plot interactionsMany interactions with your curves are available.For example the filter interaction.
First you select the curve you want to interact with on the "Select curve" group box.
Second you select the data you want to use for the interaction and then you click on the interaction you want, here "Savitsky-Golay".Various model are available for fitting:2d plotTo plot your data, check the dependent parameter you want to plot2d ploimage.pngt interactionsOnce a 2d plot is launched you can make slices of your data and launched 1d plot linked to your 2d plot.
The linked 1d plot has the standard interactivity of a standard 1d plot.Staring and hiding your runThe plotter allos the user to star or hide a run.
To do so simply press "s" and "h" when you have selected a run.
A star runs will then appear with a star while a hidden run will no be visible per default but will require the user to click on "Show hidden".
This offers an easy way to hide "faulty" run and note "good" run but it doesn't replace a good old labbook.Find a parameter in QCoDeS metadataQCoDeS metadata consists of savingeverythingand while this is nice it makes the recovery of information quite delicate.
In order to make this smoother the plotter allows the user to filter the visible metada by typing in the filter text fieldLive plot modeThe plotter can also plot data during acquisition by using the livePlot check box.
Simply choose a QCoDeS database and click on livePlot and any new run will be displayed as a standard 1d or 2d plot.Compare data from different runThe plotter offers a way to compare any data already plotted in a 1d plot window.
When at least two curves are plotted, an "Add curves" tab will appear allowing user to compare curves from different runs.⚠️ Known issuesRead data taken by a newer QCoDeS versionQCoDeS ensures backward but not forward compatibility for the data which means that a database taken by a version "i" de QCoDeS can be read by another version "j" of QCoDeS only if "j>i".
Otherwise the plotter will most likely have error like the following one:Traceback(mostrecentcalllast):File"...\pyplotter\pyplotter\sources\loaddata.py",line89,inrund=self.getParameterData(self.runId,paramsDependent['name'],self.signals.updateProgressBar,self.progressBarKey)File"...\pyplotter\pyplotter\sources\qcodesdatabase.py",line743,ingetParameterDatads=load_by_id(run_id=int(runId),conn=conn)File"...\Anaconda3\envs\python37\lib\site-packages\qcodes\dataset\data_set.py",line1228,inload_by_idd=DataSet(conn=conn,run_id=run_id)File"...\Anaconda3\envs\python37\lib\site-packages\qcodes\dataset\data_set.py",line295,in__init__run_desc=self._get_run_description_from_db()File"...\Anaconda3\envs\python37\lib\site-packages\qcodes\dataset\data_set.py",line559,in_get_run_description_from_dbreturnserial.from_json_to_current(desc_str)File"...\Anaconda3\envs\python37\lib\site-packages\qcodes\dataset\descriptions\versioning\serialization.py",line115,infrom_json_to_currentreturnfrom_dict_to_current(json.loads(json_str))File"...\Anaconda3\envs\python37\lib\site-packages\qcodes\dataset\descriptions\versioning\serialization.py",line70,infrom_dict_to_currentdesc=from_dict_to_native(dct)File"...\Anaconda3\envs\python37\lib\site-packages\qcodes\dataset\descriptions\versioning\serialization.py",line63,infrom_dict_to_nativereturnrun_describers[dct['version']]._from_dict(dct)KeyError:2To solve the issue, just update your QCoDeS verion:pipinstall--upgradeqcodes👷🏼 AuthorsEtienne Dumur-main developer-etienne.dumur@cea.fr🕹️ LicenseMIT🙏 Acknowledgmentsplottr, for the inspiration of some interfaces.pyqtgraph, for the amazing andfastplotting library.bokeh, for their work on the colormap palette reused here.qb style, for its color codes of lines.