{ "cells": [ { "cell_type": "code", "execution_count": 1, "metadata": { "hideCode": false, "hidePrompt": false }, "outputs": [ { "ename": "ModuleNotFoundError", "evalue": "No module named 'PyQt4'", "output_type": "error", "traceback": [ "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", "\u001b[0;31mModuleNotFoundError\u001b[0m Traceback (most recent call last)", "\u001b[0;32m\u001b[0m in \u001b[0;36m\u001b[0;34m()\u001b[0m\n\u001b[1;32m 9\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 10\u001b[0m \u001b[0mget_ipython\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mmagic\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m'autoreload 2'\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m---> 11\u001b[0;31m \u001b[0mget_ipython\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mmagic\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m'matplotlib qt'\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m", "\u001b[0;32m/home/data/anaconda3/lib/python3.6/site-packages/IPython/core/interactiveshell.py\u001b[0m in \u001b[0;36mmagic\u001b[0;34m(self, arg_s)\u001b[0m\n\u001b[1;32m 2156\u001b[0m \u001b[0mmagic_name\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0m_\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mmagic_arg_s\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0marg_s\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mpartition\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m' '\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 2157\u001b[0m \u001b[0mmagic_name\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mmagic_name\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mlstrip\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mprefilter\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mESC_MAGIC\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m-> 2158\u001b[0;31m \u001b[0;32mreturn\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mrun_line_magic\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mmagic_name\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mmagic_arg_s\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 2159\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 2160\u001b[0m \u001b[0;31m#-------------------------------------------------------------------------\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", "\u001b[0;32m/home/data/anaconda3/lib/python3.6/site-packages/IPython/core/interactiveshell.py\u001b[0m in \u001b[0;36mrun_line_magic\u001b[0;34m(self, magic_name, line)\u001b[0m\n\u001b[1;32m 2077\u001b[0m \u001b[0mkwargs\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0;34m'local_ns'\u001b[0m\u001b[0;34m]\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0msys\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_getframe\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mstack_depth\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mf_locals\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 2078\u001b[0m \u001b[0;32mwith\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mbuiltin_trap\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m-> 2079\u001b[0;31m \u001b[0mresult\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mfn\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m*\u001b[0m\u001b[0margs\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;34m**\u001b[0m\u001b[0mkwargs\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 2080\u001b[0m \u001b[0;32mreturn\u001b[0m \u001b[0mresult\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 2081\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n", "\u001b[0;32m\u001b[0m in \u001b[0;36mmatplotlib\u001b[0;34m(self, line)\u001b[0m\n", "\u001b[0;32m/home/data/anaconda3/lib/python3.6/site-packages/IPython/core/magic.py\u001b[0m in \u001b[0;36m\u001b[0;34m(f, *a, **k)\u001b[0m\n\u001b[1;32m 186\u001b[0m \u001b[0;31m# but it's overkill for just that one bit of state.\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 187\u001b[0m \u001b[0;32mdef\u001b[0m \u001b[0mmagic_deco\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0marg\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 188\u001b[0;31m \u001b[0mcall\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0;32mlambda\u001b[0m \u001b[0mf\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m*\u001b[0m\u001b[0ma\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m**\u001b[0m\u001b[0mk\u001b[0m\u001b[0;34m:\u001b[0m \u001b[0mf\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m*\u001b[0m\u001b[0ma\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m**\u001b[0m\u001b[0mk\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 189\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 190\u001b[0m \u001b[0;32mif\u001b[0m \u001b[0mcallable\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0marg\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", "\u001b[0;32m/home/data/anaconda3/lib/python3.6/site-packages/IPython/core/magics/pylab.py\u001b[0m in \u001b[0;36mmatplotlib\u001b[0;34m(self, line)\u001b[0m\n\u001b[1;32m 98\u001b[0m \u001b[0mprint\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m\"Available matplotlib backends: %s\"\u001b[0m \u001b[0;34m%\u001b[0m \u001b[0mbackends_list\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 99\u001b[0m \u001b[0;32melse\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 100\u001b[0;31m \u001b[0mgui\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mbackend\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mshell\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0menable_matplotlib\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0margs\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mgui\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 101\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_show_matplotlib_backend\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0margs\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mgui\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mbackend\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 102\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n", "\u001b[0;32m/home/data/anaconda3/lib/python3.6/site-packages/IPython/core/interactiveshell.py\u001b[0m in \u001b[0;36menable_matplotlib\u001b[0;34m(self, gui)\u001b[0m\n\u001b[1;32m 2945\u001b[0m \u001b[0mgui\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mbackend\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mpt\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mfind_gui_and_backend\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mpylab_gui_select\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 2946\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m-> 2947\u001b[0;31m \u001b[0mpt\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mactivate_matplotlib\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mbackend\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 2948\u001b[0m \u001b[0mpt\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mconfigure_inline_support\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mself\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mbackend\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 2949\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n", "\u001b[0;32m/home/data/anaconda3/lib/python3.6/site-packages/IPython/core/pylabtools.py\u001b[0m in \u001b[0;36mactivate_matplotlib\u001b[0;34m(backend)\u001b[0m\n\u001b[1;32m 293\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 294\u001b[0m \u001b[0;32mimport\u001b[0m \u001b[0mmatplotlib\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mpyplot\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 295\u001b[0;31m \u001b[0mmatplotlib\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mpyplot\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mswitch_backend\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mbackend\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 296\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 297\u001b[0m \u001b[0;31m# This must be imported last in the matplotlib series, after\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", "\u001b[0;32m/home/data/anaconda3/lib/python3.6/site-packages/matplotlib/pyplot.py\u001b[0m in \u001b[0;36mswitch_backend\u001b[0;34m(newbackend)\u001b[0m\n\u001b[1;32m 231\u001b[0m \u001b[0mmatplotlib\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0muse\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mnewbackend\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mwarn\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0;32mFalse\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mforce\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0;32mTrue\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 232\u001b[0m \u001b[0;32mfrom\u001b[0m \u001b[0mmatplotlib\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mbackends\u001b[0m \u001b[0;32mimport\u001b[0m \u001b[0mpylab_setup\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 233\u001b[0;31m \u001b[0m_backend_mod\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mnew_figure_manager\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mdraw_if_interactive\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0m_show\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mpylab_setup\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 234\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 235\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n", "\u001b[0;32m/home/data/anaconda3/lib/python3.6/site-packages/matplotlib/backends/__init__.py\u001b[0m in \u001b[0;36mpylab_setup\u001b[0;34m()\u001b[0m\n\u001b[1;32m 30\u001b[0m \u001b[0;31m# imports. 0 means only perform absolute imports.\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 31\u001b[0m backend_mod = __import__(backend_name,\n\u001b[0;32m---> 32\u001b[0;31m globals(),locals(),[backend_name],0)\n\u001b[0m\u001b[1;32m 33\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 34\u001b[0m \u001b[0;31m# Things we pull in from all backends\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", "\u001b[0;32m/home/data/anaconda3/lib/python3.6/site-packages/matplotlib/backends/backend_qt4agg.py\u001b[0m in \u001b[0;36m\u001b[0;34m()\u001b[0m\n\u001b[1;32m 16\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 17\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m---> 18\u001b[0;31m \u001b[0;32mfrom\u001b[0m \u001b[0;34m.\u001b[0m\u001b[0mbackend_qt5agg\u001b[0m \u001b[0;32mimport\u001b[0m \u001b[0mFigureCanvasQTAggBase\u001b[0m \u001b[0;32mas\u001b[0m \u001b[0m_FigureCanvasQTAggBase\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 19\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 20\u001b[0m \u001b[0;32mfrom\u001b[0m \u001b[0;34m.\u001b[0m\u001b[0mbackend_agg\u001b[0m \u001b[0;32mimport\u001b[0m \u001b[0mFigureCanvasAgg\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", "\u001b[0;32m/home/data/anaconda3/lib/python3.6/site-packages/matplotlib/backends/backend_qt5agg.py\u001b[0m in \u001b[0;36m\u001b[0;34m()\u001b[0m\n\u001b[1;32m 14\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 15\u001b[0m \u001b[0;32mfrom\u001b[0m \u001b[0;34m.\u001b[0m\u001b[0mbackend_agg\u001b[0m \u001b[0;32mimport\u001b[0m \u001b[0mFigureCanvasAgg\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m---> 16\u001b[0;31m \u001b[0;32mfrom\u001b[0m \u001b[0;34m.\u001b[0m\u001b[0mbackend_qt5\u001b[0m \u001b[0;32mimport\u001b[0m \u001b[0mQtCore\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 17\u001b[0m \u001b[0;32mfrom\u001b[0m \u001b[0;34m.\u001b[0m\u001b[0mbackend_qt5\u001b[0m \u001b[0;32mimport\u001b[0m \u001b[0mQtGui\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 18\u001b[0m \u001b[0;32mfrom\u001b[0m \u001b[0;34m.\u001b[0m\u001b[0mbackend_qt5\u001b[0m \u001b[0;32mimport\u001b[0m \u001b[0mFigureManagerQT\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", "\u001b[0;32m/home/data/anaconda3/lib/python3.6/site-packages/matplotlib/backends/backend_qt5.py\u001b[0m in \u001b[0;36m\u001b[0;34m()\u001b[0m\n\u001b[1;32m 24\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 25\u001b[0m \u001b[0;32mfrom\u001b[0m \u001b[0mmatplotlib\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mwidgets\u001b[0m \u001b[0;32mimport\u001b[0m \u001b[0mSubplotTool\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m---> 26\u001b[0;31m \u001b[0;32mimport\u001b[0m \u001b[0mmatplotlib\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mbackends\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mqt_editor\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mfigureoptions\u001b[0m \u001b[0;32mas\u001b[0m \u001b[0mfigureoptions\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 27\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 28\u001b[0m from .qt_compat import (QtCore, QtGui, QtWidgets, _getSaveFileName,\n", "\u001b[0;32m/home/data/anaconda3/lib/python3.6/site-packages/matplotlib/backends/qt_editor/figureoptions.py\u001b[0m in \u001b[0;36m\u001b[0;34m()\u001b[0m\n\u001b[1;32m 18\u001b[0m \u001b[0;32mimport\u001b[0m \u001b[0mmatplotlib\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 19\u001b[0m \u001b[0;32mfrom\u001b[0m \u001b[0mmatplotlib\u001b[0m \u001b[0;32mimport\u001b[0m \u001b[0mcm\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mmarkers\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mcolors\u001b[0m \u001b[0;32mas\u001b[0m \u001b[0mmcolors\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m---> 20\u001b[0;31m \u001b[0;32mimport\u001b[0m \u001b[0mmatplotlib\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mbackends\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mqt_editor\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mformlayout\u001b[0m \u001b[0;32mas\u001b[0m \u001b[0mformlayout\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 21\u001b[0m \u001b[0;32mfrom\u001b[0m \u001b[0mmatplotlib\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mbackends\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mqt_compat\u001b[0m \u001b[0;32mimport\u001b[0m \u001b[0mQtGui\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 22\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n", "\u001b[0;32m/home/data/anaconda3/lib/python3.6/site-packages/matplotlib/backends/qt_editor/formlayout.py\u001b[0m in \u001b[0;36m\u001b[0;34m()\u001b[0m\n\u001b[1;32m 54\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 55\u001b[0m \u001b[0;32mfrom\u001b[0m \u001b[0mmatplotlib\u001b[0m \u001b[0;32mimport\u001b[0m \u001b[0mcolors\u001b[0m \u001b[0;32mas\u001b[0m \u001b[0mmcolors\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m---> 56\u001b[0;31m \u001b[0;32mfrom\u001b[0m \u001b[0mmatplotlib\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mbackends\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mqt_compat\u001b[0m \u001b[0;32mimport\u001b[0m \u001b[0mQtGui\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mQtWidgets\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mQtCore\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 57\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 58\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n", "\u001b[0;32m/home/data/anaconda3/lib/python3.6/site-packages/matplotlib/backends/qt_compat.py\u001b[0m in \u001b[0;36m\u001b[0;34m()\u001b[0m\n\u001b[1;32m 135\u001b[0m \u001b[0;31m# have been changed in the above if block\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 136\u001b[0m \u001b[0;32mif\u001b[0m \u001b[0mQT_API\u001b[0m \u001b[0;32min\u001b[0m \u001b[0;34m[\u001b[0m\u001b[0mQT_API_PYQT\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mQT_API_PYQTv2\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m:\u001b[0m \u001b[0;31m# PyQt4 API\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 137\u001b[0;31m \u001b[0;32mfrom\u001b[0m \u001b[0mPyQt4\u001b[0m \u001b[0;32mimport\u001b[0m \u001b[0mQtCore\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mQtGui\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 138\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 139\u001b[0m \u001b[0;32mtry\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", "\u001b[0;31mModuleNotFoundError\u001b[0m: No module named 'PyQt4'" ] } ], "source": [ "import numpy as np\n", "import matplotlib.pyplot as plt\n", "\n", "\n", "%load_ext autoreload\n", "\n", "from ipywidgets import interact, interactive, fixed, interact_manual\n", "import ipywidgets as widgets\n", "\n", "%autoreload 2\n", "%matplotlib" ] }, { "cell_type": "markdown", "metadata": { "hideCode": false, "hidePrompt": false }, "source": [ "## Load old configurations" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "collapsed": true, "hideCode": false, "hidePrompt": false }, "outputs": [], "source": [ "for i in range(-1,0):\n", " config = io.load(i)\n", " print (i ,config['comment'])" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "collapsed": true, "hideCode": false, "hidePrompt": false }, "outputs": [], "source": [ "import DataManager as dm\n", "io = dm.IO('Data/')\n", "config = io.load(-1)\n", "print (config['comment'],' loaded')" ] }, { "cell_type": "markdown", "metadata": { "hideCode": false, "hidePrompt": false }, "source": [ "## FocusCamera" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "collapsed": true, "hideCode": false, "hidePrompt": false }, "outputs": [], "source": [ "from Devices.FocusCamera import FocusCamera\n", "\n", "try:\n", " para_config = config['FocusCamera']\n", "except:\n", " para_config = {'ExposureTimeAbs': 10000,\n", " 'min_intensity': 2000,\n", " 'measure_full' : True}\n", " \n", "focus = FocusCamera(para_config)" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "collapsed": true, "hideCode": false, "hidePrompt": false }, "outputs": [], "source": [ "meas = focus.measure()" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "collapsed": true, "hideCode": false, "hidePrompt": false }, "outputs": [], "source": [ "focus.plot_measure(meas)\n", "plt.show()" ] }, { "cell_type": "markdown", "metadata": { "hideCode": false, "hidePrompt": false }, "source": [ "## ParabolicMirror" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "collapsed": true, "hideCode": false, "hidePrompt": false }, "outputs": [], "source": [ "from Devices.ParabolicMirror import ParabolicMirror\n", "\n", "\n", "try:\n", " para_config = config['ParabolicMirror']\n", "except:\n", " para_config = {'pos_Pay': 3,\n", " 'pos_Paz': 3}\n", " \n", "para = ParabolicMirror(para_config, home = True)" ] }, { "cell_type": "markdown", "metadata": { "hideCode": false, "hidePrompt": false }, "source": [ "## Periscope" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "collapsed": true, "hideCode": false, "hidePrompt": false }, "outputs": [], "source": [ "from Devices.Periscope import Periscope\n", "\n", "\n", "try:\n", " per_config = config['Periscope']\n", "except:\n", " per_config = {'pos_l_x': 0.1,\n", " 'pos_l_y': 0.1,\n", " 'pos_l_z': 0.1, \n", " 'pos_g_origin_x': -25./2,\n", " 'pos_g_origin_y': 25./2,\n", " 'pos_g_origin_z': 25./2,\n", " 'deltaz_Mz': 0,\n", " 'deltaz_Cz': 0,\n", " 'sync_camera': False}\n", " \n", "per = Periscope(per_config, home = True)" ] }, { "cell_type": "markdown", "metadata": { "hideCode": false, "hidePrompt": false }, "source": [ "## BladePositioning" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "collapsed": true, "hideCode": false, "hidePrompt": false }, "outputs": [], "source": [ "from Devices.BladePositioning import BladePositioning\n", "\n", "try:\n", " blade_config = config['BladePositioning']\n", "except:\n", " blade_config = {'pos_R':344.25, 'pos_L':-2.8}\n", "blade = BladePositioning(blade_config, init = 0)" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "collapsed": true, "hideCode": false, "hidePrompt": false }, "outputs": [], "source": [ "#import time\n", "#t = time.time()\n", "#blade.get_config()\n", "#time.time() -t" ] }, { "cell_type": "markdown", "metadata": { "hideCode": false, "hidePrompt": false }, "source": [ "## Interferometer" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "collapsed": true, "hideCode": false, "hidePrompt": false }, "outputs": [], "source": [ "from Devices.Interferometer import Interferometer\n", "\n", "try:\n", " inter_config = config['Interferometer']\n", "except:\n", " inter_config = {'xmax':6.0,\n", " 'xmin':2.6,\n", " 'ymin':3, \n", " 'ymax':12,\n", " 'ExposureTimeAbs':35,\n", " 'TriggerMode':'Off'}\n", "inter = Interferometer(inter_config)" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "collapsed": true, "hideCode": false, "hidePrompt": false }, "outputs": [], "source": [ "measurement = inter.measure()" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "collapsed": true, "hideCode": false, "hideOutput": true, "hidePrompt": false }, "outputs": [], "source": [ "inter.plot_measure(measurement)" ] }, { "cell_type": "markdown", "metadata": { "hideCode": false, "hidePrompt": false }, "source": [ "## DelayGenerator" ] }, { "cell_type": "code", "execution_count": 1, "metadata": { "collapsed": true, "hideCode": false, "hidePrompt": false }, "outputs": [], "source": [ "from Devices.DelayGenerator import DelayGenerator\n", "\n", "try:\n", " delay_config = config['DelayGenerator']\n", "except:\n", " delay_config = {'jet_triggered': True,\n", " 'mode': 'single shot',\n", " 'rate': 10.,\n", " 't_sleep': 0.05}\n", "\n", "delay = DelayGenerator(delay_config)" ] }, { "cell_type": "code", "execution_count": 2, "metadata": { "hideCode": false, "hidePrompt": false }, "outputs": [ { "data": { "text/plain": [ "{'time': '2017-04-28_09-15-17.496478'}" ] }, "execution_count": 2, "metadata": {}, "output_type": "execute_result" } ], "source": [ "delay.measure()" ] }, { "cell_type": "markdown", "metadata": { "hideCode": false, "hidePrompt": false }, "source": [ "## DRS4" ] }, { "cell_type": "code", "execution_count": 3, "metadata": { "collapsed": true, "hideCode": false, "hidePrompt": false }, "outputs": [], "source": [ "from Devices.DRS4 import DRS4\n", "\n", "try:\n", " drs_config = config['DRS4']\n", "except:\n", " drs_config = {'trigger_level_CH0': 100,\n", " 'trigger_mode':2,\n", " 'delay': 0.0}\n", "drs = DRS4(drs_config)" ] }, { "cell_type": "markdown", "metadata": { "hideCode": false, "hidePrompt": false }, "source": [ "## Laser" ] }, { "cell_type": "code", "execution_count": 4, "metadata": { "hideCode": false, "hidePrompt": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "-22.9\n" ] } ], "source": [ "from Devices.Laser import Laser\n", "\n", "try:\n", " laser_config = config['Laser']\n", "except:\n", " laser_config = {'max_angle': -22.9,\n", " 'attenuation': 100,\n", " 'comp_lin': 37.796,\n", " 'channel': 1}\n", "\n", "laser = Laser(laser_config, drs)" ] }, { "cell_type": "markdown", "metadata": { "hideCode": false, "hidePrompt": false }, "source": [ "## FaradayCup" ] }, { "cell_type": "code", "execution_count": 5, "metadata": { "collapsed": true, "hideCode": false, "hidePrompt": false }, "outputs": [], "source": [ "from Devices.FaradayCup import FaradayCup\n", "\n", "try:\n", " fara_config = config['FaradayCup']\n", " fara = FaradayCup(fara_config, drs)\n", "except:\n", " fara_config = {'channel':2,\n", " 'R': 50,\n", " 'amplification': 1e4}\n", " fara = FaradayCup(fara_config, drs)\n", "\n" ] }, { "cell_type": "markdown", "metadata": { "hideCode": false, "hidePrompt": false }, "source": [ "## test_devices" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "collapsed": true, "hideCode": false, "hidePrompt": false }, "outputs": [], "source": [ "from Devices.test_devices import test_device1, test_device2\n", "\n", "td1 = test_device1(2)\n", "td2 = test_device2(4.)" ] }, { "cell_type": "markdown", "metadata": { "hideCode": false, "hidePrompt": false }, "source": [ "# IO und GUI" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "hideCode": false, "hidePrompt": false }, "outputs": [], "source": [ "import DataManager as dm\n", "import matplotlib.pyplot as plt\n", "import numpy as np\n", "\n", "io = dm.IO('Data/')\n", "\n", "%matplotlib\n", "\n", "import GUI" ] }, { "cell_type": "code", "execution_count": 7, "metadata": { "collapsed": true, "hideCode": false, "hidePrompt": false, "slideshow": { "slide_type": "skip" } }, "outputs": [], "source": [ "#devices = [delay,inter,laser, drs, fara, blade, focus]#, per]#, blade] #use this to run the LWFA\n", "devices = [fara]\n", "#devices = [per, para, laser, focus] #use this to do focus optimization\n", "#devices = [td1, td2, delay]#, inter] #Use this do debug the gui and data menager" ] }, { "cell_type": "code", "execution_count": 8, "metadata": { "hideCode": false, "hidePrompt": false, "scrolled": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "FaradayCup config time: 3.814697265625e-06\n", "FaradayCup measured\n", "FaradayCup measure time: 0.001710653305053711\n", "maximal possible rate: 7.2\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "/home/data/anaconda3/lib/python3.6/site-packages/matplotlib/backend_bases.py:2445: MatplotlibDeprecationWarning: Using default event loop until function specific to this GUI is implemented\n", " warnings.warn(str, mplDeprecation)\n" ] } ], "source": [ "plt.ion()\n", "GUI.main(devices, io)" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "collapsed": true, "hideCode": false, "hidePrompt": false }, "outputs": [], "source": [ "dm.set_config(devices,io.load(29, elog = True))" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "collapsed": true, "hideCode": false, "hidePrompt": false }, "outputs": [], "source": [ "list_of_measurements = io.search(kind = 'measure')" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "collapsed": true, "hideCode": false, "hidePrompt": false }, "outputs": [], "source": [ "io.search(output = False)" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "collapsed": true, "hideCode": false, "hidePrompt": false, "scrolled": false }, "outputs": [], "source": [ "%autoreload\n", "para.optimize(focus, laser, per, 0.006, output = True)" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "collapsed": true, "hideCode": false, "hidePrompt": false }, "outputs": [], "source": [] } ], "metadata": { "anaconda-cloud": {}, "celltoolbar": "Hide code", "hide_code_all_hidden": false, "kernelspec": { "display_name": "Python 3", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.6.0" }, "widgets": { "state": { "08c2776eb79a4f36bf5568c206b0dcb1": { "views": [ { "cell_index": 34 } ] }, "0fab028e40f545c9aac05021b91eab08": { "views": [ { "cell_index": 34 } ] }, "10417ceda5db4803ac0e573038720a15": { "views": [ { "cell_index": 34 } ] }, "105b42a653e74a9691a6eb9c6f19d646": { "views": [ { "cell_index": 34 } ] }, "1972db76e6b3499ba04e1f7b9dbe1c01": { "views": [ { "cell_index": 34 } ] }, "1c4084f00cb44f3ea97dafbebafa8cf1": { "views": [ { "cell_index": 34 } ] }, "1c9dea0ac3cf4f2abd3e411818244156": { "views": [ { "cell_index": 34 } ] }, "1d645ddaedc447f8b62f9845f70ac848": { "views": [ { "cell_index": 34 } ] }, "2ac15d57388c46ddb633dbf31c02ed6d": { "views": [ { "cell_index": 34 } ] }, "2c687988ae6444ac85fbb4bcc03f33d4": { "views": [ { "cell_index": 34 } ] }, "32c4c0c7f4c242ec872e101e382b368d": { "views": [ { "cell_index": 34 } ] }, "3d07b01c85d5498098d3164d6504f60f": { "views": [ { "cell_index": 34 } ] }, "4356c9aa8fc54e3ca13b2aa575551f9c": { "views": [ { "cell_index": 34 } ] }, "49977c801a0a4a278b9071caa0538efa": { "views": [ { "cell_index": 34 } ] }, "5ee512e30d7c4cb3a0cb10168f3ad255": { "views": [ { "cell_index": 34 } ] }, "6843f1bec14f4419a68b8260a453d25d": { "views": [ { "cell_index": 34 } ] }, "69c5fc13167b48b4a7db6f2a52f4155c": { "views": [ { "cell_index": 34 } ] }, "6d1c701084da49da9c50c619b27a63df": { "views": [ { "cell_index": 34 } ] }, "7669507786de430383cdc5bc274047d4": { "views": [ { "cell_index": 34 } ] }, "7b73061b426d47b6a1cf615c0f689cd7": { "views": [ { "cell_index": 34 } ] }, "7d7dce36cc724cdb81e85eb7d08ba57a": { "views": [ { "cell_index": 34 } ] }, "7e600a72133249a3a3455b026dc2277b": { "views": [ { "cell_index": 34 } ] }, "7fa43d10f81f4d2cb78805ca0fb716a7": { "views": [ { "cell_index": 34 } ] }, "938fafa579054e6d8ea7fb02f21316ca": { "views": [ { "cell_index": 34 } ] }, "97bb03233dec417486c7a0732e90ac5f": { "views": [ { "cell_index": 34 } ] }, "a15286e58d824d83ba3580cfe5e27b0a": { "views": [ { "cell_index": 34 } ] }, "ab590b2f10034d10a26ed89bcf072215": { "views": [ { "cell_index": 34 } ] }, "b4f09a0253064fbc8e25b9aac7f8d42c": { "views": [ { "cell_index": 34 } ] }, "b552410f6d254e52b549a2985b345a93": { "views": [ { "cell_index": 34 } ] }, "bfd8f450b5b14acc8cdbfe6d179b9eec": { "views": [ { "cell_index": 34 } ] }, "c4c5b0e7b8e341d3bd598b0bff4093b7": { "views": [ { "cell_index": 34 } ] }, "d6a5d1a3354146a2adb462738894d661": { "views": [ { "cell_index": 34 } ] }, "da2d5f305c9e42a294e44e3787a15dbf": { "views": [ { "cell_index": 34 } ] }, "f10f4f4657314b0f9604c274f7e8c33f": { "views": [ { "cell_index": 34 } ] }, "f4552908bdcf48908d295848d08ea6fe": { "views": [ { "cell_index": 34 } ] }, "f78279420bbd49bf8c9fe37c5b6bad3c": { "views": [ { "cell_index": 34 } ] } }, "version": "1.2.0" } }, "nbformat": 4, "nbformat_minor": 2 }