From 56f5c2c50539b9e03de9d433e183018c836576a5 Mon Sep 17 00:00:00 2001 From: NUNEZ Arturo Date: Wed, 15 Aug 2018 16:30:02 +0200 Subject: [PATCH] =?UTF-8?q?Automatic=20commit=20mercredi=2015=20ao=C3=BBt?= =?UTF-8?q?=202018,=2016:30:02=20(UTC+0200)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- LAM2LUPM/Mochima_2_2LUPM_HR.ipynb | 2873 +++++++++++++++++++++++++++-- 1 file changed, 2695 insertions(+), 178 deletions(-) diff --git a/LAM2LUPM/Mochima_2_2LUPM_HR.ipynb b/LAM2LUPM/Mochima_2_2LUPM_HR.ipynb index 9d59357..0cd78dd 100644 --- a/LAM2LUPM/Mochima_2_2LUPM_HR.ipynb +++ b/LAM2LUPM/Mochima_2_2LUPM_HR.ipynb @@ -3457,7 +3457,7 @@ }, { "cell_type": "code", - "execution_count": 114, + "execution_count": 144, "metadata": { "collapsed": true }, @@ -3510,7 +3510,7 @@ }, { "cell_type": "code", - "execution_count": 117, + "execution_count": 145, "metadata": { "collapsed": false, "scrolled": true @@ -4386,7 +4386,7 @@ }, { "cell_type": "code", - "execution_count": 125, + "execution_count": 147, "metadata": { "collapsed": false, "scrolled": true @@ -4461,7 +4461,7 @@ "\n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", @@ -4475,13 +4475,13 @@ " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", " \n", " \n", + " \n", + " \n", " \n", - " \n", - " \n", " \n", " \n", " \n", @@ -4536,19 +4536,19 @@ " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", + " \n", + " \n", " \n", - " \n", - " \n", " \n", " \n", " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", " \n", " \n", " \n", @@ -4572,19 +4572,19 @@ " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", + " \n", + " \n", " \n", - " \n", - " \n", " \n", " \n", " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", " \n", " \n", " \n", @@ -4595,8 +4595,8 @@ " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", " \n", " \n", " \n", @@ -4606,12 +4606,12 @@ " \n", "
++NameValueParab Error
1B_09.91100.711496009.010.0FIXED
6d_08.712.59284007.010.5FIXED
7z_d1.0251.274110.40.973361000.09D_08.512.49992007.010.5FIXED
10z_D1.11.223650.91.16747000.7
11RD1.84.516011.44.37212000.5
\n", " \n", - "
\n",
+       "            
\n",
        "            \n",
        "            
\n", @@ -4665,12 +4665,12 @@ "\n", " \n", " \n", - " \n", - " \n", - " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", @@ -4686,11 +4686,11 @@ " \n", " \n", " \n", + " \n", " \n", - " \n", - " \n", - " \n", - " \n", + " \n", + " \n", + " \n", " \n", " \n", " \n", @@ -4702,7 +4702,7 @@ " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", @@ -4719,7 +4719,7 @@ "\n", "
FCN = 3.72529029846e-09TOTAL NCALL = 190NCALLS = 190FCN = 7.54371285439e-08TOTAL NCALL = 357NCALLS = 357
EDM = 4.59232763359e-06EDM = 0.12518129097GOAL EDM = 1e-05\n", " UP = 1.0Made PosDef
FalseTrueTrueTrueTrueFalseFalseFalseTrue
Hesse Fail
FalseTrueFalseTrueFalse
\n", " \n", - " \n", + " \n", " \n", " \n", " \n", @@ -4733,7 +4733,7 @@ " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", @@ -4745,8 +4745,8 @@ " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", " \n", " \n", " \n", @@ -4758,7 +4758,7 @@ " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", @@ -4769,8 +4769,8 @@ " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", " \n", " \n", " \n", @@ -4781,8 +4781,8 @@ " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", " \n", " \n", " \n", @@ -4805,20 +4805,20 @@ " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", " \n", " \n", " \n", @@ -4841,55 +4841,55 @@ " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", "
++NameValueParab Error
1B_09.910100
2r00.5826185.80595e-110.6390192.34111e-09000.03al0.1000026.90212e-141.68551e-10000.1
4r_cut1.140971.29182e-111.143739.01987e-11000.0
5q0.6971431.68938e-110.7172121.69263e-10000.0
7z_d1.078163.94025e-110.4485241.86304e-10000.01.74250.68
8Rd2.177355.35001e-113.399916.52566e-10000.0
10z_D1.127816.35202e-111.076242.59798e-09000.01.871.53
11RD2.608739.06335e-111.482752.30094e-10000.03.062.38
\n", " \n", - "
\n",
+       "            
\n",
        "            \n",
        "            
\n", @@ -4911,17 +4911,17 @@ ], "source": [ "m1=Minuit(chi2_st, \n", - " B_0=9.9, fix_B_0=True,#error_B_0=0.5, limit_B_0=(9,10),\n", + " B_0=10.9, error_B_0=0.5, limit_B_0=(9,10),\n", " r0=0.55, error_r0=0.1, limit_r0=(0.01,2),\n", " al=0.3, error_al=0.01, limit_al=(0.01,5.),\n", " r_cut=1.1, error_r_cut=0.1, limit_r_cut=(0.5,9.),\n", " q=0.66, error_q=0.1, limit_q=(0,1.),\n", - " d_0=8.7, fix_d_0=True,#error_d_0=0.5, limit_d_0=(7,10.5),\n", - " z_d=1.025, error_z_d=0.2, limit_z_d=(0.,1.6),\n", - " Rd=1.5, error_Rd=0.01, limit_Rd=(2.,9.0),\n", - " D_0=8.5, fix_D_0=True,#error_D_0=0.5, limit_D_0=(7.,10.5),\n", - " z_D=1.1, error_z_D=0.02, limit_z_D=(0.7,2.9),\n", - " RD=1.8, error_RD=0.01, limit_RD=(.5,9.)\n", + " d_0=8.7, error_d_0=0.5, limit_d_0=(7,10.5),\n", + " z_d=0.4, error_z_d=0.2, limit_z_d=(0.,1.6),\n", + " Rd=1.1, error_Rd=0.01, limit_Rd=(2.,9.0),\n", + " D_0=8.5, error_D_0=0.5, limit_D_0=(7.,10.5),\n", + " z_D=0.9, error_z_D=0.02, limit_z_D=(0.7,2.9),\n", + " RD=1.4, error_RD=0.01, limit_RD=(.5,9.)\n", " )\n", "m1.migrad();\n", "\n", @@ -4947,7 +4947,7 @@ }, { "cell_type": "code", - "execution_count": 126, + "execution_count": 148, "metadata": { "collapsed": true }, @@ -4982,7 +4982,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 149, "metadata": { "collapsed": false }, @@ -4995,11 +4995,158 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 150, "metadata": { "collapsed": false }, - "outputs": [], + "outputs": [ + { + "data": { + "text/html": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
FCN = 0.0348038613555TOTAL NCALL = 87NCALLS = 87
EDM = 0.000120331864042GOAL EDM = 1e-05\n", + " UP = 1.0
\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
ValidValid ParamAccurate CovarPosDefMade PosDef
TrueTrueTrueTrueFalse
Hesse FailHasCovAbove EDMReach calllim
FalseTrueFalseFalse
\n", + " " + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
+NameValueParab ErrorMinos Error-Minos Error+Limit-Limit+FIXED
1B09.88850.91479007.010.7
2d08.620771.85459007.09.1
3D09.099991.86009007.09.1
\n", + " \n", + "
\n",
+       "            \n",
+       "            
\n", + " " + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], "source": [ "def chimass(B0,d0,D0):\n", " c = np.log10(get_masses(r_masses,B0,d0,D0))-np.log10(data_mass)\n", @@ -5016,7 +5163,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 151, "metadata": { "collapsed": false }, @@ -5027,108 +5174,1701 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 152, "metadata": { "collapsed": false, "scrolled": false }, - "outputs": [], - "source": [ - "bulge = \"Bulge: \\n\"\n", - "bulge += r\"log($\\rho _b$) = {0:.3f} $\\pm$ {1:.3f}\".format(mmass.values[\"B0\"],mmass.errors[\"B0\"])+\"\\n\"\n", - "bulge += r\"$r_0$ = {0:.3f} $\\pm$ {1:.3f}\".format(m2.values[\"r0\"],m2.errors[\"r0\"])+\"\\n\"\n", - "bulge += r\"$\\alpha$ = {0:.3f} $\\pm$ {1:.3f}\".format(m2.values[\"al\"],m2.errors[\"al\"])+\"\\n\"\n", - "bulge += r\"r$_c$ = {0:.3f} $\\pm$ {1:.3f}\".format(m2.values[\"r_cut\"],m2.errors[\"r_cut\"])+\"\\n\"\n", - "bulge += r\"q = {0:.3f} $\\pm$ {1:.3f}\".format(m2.values[\"q\"],m2.errors[\"q\"])+\"\\n\"\n", - "\n", - "thin_disc = \"Thin disc: \\n\"\n", - "thin_disc += r\"log($\\rho _d$) = {0:.3f} $\\pm$ {1:.3f}\".format(mmass.values[\"d0\"],mmass.errors[\"d0\"])+\"\\n\"\n", - "thin_disc += r\"$z_d$ = {0:.3f} $\\pm$ {1:.3f}\".format(m2.values[\"z_d\"],m2.errors[\"z_d\"])+\"\\n\"\n", - "thin_disc += r\"$R_d$ = {0:.3f} $\\pm$ {1:.3f}\".format(m2.values[\"Rd\"],m2.errors[\"Rd\"])+\"\\n\"\n", - "\n", - "thik_disc = \"Thick disc: \\n\"\n", - "thik_disc += r\"log($\\rho _D$) = {0:.3f} $\\pm$ {1:.3f}\".format(mmass.values[\"D0\"],mmass.errors[\"D0\"])+\"\\n\"\n", - "thik_disc += r\"$z_D$ = {0:.3f} $\\pm$ {1:.3f}\".format(m2.values[\"z_D\"],m2.errors[\"z_D\"])+\"\\n\"\n", - "thik_disc += r\"$R_D$ = {0:.3f} $\\pm$ {1:.3f}\".format(m2.values[\"RD\"],m2.errors[\"RD\"])+\"\\n\"\n", - "\n", - "\n", - "\n", - "fig, ax = plt.subplots(1,2,figsize=[12,6])\n", - "fig.text(0.4,0.95,\"Stars fit mass Mochima 2\",fontsize=18)\n", - "fig.text(0.135,0.62,bulge,fontsize=12)\n", - "fig.text(0.3,0.58,thin_disc,fontsize=12)\n", - "fig.text(0.3,0.28,thik_disc,fontsize=12)\n", - "\n", - "ax[0].set_xlabel(\"R [kpc]\",fontsize=15)\n", - "ax[1].set_xlabel(\"R [kpc]\",fontsize=15)\n", - "ax[0].set_ylabel(r\"M [M$_{\\odot}$]\",fontsize=15)\n", - "ax[1].set_ylabel(r\"fit mass / data mass\",fontsize=15)\n", - "\n", - "ax[0].set_xscale('log')\n", - "ax[1].set_xscale('log')\n", - "ax[0].set_yscale('log')\n", - "#ax[1].set_yscale('log')\n", - "ax[1].set_ylim([0.85,1.15])\n", - "ax[0].plot(r_masses,level1,'b--',lw=1.5,label=\"integrated mass at R\\nfrom fit\")\n", - "ax[1].axhline(y=1,c='k')\n", - "ax[0].plot(r_masses,data_mass,'k',lw=1.5,label=\"simulation mass inside R\")\n", - "ax[1].plot(r_masses,level1/data_mass,'b--',lw=1.5,label=\"ratio fit_mass/data_mass\")\n", - "legend = ax[0].legend(loc='lower right', ncol=1, shadow=False, fontsize=14)\n", - "frame = legend.get_frame()\n", - "legend = ax[1].legend(loc='lower right', ncol=1, shadow=False, fontsize=14)\n", - "#frame = legend.get_frame()" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": { - "collapsed": true - }, - "outputs": [], - "source": [] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": { - "collapsed": false - }, - "outputs": [], - "source": [ - "print \"###################################################\"\n", - "print \"##################### LUPM ########################\"\n", - "print \"################# Mochima Hydro ###################\"\n", - "print \"###################################################\"\n", - "print \"#################### Stars ########################\"\n", - "\n", - "print bulge\n", - "print thin_disc\n", - "print thik_disc" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": { - "collapsed": true - }, - "outputs": [], - "source": [] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": { - "collapsed": false - }, - "outputs": [], - "source": [ - "\n", - "bins = stars_bins\n", - "x = xedges#np.logspace(-1,np.log10(25),bins)\n", - "y = yedges#np.linspace(-6,6,bins/2.5)\n", - "U= np.meshgrid(x, y)\n", + "outputs": [ + { + "data": { + "application/javascript": [ + "/* Put everything inside the global mpl namespace */\n", + "window.mpl = {};\n", + "\n", + "mpl.get_websocket_type = function() {\n", + " if (typeof(WebSocket) !== 'undefined') {\n", + " return WebSocket;\n", + " } else if (typeof(MozWebSocket) !== 'undefined') {\n", + " return MozWebSocket;\n", + " } else {\n", + " alert('Your browser does not have WebSocket support.' +\n", + " 'Please try Chrome, Safari or Firefox ≥ 6. ' +\n", + " 'Firefox 4 and 5 are also supported but you ' +\n", + " 'have to enable WebSockets in about:config.');\n", + " };\n", + "}\n", + "\n", + "mpl.figure = function(figure_id, websocket, ondownload, parent_element) {\n", + " this.id = figure_id;\n", + "\n", + " this.ws = websocket;\n", + "\n", + " this.supports_binary = (this.ws.binaryType != undefined);\n", + "\n", + " if (!this.supports_binary) {\n", + " var warnings = document.getElementById(\"mpl-warnings\");\n", + " if (warnings) {\n", + " warnings.style.display = 'block';\n", + " warnings.textContent = (\n", + " \"This browser does not support binary websocket messages. \" +\n", + " \"Performance may be slow.\");\n", + " }\n", + " }\n", + "\n", + " this.imageObj = new Image();\n", + "\n", + " this.context = undefined;\n", + " this.message = undefined;\n", + " this.canvas = undefined;\n", + " this.rubberband_canvas = undefined;\n", + " this.rubberband_context = undefined;\n", + " this.format_dropdown = undefined;\n", + "\n", + " this.image_mode = 'full';\n", + "\n", + " this.root = $('
');\n", + " this._root_extra_style(this.root)\n", + " this.root.attr('style', 'display: inline-block');\n", + "\n", + " $(parent_element).append(this.root);\n", + "\n", + " this._init_header(this);\n", + " this._init_canvas(this);\n", + " this._init_toolbar(this);\n", + "\n", + " var fig = this;\n", + "\n", + " this.waiting = false;\n", + "\n", + " this.ws.onopen = function () {\n", + " fig.send_message(\"supports_binary\", {value: fig.supports_binary});\n", + " fig.send_message(\"send_image_mode\", {});\n", + " fig.send_message(\"refresh\", {});\n", + " }\n", + "\n", + " this.imageObj.onload = function() {\n", + " if (fig.image_mode == 'full') {\n", + " // Full images could contain transparency (where diff images\n", + " // almost always do), so we need to clear the canvas so that\n", + " // there is no ghosting.\n", + " fig.context.clearRect(0, 0, fig.canvas.width, fig.canvas.height);\n", + " }\n", + " fig.context.drawImage(fig.imageObj, 0, 0);\n", + " };\n", + "\n", + " this.imageObj.onunload = function() {\n", + " this.ws.close();\n", + " }\n", + "\n", + " this.ws.onmessage = this._make_on_message_function(this);\n", + "\n", + " this.ondownload = ondownload;\n", + "}\n", + "\n", + "mpl.figure.prototype._init_header = function() {\n", + " var titlebar = $(\n", + " '
');\n", + " var titletext = $(\n", + " '
');\n", + " titlebar.append(titletext)\n", + " this.root.append(titlebar);\n", + " this.header = titletext[0];\n", + "}\n", + "\n", + "\n", + "\n", + "mpl.figure.prototype._canvas_extra_style = function(canvas_div) {\n", + "\n", + "}\n", + "\n", + "\n", + "mpl.figure.prototype._root_extra_style = function(canvas_div) {\n", + "\n", + "}\n", + "\n", + "mpl.figure.prototype._init_canvas = function() {\n", + " var fig = this;\n", + "\n", + " var canvas_div = $('
');\n", + "\n", + " canvas_div.attr('style', 'position: relative; clear: both; outline: 0');\n", + "\n", + " function canvas_keyboard_event(event) {\n", + " return fig.key_event(event, event['data']);\n", + " }\n", + "\n", + " canvas_div.keydown('key_press', canvas_keyboard_event);\n", + " canvas_div.keyup('key_release', canvas_keyboard_event);\n", + " this.canvas_div = canvas_div\n", + " this._canvas_extra_style(canvas_div)\n", + " this.root.append(canvas_div);\n", + "\n", + " var canvas = $('');\n", + " canvas.addClass('mpl-canvas');\n", + " canvas.attr('style', \"left: 0; top: 0; z-index: 0; outline: 0\")\n", + "\n", + " this.canvas = canvas[0];\n", + " this.context = canvas[0].getContext(\"2d\");\n", + "\n", + " var rubberband = $('');\n", + " rubberband.attr('style', \"position: absolute; left: 0; top: 0; z-index: 1;\")\n", + "\n", + " var pass_mouse_events = true;\n", + "\n", + " canvas_div.resizable({\n", + " start: function(event, ui) {\n", + " pass_mouse_events = false;\n", + " },\n", + " resize: function(event, ui) {\n", + " fig.request_resize(ui.size.width, ui.size.height);\n", + " },\n", + " stop: function(event, ui) {\n", + " pass_mouse_events = true;\n", + " fig.request_resize(ui.size.width, ui.size.height);\n", + " },\n", + " });\n", + "\n", + " function mouse_event_fn(event) {\n", + " if (pass_mouse_events)\n", + " return fig.mouse_event(event, event['data']);\n", + " }\n", + "\n", + " rubberband.mousedown('button_press', mouse_event_fn);\n", + " rubberband.mouseup('button_release', mouse_event_fn);\n", + " // Throttle sequential mouse events to 1 every 20ms.\n", + " rubberband.mousemove('motion_notify', mouse_event_fn);\n", + "\n", + " rubberband.mouseenter('figure_enter', mouse_event_fn);\n", + " rubberband.mouseleave('figure_leave', mouse_event_fn);\n", + "\n", + " canvas_div.on(\"wheel\", function (event) {\n", + " event = event.originalEvent;\n", + " event['data'] = 'scroll'\n", + " if (event.deltaY < 0) {\n", + " event.step = 1;\n", + " } else {\n", + " event.step = -1;\n", + " }\n", + " mouse_event_fn(event);\n", + " });\n", + "\n", + " canvas_div.append(canvas);\n", + " canvas_div.append(rubberband);\n", + "\n", + " this.rubberband = rubberband;\n", + " this.rubberband_canvas = rubberband[0];\n", + " this.rubberband_context = rubberband[0].getContext(\"2d\");\n", + " this.rubberband_context.strokeStyle = \"#000000\";\n", + "\n", + " this._resize_canvas = function(width, height) {\n", + " // Keep the size of the canvas, canvas container, and rubber band\n", + " // canvas in synch.\n", + " canvas_div.css('width', width)\n", + " canvas_div.css('height', height)\n", + "\n", + " canvas.attr('width', width);\n", + " canvas.attr('height', height);\n", + "\n", + " rubberband.attr('width', width);\n", + " rubberband.attr('height', height);\n", + " }\n", + "\n", + " // Set the figure to an initial 600x600px, this will subsequently be updated\n", + " // upon first draw.\n", + " this._resize_canvas(600, 600);\n", + "\n", + " // Disable right mouse context menu.\n", + " $(this.rubberband_canvas).bind(\"contextmenu\",function(e){\n", + " return false;\n", + " });\n", + "\n", + " function set_focus () {\n", + " canvas.focus();\n", + " canvas_div.focus();\n", + " }\n", + "\n", + " window.setTimeout(set_focus, 100);\n", + "}\n", + "\n", + "mpl.figure.prototype._init_toolbar = function() {\n", + " var fig = this;\n", + "\n", + " var nav_element = $('
')\n", + " nav_element.attr('style', 'width: 100%');\n", + " this.root.append(nav_element);\n", + "\n", + " // Define a callback function for later on.\n", + " function toolbar_event(event) {\n", + " return fig.toolbar_button_onclick(event['data']);\n", + " }\n", + " function toolbar_mouse_event(event) {\n", + " return fig.toolbar_button_onmouseover(event['data']);\n", + " }\n", + "\n", + " for(var toolbar_ind in mpl.toolbar_items) {\n", + " var name = mpl.toolbar_items[toolbar_ind][0];\n", + " var tooltip = mpl.toolbar_items[toolbar_ind][1];\n", + " var image = mpl.toolbar_items[toolbar_ind][2];\n", + " var method_name = mpl.toolbar_items[toolbar_ind][3];\n", + "\n", + " if (!name) {\n", + " // put a spacer in here.\n", + " continue;\n", + " }\n", + " var button = $('');\n", + " button.click(method_name, toolbar_event);\n", + " button.mouseover(tooltip, toolbar_mouse_event);\n", + " nav_element.append(button);\n", + " }\n", + "\n", + " // Add the status bar.\n", + " var status_bar = $('');\n", + " nav_element.append(status_bar);\n", + " this.message = status_bar[0];\n", + "\n", + " // Add the close button to the window.\n", + " var buttongrp = $('
');\n", + " var button = $('');\n", + " button.click(function (evt) { fig.handle_close(fig, {}); } );\n", + " button.mouseover('Stop Interaction', toolbar_mouse_event);\n", + " buttongrp.append(button);\n", + " var titlebar = this.root.find($('.ui-dialog-titlebar'));\n", + " titlebar.prepend(buttongrp);\n", + "}\n", + "\n", + "mpl.figure.prototype._root_extra_style = function(el){\n", + " var fig = this\n", + " el.on(\"remove\", function(){\n", + "\tfig.close_ws(fig, {});\n", + " });\n", + "}\n", + "\n", + "mpl.figure.prototype._canvas_extra_style = function(el){\n", + " // this is important to make the div 'focusable\n", + " el.attr('tabindex', 0)\n", + " // reach out to IPython and tell the keyboard manager to turn it's self\n", + " // off when our div gets focus\n", + "\n", + " // location in version 3\n", + " if (IPython.notebook.keyboard_manager) {\n", + " IPython.notebook.keyboard_manager.register_events(el);\n", + " }\n", + " else {\n", + " // location in version 2\n", + " IPython.keyboard_manager.register_events(el);\n", + " }\n", + "\n", + "}\n", + "\n", + "mpl.figure.prototype._key_event_extra = function(event, name) {\n", + " var manager = IPython.notebook.keyboard_manager;\n", + " if (!manager)\n", + " manager = IPython.keyboard_manager;\n", + "\n", + " // Check for shift+enter\n", + " if (event.shiftKey && event.which == 13) {\n", + " this.canvas_div.blur();\n", + " event.shiftKey = false;\n", + " // Send a \"J\" for go to next cell\n", + " event.which = 74;\n", + " event.keyCode = 74;\n", + " manager.command_mode();\n", + " manager.handle_keydown(event);\n", + " }\n", + "}\n", + "\n", + "mpl.figure.prototype.handle_save = function(fig, msg) {\n", + " fig.ondownload(fig, null);\n", + "}\n", + "\n", + "\n", + "mpl.find_output_cell = function(html_output) {\n", + " // Return the cell and output element which can be found *uniquely* in the notebook.\n", + " // Note - this is a bit hacky, but it is done because the \"notebook_saving.Notebook\"\n", + " // IPython event is triggered only after the cells have been serialised, which for\n", + " // our purposes (turning an active figure into a static one), is too late.\n", + " var cells = IPython.notebook.get_cells();\n", + " var ncells = cells.length;\n", + " for (var i=0; i= 3 moved mimebundle to data attribute of output\n", + " data = data.data;\n", + " }\n", + " if (data['text/html'] == html_output) {\n", + " return [cell, data, j];\n", + " }\n", + " }\n", + " }\n", + " }\n", + "}\n", + "\n", + "// Register the function which deals with the matplotlib target/channel.\n", + "// The kernel may be null if the page has been refreshed.\n", + "if (IPython.notebook.kernel != null) {\n", + " IPython.notebook.kernel.comm_manager.register_target('matplotlib', mpl.mpl_figure_comm);\n", + "}\n" + ], + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "" + ], + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "2346\n", + "2346\n", + "2346\n" + ] + } + ], + "source": [ + "\n", + "bins = stars_bins\n", + "x = xedges#np.logspace(-1,np.log10(25),bins)\n", + "y = yedges#np.linspace(-6,6,bins/2.5)\n", + "U= np.meshgrid(x, y)\n", "\n", "\n", "#Z = stars(U[0],U[1],m2.values['B_0'], m2.values['r0'], m2.values['al'] , m2.values['r_cut'],\n", @@ -5163,12 +6903,789 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 143, "metadata": { "collapsed": false, "scrolled": true }, - "outputs": [], + "outputs": [ + { + "data": { + "application/javascript": [ + "/* Put everything inside the global mpl namespace */\n", + "window.mpl = {};\n", + "\n", + "mpl.get_websocket_type = function() {\n", + " if (typeof(WebSocket) !== 'undefined') {\n", + " return WebSocket;\n", + " } else if (typeof(MozWebSocket) !== 'undefined') {\n", + " return MozWebSocket;\n", + " } else {\n", + " alert('Your browser does not have WebSocket support.' +\n", + " 'Please try Chrome, Safari or Firefox ≥ 6. ' +\n", + " 'Firefox 4 and 5 are also supported but you ' +\n", + " 'have to enable WebSockets in about:config.');\n", + " };\n", + "}\n", + "\n", + "mpl.figure = function(figure_id, websocket, ondownload, parent_element) {\n", + " this.id = figure_id;\n", + "\n", + " this.ws = websocket;\n", + "\n", + " this.supports_binary = (this.ws.binaryType != undefined);\n", + "\n", + " if (!this.supports_binary) {\n", + " var warnings = document.getElementById(\"mpl-warnings\");\n", + " if (warnings) {\n", + " warnings.style.display = 'block';\n", + " warnings.textContent = (\n", + " \"This browser does not support binary websocket messages. \" +\n", + " \"Performance may be slow.\");\n", + " }\n", + " }\n", + "\n", + " this.imageObj = new Image();\n", + "\n", + " this.context = undefined;\n", + " this.message = undefined;\n", + " this.canvas = undefined;\n", + " this.rubberband_canvas = undefined;\n", + " this.rubberband_context = undefined;\n", + " this.format_dropdown = undefined;\n", + "\n", + " this.image_mode = 'full';\n", + "\n", + " this.root = $('
');\n", + " this._root_extra_style(this.root)\n", + " this.root.attr('style', 'display: inline-block');\n", + "\n", + " $(parent_element).append(this.root);\n", + "\n", + " this._init_header(this);\n", + " this._init_canvas(this);\n", + " this._init_toolbar(this);\n", + "\n", + " var fig = this;\n", + "\n", + " this.waiting = false;\n", + "\n", + " this.ws.onopen = function () {\n", + " fig.send_message(\"supports_binary\", {value: fig.supports_binary});\n", + " fig.send_message(\"send_image_mode\", {});\n", + " fig.send_message(\"refresh\", {});\n", + " }\n", + "\n", + " this.imageObj.onload = function() {\n", + " if (fig.image_mode == 'full') {\n", + " // Full images could contain transparency (where diff images\n", + " // almost always do), so we need to clear the canvas so that\n", + " // there is no ghosting.\n", + " fig.context.clearRect(0, 0, fig.canvas.width, fig.canvas.height);\n", + " }\n", + " fig.context.drawImage(fig.imageObj, 0, 0);\n", + " };\n", + "\n", + " this.imageObj.onunload = function() {\n", + " this.ws.close();\n", + " }\n", + "\n", + " this.ws.onmessage = this._make_on_message_function(this);\n", + "\n", + " this.ondownload = ondownload;\n", + "}\n", + "\n", + "mpl.figure.prototype._init_header = function() {\n", + " var titlebar = $(\n", + " '
');\n", + " var titletext = $(\n", + " '
');\n", + " titlebar.append(titletext)\n", + " this.root.append(titlebar);\n", + " this.header = titletext[0];\n", + "}\n", + "\n", + "\n", + "\n", + "mpl.figure.prototype._canvas_extra_style = function(canvas_div) {\n", + "\n", + "}\n", + "\n", + "\n", + "mpl.figure.prototype._root_extra_style = function(canvas_div) {\n", + "\n", + "}\n", + "\n", + "mpl.figure.prototype._init_canvas = function() {\n", + " var fig = this;\n", + "\n", + " var canvas_div = $('
');\n", + "\n", + " canvas_div.attr('style', 'position: relative; clear: both; outline: 0');\n", + "\n", + " function canvas_keyboard_event(event) {\n", + " return fig.key_event(event, event['data']);\n", + " }\n", + "\n", + " canvas_div.keydown('key_press', canvas_keyboard_event);\n", + " canvas_div.keyup('key_release', canvas_keyboard_event);\n", + " this.canvas_div = canvas_div\n", + " this._canvas_extra_style(canvas_div)\n", + " this.root.append(canvas_div);\n", + "\n", + " var canvas = $('');\n", + " canvas.addClass('mpl-canvas');\n", + " canvas.attr('style', \"left: 0; top: 0; z-index: 0; outline: 0\")\n", + "\n", + " this.canvas = canvas[0];\n", + " this.context = canvas[0].getContext(\"2d\");\n", + "\n", + " var rubberband = $('');\n", + " rubberband.attr('style', \"position: absolute; left: 0; top: 0; z-index: 1;\")\n", + "\n", + " var pass_mouse_events = true;\n", + "\n", + " canvas_div.resizable({\n", + " start: function(event, ui) {\n", + " pass_mouse_events = false;\n", + " },\n", + " resize: function(event, ui) {\n", + " fig.request_resize(ui.size.width, ui.size.height);\n", + " },\n", + " stop: function(event, ui) {\n", + " pass_mouse_events = true;\n", + " fig.request_resize(ui.size.width, ui.size.height);\n", + " },\n", + " });\n", + "\n", + " function mouse_event_fn(event) {\n", + " if (pass_mouse_events)\n", + " return fig.mouse_event(event, event['data']);\n", + " }\n", + "\n", + " rubberband.mousedown('button_press', mouse_event_fn);\n", + " rubberband.mouseup('button_release', mouse_event_fn);\n", + " // Throttle sequential mouse events to 1 every 20ms.\n", + " rubberband.mousemove('motion_notify', mouse_event_fn);\n", + "\n", + " rubberband.mouseenter('figure_enter', mouse_event_fn);\n", + " rubberband.mouseleave('figure_leave', mouse_event_fn);\n", + "\n", + " canvas_div.on(\"wheel\", function (event) {\n", + " event = event.originalEvent;\n", + " event['data'] = 'scroll'\n", + " if (event.deltaY < 0) {\n", + " event.step = 1;\n", + " } else {\n", + " event.step = -1;\n", + " }\n", + " mouse_event_fn(event);\n", + " });\n", + "\n", + " canvas_div.append(canvas);\n", + " canvas_div.append(rubberband);\n", + "\n", + " this.rubberband = rubberband;\n", + " this.rubberband_canvas = rubberband[0];\n", + " this.rubberband_context = rubberband[0].getContext(\"2d\");\n", + " this.rubberband_context.strokeStyle = \"#000000\";\n", + "\n", + " this._resize_canvas = function(width, height) {\n", + " // Keep the size of the canvas, canvas container, and rubber band\n", + " // canvas in synch.\n", + " canvas_div.css('width', width)\n", + " canvas_div.css('height', height)\n", + "\n", + " canvas.attr('width', width);\n", + " canvas.attr('height', height);\n", + "\n", + " rubberband.attr('width', width);\n", + " rubberband.attr('height', height);\n", + " }\n", + "\n", + " // Set the figure to an initial 600x600px, this will subsequently be updated\n", + " // upon first draw.\n", + " this._resize_canvas(600, 600);\n", + "\n", + " // Disable right mouse context menu.\n", + " $(this.rubberband_canvas).bind(\"contextmenu\",function(e){\n", + " return false;\n", + " });\n", + "\n", + " function set_focus () {\n", + " canvas.focus();\n", + " canvas_div.focus();\n", + " }\n", + "\n", + " window.setTimeout(set_focus, 100);\n", + "}\n", + "\n", + "mpl.figure.prototype._init_toolbar = function() {\n", + " var fig = this;\n", + "\n", + " var nav_element = $('
')\n", + " nav_element.attr('style', 'width: 100%');\n", + " this.root.append(nav_element);\n", + "\n", + " // Define a callback function for later on.\n", + " function toolbar_event(event) {\n", + " return fig.toolbar_button_onclick(event['data']);\n", + " }\n", + " function toolbar_mouse_event(event) {\n", + " return fig.toolbar_button_onmouseover(event['data']);\n", + " }\n", + "\n", + " for(var toolbar_ind in mpl.toolbar_items) {\n", + " var name = mpl.toolbar_items[toolbar_ind][0];\n", + " var tooltip = mpl.toolbar_items[toolbar_ind][1];\n", + " var image = mpl.toolbar_items[toolbar_ind][2];\n", + " var method_name = mpl.toolbar_items[toolbar_ind][3];\n", + "\n", + " if (!name) {\n", + " // put a spacer in here.\n", + " continue;\n", + " }\n", + " var button = $('