diff --git a/docs/reference/cli.rst b/docs/reference/cli.rst index dcb7d8f9..c331ed78 100644 --- a/docs/reference/cli.rst +++ b/docs/reference/cli.rst @@ -9,6 +9,7 @@ CLI Reference cli_subcommands/descriptionquality cli_subcommands/plotauto cli_subcommands/plotautoia + cli_subcommands/plotbwdf cli_subcommands/plotdos cli_subcommands/ploticohpdistance cli_subcommands/plot diff --git a/docs/reference/cli_subcommands/plotbwdf.rst b/docs/reference/cli_subcommands/plotbwdf.rst new file mode 100644 index 00000000..cc004bb5 --- /dev/null +++ b/docs/reference/cli_subcommands/plotbwdf.rst @@ -0,0 +1,15 @@ +plot-bwdf +========== + +Plot BWDFs using ICOHPs or ICOOPs or ICOBIs with respect to bond lengths. + +.. hint:: Aliases available + + - plotbwdf + +.. argparse:: + :module: lobsterpy.cli + :func: get_parser + :prog: lobsterpy + :path: plot-bwdf + diff --git a/docs/tutorial/commandlineinterface.rst b/docs/tutorial/commandlineinterface.rst index 3c8e0120..6948f278 100644 --- a/docs/tutorial/commandlineinterface.rst +++ b/docs/tutorial/commandlineinterface.rst @@ -270,6 +270,14 @@ You can plot COHPs/COBIs/COOPs from the command line. .. image:: tutorial_assets/ICOHPs_distance_example.png +- ``lobsterpy plot-bwdf`` will plot Bond Weighted Distribution function (BWDF) using ICOHPs, ICOOPs or ICOBIs as weights against bond lengths. Example output plot is shown below. For more details on BWDFs check the orignal publication : `https://doi.org/10.1002/anie.201404223 `_ + +.. code:: bash + + lobsterpy plot-bwdf + +.. image:: tutorial_assets/example_bwdf.png + 5. Additional Options ~~~~~~~~~~~~~~~~~~~~~ @@ -297,6 +305,10 @@ either of these commands: lobsterpy description-quality --help +.. code:: bash + + lobsterpy plot-bwdf --help + .. code:: bash lobsterpy plot-dos --help diff --git a/docs/tutorial/tutorial.ipynb b/docs/tutorial/tutorial.ipynb index c3648941..8aee5129 100644 --- a/docs/tutorial/tutorial.ipynb +++ b/docs/tutorial/tutorial.ipynb @@ -46,6 +46,10 @@ "execution_count": null, "id": "1ed178c0", "metadata": { + "ExecuteTime": { + "end_time": "2025-01-10T10:18:05.640047Z", + "start_time": "2025-01-10T10:18:05.636792Z" + }, "hide_input": false }, "outputs": [], @@ -65,6 +69,10 @@ "execution_count": null, "id": "b26e3796", "metadata": { + "ExecuteTime": { + "end_time": "2025-01-10T10:18:06.108616Z", + "start_time": "2025-01-10T10:18:06.105384Z" + }, "tags": [ "remove-cell" ] @@ -90,7 +98,12 @@ "cell_type": "code", "execution_count": null, "id": "a0ebf615", - "metadata": {}, + "metadata": { + "ExecuteTime": { + "end_time": "2025-01-10T10:18:10.822824Z", + "start_time": "2025-01-10T10:18:06.886682Z" + } + }, "outputs": [], "source": [ "# Initialize Analysis object\n", @@ -107,7 +120,12 @@ "cell_type": "code", "execution_count": null, "id": "9db2ca46", - "metadata": {}, + "metadata": { + "ExecuteTime": { + "end_time": "2025-01-10T10:18:10.831005Z", + "start_time": "2025-01-10T10:18:10.827549Z" + } + }, "outputs": [], "source": [ "# Initialize Description object and to get text description of the analysis\n", @@ -119,7 +137,12 @@ "cell_type": "code", "execution_count": null, "id": "c7244804", - "metadata": {}, + "metadata": { + "ExecuteTime": { + "end_time": "2025-01-10T10:18:11.056748Z", + "start_time": "2025-01-10T10:18:10.904890Z" + } + }, "outputs": [], "source": [ "# Get static plots for detected relevant bonds\n", @@ -131,6 +154,10 @@ "execution_count": null, "id": "b2b1f822", "metadata": { + "ExecuteTime": { + "end_time": "2025-01-10T10:18:11.339667Z", + "start_time": "2025-01-10T10:18:11.072715Z" + }, "tags": [ "remove-output" ] @@ -158,7 +185,12 @@ "cell_type": "code", "execution_count": null, "id": "0dff40f8", - "metadata": {}, + "metadata": { + "ExecuteTime": { + "end_time": "2025-01-10T10:18:13.162717Z", + "start_time": "2025-01-10T10:18:13.157983Z" + } + }, "outputs": [], "source": [ "# Dict summarizing the automatic analysis results\n", @@ -169,7 +201,12 @@ "cell_type": "code", "execution_count": null, "id": "f243f239", - "metadata": {}, + "metadata": { + "ExecuteTime": { + "end_time": "2025-01-10T10:18:14.149132Z", + "start_time": "2025-01-10T10:18:14.144514Z" + } + }, "outputs": [], "source": [ "# Dict with bonds identified\n", @@ -180,7 +217,12 @@ "cell_type": "code", "execution_count": null, "id": "0e9cd6e6", - "metadata": {}, + "metadata": { + "ExecuteTime": { + "end_time": "2025-01-10T10:18:14.815522Z", + "start_time": "2025-01-10T10:18:14.811460Z" + } + }, "outputs": [], "source": [ "# Dict with ions and their co-ordination environments\n", @@ -231,7 +273,12 @@ "cell_type": "code", "execution_count": null, "id": "77f40ef2", - "metadata": {}, + "metadata": { + "ExecuteTime": { + "end_time": "2025-01-10T10:18:21.086307Z", + "start_time": "2025-01-10T10:18:17.216477Z" + } + }, "outputs": [], "source": [ "analyse = Analysis(\n", @@ -249,7 +296,12 @@ "cell_type": "code", "execution_count": null, "id": "861da67a", - "metadata": {}, + "metadata": { + "ExecuteTime": { + "end_time": "2025-01-10T10:18:21.714038Z", + "start_time": "2025-01-10T10:18:21.708670Z" + } + }, "outputs": [], "source": [ "# Access the dict summarizing the results including orbital-wise analysis data \n", @@ -278,7 +330,12 @@ "cell_type": "code", "execution_count": null, "id": "17190525", - "metadata": {}, + "metadata": { + "ExecuteTime": { + "end_time": "2025-01-10T10:18:23.548067Z", + "start_time": "2025-01-10T10:18:23.541339Z" + } + }, "outputs": [], "source": [ "# Initialize the Description object\n", @@ -291,6 +348,10 @@ "execution_count": null, "id": "84f26141", "metadata": { + "ExecuteTime": { + "end_time": "2025-01-10T10:18:24.371266Z", + "start_time": "2025-01-10T10:18:24.255263Z" + }, "tags": [ "remove-output" ] @@ -331,6 +392,10 @@ "execution_count": null, "id": "051a9998", "metadata": { + "ExecuteTime": { + "end_time": "2025-01-10T10:18:26.493468Z", + "start_time": "2025-01-10T10:18:26.490599Z" + }, "tags": [ "remove-cell" ] @@ -356,7 +421,12 @@ "cell_type": "code", "execution_count": null, "id": "f67b4bc6", - "metadata": {}, + "metadata": { + "ExecuteTime": { + "end_time": "2025-01-10T10:18:31.332338Z", + "start_time": "2025-01-10T10:18:27.763103Z" + } + }, "outputs": [], "source": [ "# Get calculation quality summary dict\n", @@ -381,7 +451,12 @@ "cell_type": "code", "execution_count": null, "id": "0f11cac6", - "metadata": {}, + "metadata": { + "ExecuteTime": { + "end_time": "2025-01-10T10:18:31.535251Z", + "start_time": "2025-01-10T10:18:31.531979Z" + } + }, "outputs": [], "source": [ "# Get a text description from calculation quality summary dictionary\n", @@ -403,12 +478,18 @@ "cell_type": "code", "execution_count": null, "id": "f6687ef3", - "metadata": {}, + "metadata": { + "ExecuteTime": { + "end_time": "2025-01-10T10:18:33.420493Z", + "start_time": "2025-01-10T10:18:33.061487Z" + } + }, "outputs": [], "source": [ "from matplotlib import style\n", - "from pymatgen.io.lobster import Doscar\n", - "from lobsterpy.plotting import InteractiveCohpPlotter, IcohpDistancePlotter, PlainCohpPlotter, PlainDosPlotter, get_style_list" + "from pymatgen.io.lobster import Doscar, Icohplist\n", + "from lobsterpy.featurize.core import FeaturizeIcoxxlist\n", + "from lobsterpy.plotting import BWDFPlotter, InteractiveCohpPlotter, IcohpDistancePlotter, PlainCohpPlotter, PlainDosPlotter, get_style_list" ] }, { @@ -433,7 +514,12 @@ "cell_type": "code", "execution_count": null, "id": "5eca8c7c", - "metadata": {}, + "metadata": { + "ExecuteTime": { + "end_time": "2025-01-10T10:18:35.516152Z", + "start_time": "2025-01-10T10:18:35.341151Z" + } + }, "outputs": [], "source": [ "# Using PlainCohpPlotter to get static plots of relevant bonds from Analysis object\n", @@ -461,7 +547,12 @@ "cell_type": "code", "execution_count": null, "id": "a7a454c5", - "metadata": {}, + "metadata": { + "ExecuteTime": { + "end_time": "2025-01-10T10:18:37.480683Z", + "start_time": "2025-01-10T10:18:37.476816Z" + } + }, "outputs": [], "source": [ "label_list" @@ -471,7 +562,12 @@ "cell_type": "code", "execution_count": null, "id": "750935ed", - "metadata": {}, + "metadata": { + "ExecuteTime": { + "end_time": "2025-01-10T10:18:38.570857Z", + "start_time": "2025-01-10T10:18:38.345650Z" + } + }, "outputs": [], "source": [ "# Using PlainCohpPlotter to get static plots of relevant orbitals COHPs from Analysis object\n", @@ -496,7 +592,12 @@ "cell_type": "code", "execution_count": null, "id": "80462ffb", - "metadata": {}, + "metadata": { + "ExecuteTime": { + "end_time": "2025-01-10T10:18:39.541267Z", + "start_time": "2025-01-10T10:18:39.538137Z" + } + }, "outputs": [], "source": [ "# Using interactive plotter to add relevant cohps\n", @@ -507,7 +608,12 @@ "cell_type": "code", "execution_count": null, "id": "819090a7", - "metadata": {}, + "metadata": { + "ExecuteTime": { + "end_time": "2025-01-10T10:18:40.539254Z", + "start_time": "2025-01-10T10:18:40.523608Z" + } + }, "outputs": [], "source": [ "interactive_cohp_plot.add_all_relevant_cohps(analyse=analyse, label_resolved=False,orbital_resolved=True,suffix='')" @@ -518,6 +624,10 @@ "execution_count": null, "id": "aa76b7ff", "metadata": { + "ExecuteTime": { + "end_time": "2025-01-10T10:18:41.354397Z", + "start_time": "2025-01-10T10:18:41.239332Z" + }, "tags": [ "remove-output" ] @@ -538,6 +648,138 @@ "Due to sphinx rendering limitations for Plotly figures, the output is not directly visible within the notebook; please use the link to see the [interactive orbital resolved plot](tutorial_assets/CdF2_orb.html)" ] }, + { + "cell_type": "markdown", + "id": "b93a38e5-7a1b-4b95-a580-82c81c2a8937", + "metadata": {}, + "source": [ + "### Plot ICOHPs / ICOBIS / ICOOPs Againsts bond-lengths" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "25fa1eff-a3de-4126-8349-bc932cb23efb", + "metadata": { + "ExecuteTime": { + "end_time": "2025-01-10T10:18:43.814893Z", + "start_time": "2025-01-10T10:18:43.812334Z" + }, + "tags": [ + "remove-cell" + ] + }, + "outputs": [], + "source": [ + "# Directory of your VASP and Lobster computations\n", + "directory = Path(\".\") / \"..\" / \"..\" / \"tests\" / \"test_data\" / \"CdF_comp_range\"" + ] + }, + { + "cell_type": "markdown", + "id": "e47e4de6-879a-4d32-802d-a0c418403c76", + "metadata": { + "editable": true, + "slideshow": { + "slide_type": "" + }, + "tags": [] + }, + "source": [ + "```python\n", + "#### Change directory to your Lobster computations (Change this cell block type to Code and remove formatting when executing locally)\n", + "directory = Path(\"LobsterPy\") / \"tests\" / \"test_data\" / \"CdF_comp_range\"\n", + "```" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "3fa696e7-55b7-4537-9cf8-c7511b4a5447", + "metadata": { + "ExecuteTime": { + "end_time": "2025-01-10T10:18:48.144300Z", + "start_time": "2025-01-10T10:18:47.093206Z" + } + }, + "outputs": [], + "source": [ + "# Plotting ICOHPs against distance\n", + "\n", + "icohp_plotter = IcohpDistancePlotter(are_cobis=False, are_coops=False) # If reading and plotting ICOBIs or ICOOPs set args accordingly\n", + "icohplist = Icohplist(filename=directory / \"ICOHPLIST.lobster.gz\", are_cobis=False, are_coops=False)\n", + "icohp_plotter.add_icohps(label=\"CdF2\", icohpcollection=icohplist.icohpcollection)\n", + "\n", + "# color_interactions=False, will disable datapoints colouring based on atom pair types\n", + "icohp_plotter.get_plot(color_interactions=True, marker_size=20, alpha=0.9);" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "a2aebbe1-00bd-45e6-a2fc-76b6f77cb757", + "metadata": { + "ExecuteTime": { + "end_time": "2025-01-10T10:18:52.998170Z", + "start_time": "2025-01-10T10:18:52.967040Z" + } + }, + "outputs": [], + "source": [ + "# Computing and Plotting BWDFs from ICOHPs\n", + "\n", + "## We will use the featurizer to compute the BWDF \n", + "feat_icoxx = FeaturizeIcoxxlist(path_to_icoxxlist=directory / \"ICOHPLIST.lobster.gz\",\n", + " path_to_structure=directory / \"CONTCAR.gz\",\n", + " normalization=\"counts\",\n", + " max_length=6,\n", + " min_length=0,\n", + " bin_width=0.1,\n", + " are_cobis=False,\n", + " are_coops=False)\n", + "\n", + "bwdf = feat_icoxx.calc_bwdf() # this method will compute the BWDF for the entire structure and all unique atom pairs" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "86d0b3c8-aaf5-463e-8078-867ed6ae730e", + "metadata": { + "ExecuteTime": { + "end_time": "2025-01-10T10:19:01.028648Z", + "start_time": "2025-01-10T10:19:00.920286Z" + } + }, + "outputs": [], + "source": [ + "# Plotting\n", + "bwdf_plotter = BWDFPlotter(are_cobis=False, are_coops=False) # If reading and plotting ICOBIs or ICOOPs set args accordingly\n", + "bwdf_plotter.add_bwdf(label=\"CdF2\", bwdf=bwdf) # Add the BWDF data\n", + "bwdf_plotter.get_plot(sigma=0.3);" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "2f27305d-e77f-4609-9940-1d36768d5069", + "metadata": { + "ExecuteTime": { + "end_time": "2025-01-10T10:19:06.550087Z", + "start_time": "2025-01-10T10:19:06.453128Z" + } + }, + "outputs": [], + "source": [ + "# One can also compute and plot BWDF for a single site of the structure\n", + "bwdf = feat_icoxx.calc_site_bwdf(site_index=1)\n", + "\n", + "# Plotting\n", + "bwdf_plotter = BWDFPlotter(are_cobis=False, are_coops=False) # If reading and plotting ICOBIs or ICOOPs set args accordingly\n", + "bwdf_plotter.add_bwdf(label=\"CdF2\", bwdf=bwdf) # Add the BWDF data\n", + "bwdf_plotter.get_plot(sigma=0.3);" + ] + }, { "cell_type": "markdown", "id": "eb17675e", @@ -551,6 +793,10 @@ "execution_count": null, "id": "a9354732", "metadata": { + "ExecuteTime": { + "end_time": "2025-01-10T10:19:09.871883Z", + "start_time": "2025-01-10T10:19:09.749752Z" + }, "tags": [ "remove-cell" ] @@ -588,7 +834,12 @@ "cell_type": "code", "execution_count": null, "id": "a271f2f0", - "metadata": {}, + "metadata": { + "ExecuteTime": { + "end_time": "2025-01-10T10:19:11.439085Z", + "start_time": "2025-01-10T10:19:11.230354Z" + } + }, "outputs": [], "source": [ "style.use('default') # Complete reset the matplotlib figure style\n", @@ -613,7 +864,12 @@ "cell_type": "code", "execution_count": null, "id": "dbd469bc", - "metadata": {}, + "metadata": { + "ExecuteTime": { + "end_time": "2025-01-10T10:19:12.374812Z", + "start_time": "2025-01-10T10:19:12.233244Z" + } + }, "outputs": [], "source": [ "dos_plotter = PlainDosPlotter(summed=True, stack=False, sigma=0.03)\n", @@ -633,7 +889,12 @@ "cell_type": "code", "execution_count": null, "id": "9d9a4a6a", - "metadata": {}, + "metadata": { + "ExecuteTime": { + "end_time": "2025-01-10T10:19:13.472824Z", + "start_time": "2025-01-10T10:19:13.468543Z" + } + }, "outputs": [], "source": [ "from lobsterpy.structuregraph.graph import LobsterGraph" @@ -652,6 +913,10 @@ "execution_count": null, "id": "2e6a8da7", "metadata": { + "ExecuteTime": { + "end_time": "2025-01-10T10:19:18.835471Z", + "start_time": "2025-01-10T10:19:14.450218Z" + }, "tags": [ "remove-cell" ] @@ -698,7 +963,12 @@ "cell_type": "code", "execution_count": null, "id": "b70d9131", - "metadata": {}, + "metadata": { + "ExecuteTime": { + "end_time": "2025-01-10T10:19:18.846792Z", + "start_time": "2025-01-10T10:19:18.841215Z" + } + }, "outputs": [], "source": [ "graph_NaCl_all.sg.graph.nodes.data() # view node data" @@ -708,7 +978,12 @@ "cell_type": "code", "execution_count": null, "id": "d15e116e", - "metadata": {}, + "metadata": { + "ExecuteTime": { + "end_time": "2025-01-10T10:19:18.895345Z", + "start_time": "2025-01-10T10:19:18.892188Z" + } + }, "outputs": [], "source": [ "graph_NaCl_all.sg.graph.edges.data() # view edge data" @@ -744,7 +1019,12 @@ "cell_type": "code", "execution_count": null, "id": "033a1f84", - "metadata": {}, + "metadata": { + "ExecuteTime": { + "end_time": "2025-01-10T10:19:18.999506Z", + "start_time": "2025-01-10T10:19:18.943514Z" + } + }, "outputs": [], "source": [ "from lobsterpy.featurize.batch import (BatchCoxxFingerprint, BatchIcoxxlistFeaturizer, BatchDosFeaturizer,\n", @@ -774,6 +1054,10 @@ "execution_count": null, "id": "657d3eb2", "metadata": { + "ExecuteTime": { + "end_time": "2025-01-10T10:19:24.868950Z", + "start_time": "2025-01-10T10:19:19.046929Z" + }, "tags": [ "remove-cell" ] @@ -816,6 +1100,10 @@ "execution_count": null, "id": "1e1fd1d0", "metadata": { + "ExecuteTime": { + "end_time": "2025-01-10T10:19:24.927291Z", + "start_time": "2025-01-10T10:19:24.917069Z" + }, "scrolled": true }, "outputs": [], @@ -828,7 +1116,12 @@ "cell_type": "code", "execution_count": null, "id": "d54090e3", - "metadata": {}, + "metadata": { + "ExecuteTime": { + "end_time": "2025-01-10T10:19:24.986869Z", + "start_time": "2025-01-10T10:19:24.975024Z" + } + }, "outputs": [], "source": [ "# Get the fingerprints similarity matrix\n", @@ -836,14 +1129,17 @@ ] }, { - "metadata": {}, "cell_type": "markdown", - "source": "### BatchIcoxxlistFeaturizer", - "id": "a5220531c2082185" + "id": "a5220531c2082185", + "metadata": {}, + "source": [ + "### BatchIcoxxlistFeaturizer" + ] }, { - "metadata": {}, "cell_type": "markdown", + "id": "9de31478633c9afc", + "metadata": {}, "source": [ "`BatchIcoxxlistFeaturizer` provides a convenient way to extract BWDF as features from the LOBSTER calculation directory. The extracted features consist of the following:\n", "\n", @@ -851,14 +1147,19 @@ "2. Complete BWDF as columns in the dataframe\n", "3. BWDF values sorted by bond distances as columns in the dataframe\n", "4. Bond distances sorted by BWDF values as columns in the dataframe" - ], - "id": "9de31478633c9afc" + ] }, { - "metadata": {}, "cell_type": "code", - "outputs": [], "execution_count": null, + "id": "2ed6793640da4fac", + "metadata": { + "ExecuteTime": { + "end_time": "2025-01-10T10:19:25.035763Z", + "start_time": "2025-01-10T10:19:25.032567Z" + } + }, + "outputs": [], "source": [ "# Initialize the batch ICOXXLIST featurizer\n", "batch_icohp = BatchIcoxxlistFeaturizer(path_to_lobster_calcs=directory / \"..\" / \"Featurizer_test_data\" / \"Lobster_calcs\", # path to parent lobster calcs\n", @@ -869,12 +1170,12 @@ " read_icobis=False, # set to true to read ICOBI data\n", " read_icoops=False, # set to true to read ICOOP data\n", " n_jobs=3,)" - ], - "id": "2ed6793640da4fac" + ] }, { - "metadata": {}, "cell_type": "markdown", + "id": "b3111a3881b29058", + "metadata": {}, "source": [ "```python\n", "## Initialize batch ICOXXLIST featurizer (Change this cell block type to Code and remove formatting when executing locally)\n", @@ -887,19 +1188,23 @@ " read_icoops=False, # set to true to read ICOOP data\n", " n_jobs=3,)\n", "```" - ], - "id": "b3111a3881b29058" + ] }, { - "metadata": {}, "cell_type": "code", - "outputs": [], "execution_count": null, + "id": "7c731fe3e32065be", + "metadata": { + "ExecuteTime": { + "end_time": "2025-01-10T10:19:25.381970Z", + "start_time": "2025-01-10T10:19:25.286296Z" + } + }, + "outputs": [], "source": [ "# get the BWDF stats df\n", "batch_icohp.get_df()" - ], - "id": "7c731fe3e32065be" + ] }, { "cell_type": "markdown", @@ -926,6 +1231,10 @@ "execution_count": null, "id": "57176d72", "metadata": { + "ExecuteTime": { + "end_time": "2025-01-10T10:19:25.825700Z", + "start_time": "2025-01-10T10:19:25.822582Z" + }, "tags": [ "remove-cell" ] @@ -963,7 +1272,12 @@ "cell_type": "code", "execution_count": null, "id": "94df0905", - "metadata": {}, + "metadata": { + "ExecuteTime": { + "end_time": "2025-01-10T10:19:27.172907Z", + "start_time": "2025-01-10T10:19:26.828738Z" + } + }, "outputs": [], "source": [ "# get the DOS moments df\n", @@ -974,7 +1288,12 @@ "cell_type": "code", "execution_count": null, "id": "d2456f82", - "metadata": {}, + "metadata": { + "ExecuteTime": { + "end_time": "2025-01-10T10:19:28.708116Z", + "start_time": "2025-01-10T10:19:28.491483Z" + } + }, "outputs": [], "source": [ "# get the DOS fingerprints df\n", @@ -1007,6 +1326,10 @@ "execution_count": null, "id": "7c05bae8", "metadata": { + "ExecuteTime": { + "end_time": "2025-01-10T10:19:30.743966Z", + "start_time": "2025-01-10T10:19:30.740888Z" + }, "tags": [ "remove-cell" ] @@ -1048,7 +1371,12 @@ "cell_type": "code", "execution_count": null, "id": "9b49fcf7", - "metadata": {}, + "metadata": { + "ExecuteTime": { + "end_time": "2025-01-10T10:19:44.098826Z", + "start_time": "2025-01-10T10:19:31.891677Z" + } + }, "outputs": [], "source": [ "# get summary stats features \n", @@ -1076,6 +1404,10 @@ "execution_count": null, "id": "2d40b39a", "metadata": { + "ExecuteTime": { + "end_time": "2025-01-10T10:19:44.135645Z", + "start_time": "2025-01-10T10:19:44.133062Z" + }, "tags": [ "remove-cell" ] @@ -1108,7 +1440,12 @@ "cell_type": "code", "execution_count": null, "id": "5f7259c0", - "metadata": {}, + "metadata": { + "ExecuteTime": { + "end_time": "2025-01-10T10:19:49.661159Z", + "start_time": "2025-01-10T10:19:44.163100Z" + } + }, "outputs": [], "source": [ "# get the structure graphs df\n", diff --git a/docs/tutorial/tutorial_assets/example_bwdf.png b/docs/tutorial/tutorial_assets/example_bwdf.png new file mode 100644 index 00000000..a29ffdf3 Binary files /dev/null and b/docs/tutorial/tutorial_assets/example_bwdf.png differ diff --git a/src/lobsterpy/cli.py b/src/lobsterpy/cli.py index ed686588..91badb2e 100644 --- a/src/lobsterpy/cli.py +++ b/src/lobsterpy/cli.py @@ -7,20 +7,24 @@ import argparse import json -import os from math import log, sqrt from pathlib import Path import matplotlib.style +from monty.json import jsanitize from monty.os.path import zpath -from pymatgen.electronic_structure.cohp import CompleteCohp +from monty.serialization import dumpfn +from pymatgen.electronic_structure.cohp import Cohp, CompleteCohp from pymatgen.io.lobster import Icohplist from lobsterpy.cohp.analyze import Analysis from lobsterpy.cohp.describe import Description +from lobsterpy.featurize.core import FeaturizeIcoxxlist from lobsterpy.featurize.utils import get_file_paths from lobsterpy.plotting import ( + BWDFPlotter, IcohpDistancePlotter, + InteractiveCohpPlotter, PlainCohpPlotter, PlainDosPlotter, get_style_list, @@ -438,12 +442,23 @@ def get_parser() -> argparse.ArgumentParser: default=False, help="Sum COHP `Spin.up` and `Spin.down` populations for automatic analysis", ) + auto_group.add_argument( + "--save-plot-json", + "--saveplotjson", + "-spj", + nargs="?", + type=Path, + default=None, + metavar="FILENAME", + help="Write a JSON file with the plot data. " + "`monty.serialization.loadfn` or `json.load` can be used to load the data.", + ) # Argument that will help to switch automatic analysis analysis_switch = argparse.ArgumentParser(add_help=False) analysis_group = analysis_switch.add_argument_group( "Arguments to switch type of files analyzed during automatic analysis" - " (Also indicates file type for 'plot/plot-icohp-distance' action in cli)" + " (Also indicates file to be read for 'plot/plot-icohp-distance/plot-bwdf' action in cli)" ) analysis_group.add_argument( "--cobis", @@ -472,6 +487,128 @@ def get_parser() -> argparse.ArgumentParser: "If not set, plots consist of summed cohps.", ) + # Args specific to icohp distance plotter args + icohp_distance_plotter_args = argparse.ArgumentParser(add_help=False) + icohp_distance_plotter_group = icohp_distance_plotter_args.add_argument_group( + "Options specific to ICOHP distance plotter" + ) + icohp_distance_plotter_group.add_argument( + "-alpha", + type=float, + default=0.4, + dest="alpha", + help="Transparency of the markers in the plot.", + ) + icohp_distance_plotter_group.add_argument( + "-cbonds", + "--colorbonds", + "--color-bonds", + default=False, + dest="colorbonds", + action="store_true", + help="If set, will color ICOHPs based on atom types", + ) + icohp_distance_plotter_group.add_argument( + "-c", + "--colors", + dest="colors", + nargs="+", + type=str, + default=None, + help="Custom list of colors for the plot. " + "Should be equal to the number of unique atom pairs in the structure.", + ) + icohp_distance_plotter_group.add_argument( + "-lprefix", + "--legendprefix", + "--legend-prefix", + type=str, + dest="legendprefix", + default="", + help="Prefix for the legend in the plot.", + ) + icohp_distance_plotter_group.add_argument( + "-msize", + "--markersize", + "--marker-size", + type=float, + default=50, + dest="markersize", + help="Size of the markers in the plot.", + ) + icohp_distance_plotter_group.add_argument( + "-mstyle", + "--markerstyle", + "--marker-style", + type=str, + default="o", + dest="markerstyle", + help="Marker style for the plot.", + ) + + # Args specific to plotting BWDFs + bwdf_plotting_args = argparse.ArgumentParser(add_help=False) + bwdf_plotting_group = bwdf_plotting_args.add_argument_group("Options specific to plotting BWDFs") + bwdf_plotting_group.add_argument( + "-atompairs", + "--atom-pairs", + dest="atompairs", + action="store_true", + default=False, + help="If True, will plot the BWDFs for all unique atom pairs. Default: False.", + ) + bwdf_plotting_group.add_argument( + "-binwidth", + "--bin-width", + type=float, + dest="binwidth", + default=0.02, + help="Bin width used for computing the BWDFs. Default: 0.02.", + ) + bwdf_plotting_group.add_argument( + "-interacttol", + "--interactions-tolerance", + type=float, + dest="interacttol", + default=1e-3, + help="Numerical tolerance considered for interactions to be insignificant. Default: 1e-3.", + ) + bwdf_plotting_group.add_argument( + "-maxlen", + "--maxlength", + "--max-length", + type=float, + dest="maxlen", + default=6, + help="Maximum bond length for the BWDFs in Angstroms. Default: 6.", + ) + bwdf_plotting_group.add_argument( + "-minlen", + "--minlength", + "--min-length", + type=float, + dest="minlen", + default=0, + help="Minimum bond length for the BWDFs in Angstroms. Default: 0.", + ) + bwdf_plotting_group.add_argument( + "-norm", + "--normalization", + type=str, + default="formula_units", + dest="norm", + help="Normalization of the BWDFs. Options: 'formula_units', 'area', 'counts' and 'none'. " + "Default: 'formula_units'.", + ) + bwdf_plotting_group.add_argument( + "-siteindex", + "--site-index", + type=int, + default=None, + dest="siteindex", + help="Site index for which the BWDFs are to be plotted. Default: None. If None, all sites are considered.", + ) + # Args specific to calc quality description dict and texts calc_quality_args = argparse.ArgumentParser(add_help=False) calc_quality_args_group = calc_quality_args.add_argument_group( @@ -613,6 +750,18 @@ def get_parser() -> argparse.ArgumentParser: ], help=("Creates an interactive plot of most important COHPs or COBIs or COOPs automatically."), ) + subparsers.add_parser( + "plot-bwdf", + aliases=["plotbwdf"], + parents=[ + icohplist_file, + structure_file, + bwdf_plotting_args, + plotting_parent, + analysis_switch, + ], + help="Plot bond-weighted distribution functions (BWDFs) from ICOXXLIST.lobster.", + ) subparsers.add_parser( "plot-dos", aliases=["plotdos"], @@ -628,7 +777,7 @@ def get_parser() -> argparse.ArgumentParser: subparsers.add_parser( "plot-icohp-distance", aliases=["ploticohpdistance"], - parents=[icohplist_file, plotting_parent, analysis_switch], + parents=[icohplist_file, plotting_parent, analysis_switch, icohp_distance_plotter_args], help="Plot ICOHPs or ICOOPs or ICOBIs with respect to bond lengths", ) # Mode for normal plotting (without automatic detection of relevant COHPs) @@ -723,7 +872,6 @@ def _user_figsize(width, height, aspect=None): return {"figure.figsize": (width, width / aspect)} -# TODO: add automatic functionality for COBIs, COOPs def run(args): """ Run actions based on args. @@ -755,21 +903,17 @@ def run(args): "plot-automatic-ia", ]: req_files = get_file_paths( - path_to_lobster_calc=Path(os.getcwd()), requested_files=["structure", "charge", "icohplist", "cohpcar"] + path_to_lobster_calc=Path.cwd(), requested_files=["structure", "charge", "icohplist", "cohpcar"] ) if args.coops: - req_files_coops = get_file_paths( - path_to_lobster_calc=Path(os.getcwd()), requested_files=["icooplist", "coopcar"] - ) + req_files_coops = get_file_paths(path_to_lobster_calc=Path.cwd(), requested_files=["icooplist", "coopcar"]) req_files["icohplist"] = req_files_coops["icooplist"] req_files["cohpcar"] = req_files_coops["coopcar"] if args.cobis: - req_files_cobis = get_file_paths( - path_to_lobster_calc=Path(os.getcwd()), requested_files=["icobilist", "cobicar"] - ) + req_files_cobis = get_file_paths(path_to_lobster_calc=Path.cwd(), requested_files=["icobilist", "cobicar"]) req_files["icohplist"] = req_files_cobis["icobilist"] req_files["cohpcar"] = req_files_cobis["cobicar"] @@ -803,10 +947,28 @@ def run(args): with open(args.file_json, "w") as fd: json.dump(analysedict, fd) + if args.save_plot_json is not None: + ic_plotter = InteractiveCohpPlotter(are_coops=args.coops, are_cobis=args.cobis) + if args.action in ["plot-automatic-ia"]: + ic_plotter.add_all_relevant_cohps( + analyse=analyse, label_resolved=args.labelresolved, orbital_resolved=args.orbitalresolved + ) + else: + ic_plotter.add_all_relevant_cohps( + analyse=analyse, label_resolved=False, orbital_resolved=args.orbitalresolved + ) + monty_encoded_doc = jsanitize(ic_plotter._cohps, allow_bson=True, strict=True, enum_values=True) + for bond_label, cohp_data in monty_encoded_doc["All"].items(): + cohp_data.update({"are_coops": args.coops, "are_cobis": args.cobis}) + monty_encoded_doc["All"][bond_label] = Cohp.from_dict(cohp_data) + dumpfn(monty_encoded_doc["All"], args.save_plot_json) + if args.action in [ "plot", "plot-automatic", "plot-automatic-ia", + "plot-bwdf", + "plotbwdf", "plot-dos", "plotdos", "plot-icohp-distance", @@ -853,29 +1015,116 @@ def run(args): orbital_resolved=args.orbitalresolved, ) + if args.action in ["plot-bwdf", "plotbwdf"]: + if args.cobis: + filename = get_file_paths(path_to_lobster_calc=Path.cwd(), requested_files=["icobilist"]).get("icobilist") + options = {"are_cobis": True, "are_coops": False} + elif args.coops: + filename = get_file_paths(path_to_lobster_calc=Path.cwd(), requested_files=["icooplist"]).get("icooplist") + options = {"are_cobis": False, "are_coops": True} + else: + filename = get_file_paths(path_to_lobster_calc=Path.cwd(), requested_files=["icohplist"]).get("icohplist") + options = {"are_cobis": False, "are_coops": False} + + structure_filename = get_file_paths(path_to_lobster_calc=Path.cwd(), requested_files=["structure"]).get( + "structure" + ) + + feat_icoxx = FeaturizeIcoxxlist( + path_to_icoxxlist=filename, + path_to_structure=structure_filename, + interactions_tol=args.interacttol, + normalization=args.norm, + bin_width=args.binwidth, + min_length=args.minlen, + max_length=args.maxlen, + **options, + ) + + bwdf = feat_icoxx.calc_site_bwdf(site_index=args.siteindex) if args.siteindex else feat_icoxx.calc_bwdf() + + # Set label for plot (legend) + if args.siteindex: + site = feat_icoxx.structure.sites[args.siteindex] + label = site.species_string + else: + label = feat_icoxx.structure.composition.get_reduced_formula_and_factor()[0] + + bwdf_plotter = BWDFPlotter(are_coops=args.coops, are_cobis=args.cobis) + + # Assimilate data to get separate plots for each pair + plot_data = [] + for pair, value in bwdf.items(): + if args.atompairs and pair not in ["summed", "centers", "edges", "bin_width", "wasserstein_dist_to_rdf"]: + data = {pair: value} + data.update( + { + "centers": bwdf["centers"], + "edges": bwdf["edges"], + "bin_width": bwdf["bin_width"], + "wasserstein_dist_to_rdf": bwdf["wasserstein_dist_to_rdf"], + } + ) + plot_data.append(data) + elif not args.atompairs and pair == "summed": # summed only + data = {pair: value} + data.update( + { + "centers": bwdf["centers"], + "edges": bwdf["edges"], + "bin_width": bwdf["bin_width"], + "wasserstein_dist_to_rdf": bwdf["wasserstein_dist_to_rdf"], + } + ) + plot_data.append(data) + elif not args.atompairs and pair == str(args.siteindex): # specific site + data = {pair: value} + data.update( + { + "centers": bwdf["centers"], + "edges": bwdf["edges"], + "bin_width": bwdf["bin_width"], + "wasserstein_dist_to_rdf": bwdf["wasserstein_dist_to_rdf"], + } + ) + plot_data.append(data) + + # Iterate over assimilated data and plot + for bwdf_dict in plot_data: + pair = next(iter(bwdf_dict.keys())) + bwdf_plotter.add_bwdf(bwdf=bwdf_dict, label=label) + plot = bwdf_plotter.get_plot(sigma=args.sigma, xlim=args.xlim, ylim=args.ylim) + title = f"{args.title} : {pair}" if args.title else "" + plot.title(title) + + if args.save_plot: + filename = Path(args.save_plot) + plot_filename = filename.parent / f"{pair.replace('-', '_')}_{filename.stem}{filename.suffix}" + + if not args.hideplot and not args.save_plot: + plot.show() + elif args.save_plot and not args.hideplot: + fig = plot.gcf() + fig.savefig(plot_filename) + plot.show() + if args.save_plot and args.hideplot: + plot.savefig(plot_filename) + if args.action == "plot": if args.cobis: - filename = get_file_paths(path_to_lobster_calc=Path(os.getcwd()), requested_files=["cobicar"]).get( - "cobicar" - ) + filename = get_file_paths(path_to_lobster_calc=Path.cwd(), requested_files=["cobicar"]).get("cobicar") options = {"are_cobis": True, "are_coops": False} elif args.multi_cobis: - filename = get_file_paths(path_to_lobster_calc=Path(os.getcwd()), requested_files=["cobicar"]).get( - "cobicar" - ) + filename = get_file_paths(path_to_lobster_calc=Path.cwd(), requested_files=["cobicar"]).get("cobicar") options = {"are_cobis": False, "are_coops": False, "are_multi_center_cobis": True} elif args.coops: - filename = get_file_paths(path_to_lobster_calc=Path(os.getcwd()), requested_files=["coopcar"]).get( - "coopcar" - ) + filename = get_file_paths(path_to_lobster_calc=Path.cwd(), requested_files=["coopcar"]).get("coopcar") options = {"are_cobis": False, "are_coops": True} else: - filename = get_file_paths(path_to_lobster_calc=Path(os.getcwd()), requested_files=["cohpcar"]).get( - "cohpcar" - ) + filename = get_file_paths(path_to_lobster_calc=Path.cwd(), requested_files=["cohpcar"]).get("cohpcar") options = {"are_cobis": False, "are_coops": False} - structure_filename = get_file_paths(path_to_lobster_calc=Path(os.getcwd()), requested_files=["structure"]).get( + structure_filename = get_file_paths(path_to_lobster_calc=Path.cwd(), requested_files=["structure"]).get( "structure" ) @@ -1039,7 +1288,7 @@ def run(args): if args.action in ["description-quality"]: # Check for .gz files exist for default values and update accordingly req_files = get_file_paths( - path_to_lobster_calc=Path(os.getcwd()), requested_files=["structure", "lobsterin", "lobsterout"] + path_to_lobster_calc=Path.cwd(), requested_files=["structure", "lobsterin", "lobsterout"] ) for arg_name in req_files: setattr(args, arg_name, req_files[arg_name]) @@ -1059,7 +1308,7 @@ def run(args): bva_comp = args.bvacomp if bva_comp: - bva_files = get_file_paths(path_to_lobster_calc=Path(os.getcwd()), requested_files=["charge"]) + bva_files = get_file_paths(path_to_lobster_calc=Path.cwd(), requested_files=["charge"]) for arg_name in bva_files: setattr(args, arg_name, bva_files[arg_name]) @@ -1068,11 +1317,11 @@ def run(args): if dos_comparison: if "DOSCAR.LSO.lobster" in args.doscar.name: dos_files = get_file_paths( - path_to_lobster_calc=Path(os.getcwd()), requested_files=["vasprun", "doscar"], use_lso_dos=True + path_to_lobster_calc=Path.cwd(), requested_files=["vasprun", "doscar"], use_lso_dos=True ) else: dos_files = get_file_paths( - path_to_lobster_calc=Path(os.getcwd()), requested_files=["vasprun", "doscar"], use_lso_dos=False + path_to_lobster_calc=Path.cwd(), requested_files=["vasprun", "doscar"], use_lso_dos=False ) for arg_name in dos_files: setattr(args, arg_name, dos_files[arg_name]) @@ -1105,10 +1354,10 @@ def run(args): if args.action in ["plot-dos", "plotdos"]: if "DOSCAR.LSO.lobster" in args.doscar.name: req_files = get_file_paths( - path_to_lobster_calc=Path(os.getcwd()), requested_files=["structure", "doscar"], use_lso_dos=True + path_to_lobster_calc=Path.cwd(), requested_files=["structure", "doscar"], use_lso_dos=True ) else: - req_files = get_file_paths(path_to_lobster_calc=Path(os.getcwd()), requested_files=["structure", "doscar"]) + req_files = get_file_paths(path_to_lobster_calc=Path.cwd(), requested_files=["structure", "doscar"]) for arg_name in req_files: setattr(args, arg_name, req_files[arg_name]) @@ -1180,33 +1429,34 @@ def run(args): if args.action in ["plot-icohp-distance", "ploticohpdistance"]: if args.cobis: - filename = get_file_paths(path_to_lobster_calc=Path(os.getcwd()), requested_files=["icobilist"]).get( - "icobilist" - ) + filename = get_file_paths(path_to_lobster_calc=Path.cwd(), requested_files=["icobilist"]).get("icobilist") args.icohplist = filename - # filename = args.icohplist.parent / "ICOBILIST.lobster" - # if not filename.exists(): - # filename = filename.with_name(zpath(filename.name)) options = {"are_cobis": True, "are_coops": False} elif args.coops: - filename = get_file_paths(path_to_lobster_calc=Path(os.getcwd()), requested_files=["icooplist"]).get( - "icooplist" - ) + filename = get_file_paths(path_to_lobster_calc=Path.cwd(), requested_files=["icooplist"]).get("icooplist") args.icohplist = filename options = {"are_cobis": False, "are_coops": True} else: - filename = get_file_paths(path_to_lobster_calc=Path(os.getcwd()), requested_files=["icohplist"]).get( - "icohplist" - ) + filename = get_file_paths(path_to_lobster_calc=Path.cwd(), requested_files=["icohplist"]).get("icohplist") args.icohplist = filename options = {"are_cobis": False, "are_coops": False} icohpcollection = Icohplist(filename=args.icohplist, **options).icohpcollection icohp_plotter = IcohpDistancePlotter(**options) - icohp_plotter.add_icohps(icohpcollection=icohpcollection, label="") + icohp_plotter.add_icohps(icohpcollection=icohpcollection, label=args.legendprefix) + + get_plot_kwargs = { + "alpha": args.alpha, + "color_interactions": args.colorbonds, + "colors": args.colors, + "marker_size": args.markersize, + "marker_style": args.markerstyle, + "xlim": args.xlim, + "ylim": args.ylim, + } - plt = icohp_plotter.get_plot(xlim=args.xlim, ylim=args.ylim) + plt = icohp_plotter.get_plot(**get_plot_kwargs) ax = plt.gca() ax.set_title(args.title) diff --git a/src/lobsterpy/plotting/__init__.py b/src/lobsterpy/plotting/__init__.py index 70b731f0..4a9257ed 100644 --- a/src/lobsterpy/plotting/__init__.py +++ b/src/lobsterpy/plotting/__init__.py @@ -58,9 +58,9 @@ class PlainCohpPlotter(CohpPlotter): :param zero_at_efermi: Shift all populations to have zero energy at the Fermi level. Defaults to True. :param are_coops: Bool indicating that populations are COOPs, not COHPs. - Defaults to False for COHPs. + Defaults to False, i.e., COHPs are plotted. :param are_cobis: Bool indicating that populations are COBIs, not COHPs. - Defaults to False for COHPs. + Defaults to False, i.e., ICOHPs are plotted. """ def get_plot( @@ -519,9 +519,9 @@ class InteractiveCohpPlotter(CohpPlotter): :param zero_at_efermi: Shift all populations to have zero energy at the Fermi level. Defaults to True. :param are_coops: Bool indicating that populations are COOPs, not COHPs. - Defaults to False for COHPs. + Defaults to False, i.e., COHPs are plotted. :param are_cobis: Bool indicating that populations are COBIs, not COHPs. - Defaults to False for COHPs. + Defaults to False, i.e., COHPs are plotted. """ COLOR_PALETTE = [ @@ -1088,9 +1088,9 @@ class IcohpDistancePlotter: Plotter to generate ICOHP or ICOBI or ICOOP vs bond lengths plots. :param are_coops: Bool indicating that populations are ICOOPs, not ICOHPs. - Defaults to False for COHPs. + Defaults to False, i.e., ICOHPs are plotted. :param are_cobis: Bool indicating that populations are ICOBIs, not ICOHPs. - Defaults to False for COHPs. + Defaults to False, i.e., ICOHPs are plotted. """ COLOR_PALETTE = [ @@ -1195,7 +1195,7 @@ def get_plot( ax.set_xlabel("Bond lengths (\u00c5)") if color_interactions: - colors = InteractiveCohpPlotter.COLOR_PALETTE if colors is None else colors + colors = self.COLOR_PALETTE if colors is None else colors atom_types = [] for data in self._icohps.values(): atom_types.extend(list(set(data["atom_types"]))) @@ -1208,6 +1208,7 @@ def get_plot( else: y = data["icohps"] for i, pair in enumerate(data["atom_types"]): + legend_label = f"{pair}" if not label else f"{label}-({pair})" ax.scatter( x[i], y[i], @@ -1215,7 +1216,7 @@ def get_plot( s=marker_size, alpha=alpha, marker=marker_style, - label=f"{label}-({pair})", + label=legend_label, ) # Filter out duplicate labels and add only unique labels to the legend @@ -1234,3 +1235,128 @@ def get_plot( ax.scatter(x, y, s=marker_size, marker=marker_style, label=label) return plt + + +class BWDFPlotter: + """ + Plotter to generate Bond weighted distribution functions using ICOHP or ICOBI or ICOOP as weights. + + :param are_coops: Bool indicating that populations are ICOOPs, not ICOHPs. + Defaults to False, i.e., ICOHPs are plotted. + :param are_cobis: Bool indicating that populations are ICOBIs, not ICOHPs. + Defaults to False, i.e., ICOHPs are plotted. + """ + + COLOR_PALETTE = [ + "#e41a1c", + "#377eb8", + "#4daf4a", + "#984ea3", + "#ff7f00", + "#ffff33", + "#a65628", + "#f781bf", + "#999999", + ] + + def __init__(self, are_coops: bool = False, are_cobis: bool = False): + """Initialize ICOHPs or ICOBI or ICOOP vs bond lengths plotter.""" + self.are_coops = are_coops + self.are_cobis = are_cobis + self._bwdfs = {} # type: ignore + + @staticmethod + def _bwdf_data_to_plot(raw_bwdf: dict): + """ + Restructure bond weighted distribution function (BWDF) data for plotting. + + :param raw_bwdf: dict containing BWDF data as obtained from + FeaturizeIcoxxlist.calc_bwdf() or FeaturizeIcoxxlist.calc_site_bwdf() + + """ + # Keep only the BWDF data necessary for plotting + excluded_keys = {"centers", "edges", "bin_width", "wasserstein_dist_to_rdf"} + + formatted_bwdf = {} + for pair, value in raw_bwdf.items(): + if pair not in excluded_keys: + formatted_bwdf[pair] = {"centers": raw_bwdf.get("centers"), "icoxx_binned": value.get("icoxx_binned")} + + return formatted_bwdf + + def add_bwdf(self, label: str, bwdf: dict): + """ + Add bond weighted distribution function (BWDF) for plotting. + + :param label: Label for the BWDF. Must be unique. + :param bwdf: dict containing BWDF data as obtained from + FeaturizeIcoxxlist.calc_bwdf() or FeaturizeIcoxxlist.calc_site_bwdf() + + """ + self._bwdfs[label] = self._bwdf_data_to_plot(bwdf) + + def get_plot( + self, + ax: mpl.axes.Axes | None = None, + colors: list[str] | None = None, + plot_negative: bool = True, + sigma: float | None = None, + xlim: tuple[float, float] | None = None, + ylim: tuple[float, float] | None = None, + ): + """ + Get a matplotlib plot showing the bond weighted distribution function (BWDF). + + :param ax: Existing Matplotlib Axes object to plot to. + :param colors: list of hex color codes to be used in plot + :param plot_negative: Will plot -1*ICOHPs. Works only for ICOHPs + :param sigma: Standard deviation of Gaussian broadening applied to + distribution data. If ,None no broadening will be + added. + :param xlim: Specifies the x-axis limits. Defaults to None for + automatic determination. + :param ylim: Specifies the y-axis limits. Defaults to None for + automatic determination. + + Returns: + A matplotlib object. + """ + if self.are_coops and not self.are_cobis: + cohp_label = "ICOOP" + elif self.are_cobis and not self.are_coops: + cohp_label = "ICOBI" + elif self.are_cobis and self.are_coops: + raise ValueError("Plot data should not contain ICOBI and ICOOP data at same time") + else: + cohp_label = "ICOHP (eV)" + + if ax is None: + _, ax = plt.subplots() + + if xlim: + ax.set_xlim(xlim) + if ylim: + ax.set_ylim(ylim) + + palette = self.COLOR_PALETTE if colors is None else colors + pal_iter = cycle(palette) + + for label, bwdf in self._bwdfs.items(): + for pair in bwdf: + legend_label = f"{pair}" if not label else f"{label}: {pair}" + if plot_negative and cohp_label == "ICOHP (eV)": + icoxx_weights = PlainCohpPlotter._broaden( + bwdf[pair]["centers"], -1 * bwdf[pair]["icoxx_binned"], sigma=sigma + ) + ax.plot(bwdf[pair]["centers"], icoxx_weights, label=legend_label, c=next(pal_iter)) + else: + icoxx_weights = PlainCohpPlotter._broaden( + bwdf[pair]["centers"], bwdf[pair]["icoxx_binned"], sigma=sigma + ) + ax.plot(bwdf[pair]["centers"], icoxx_weights, label=legend_label, c=next(pal_iter)) + + ax.set_ylabel(f"BWDF-{cohp_label}") + ax.set_xlabel("Bond lengths (\u00c5)") + ax.legend() + + return plt diff --git a/tests/cli/test_cli.py b/tests/cli/test_cli.py index a2387445..5b0d4ead 100644 --- a/tests/cli/test_cli.py +++ b/tests/cli/test_cli.py @@ -15,6 +15,8 @@ import numpy as np import pytest from matplotlib.figure import Figure +from monty.serialization import loadfn +from pymatgen.electronic_structure.cohp import Cohp from lobsterpy.cli import get_parser, run @@ -41,6 +43,12 @@ ["plot", "1", "--style", "dark_background"], ["plot", "1", "--sigma", "1.2"], ["plot", "1", "--fwhm", "1"], + ["plot-icohp-distance", "-cbonds"], + ["plot-bwdf", "-maxlen", "5"], + ["plot-bwdf", "--sigma", "0.1"], + ["plot-bwdf", "-norm", "counts"], + ["plotbwdf", "-binwidth", "0.02"], + ["plotbwdf", "-siteindex", "0"], ] error_test_cases = [ @@ -180,7 +188,7 @@ def test_cli_interactive_plotter_cobi(self): test = get_parser().parse_args(args) run(test) - def test_cli_interactive_plotter_coops(self): + def test_cli_interactive_plotter_coops(self, tmp_path): os.chdir(TestDir / "test_data/CdF_comp_range") # tests skip showing plots generated using automatic interactive plotter args = [ @@ -193,6 +201,75 @@ def test_cli_interactive_plotter_coops(self): test = get_parser().parse_args(args) run(test) + def test_cli_save_plot_data(self, tmp_path, inject_mocks, clean_plot): + os.chdir(TestDir / "test_data/NaCl") + + # Interactive plotter + plot_data_path = tmp_path / "plotdata.json" + args = [ + "auto-plot-ia", + "--orbitalresolved", + "--labelresolved", + "--hideplot", + "--allbonds", + "-spj", + str(plot_data_path), + ] + test = get_parser().parse_args(args) + run(test) + self.assert_is_finite_file(plot_data_path) + plot_data = loadfn(plot_data_path) + expected_labels = [ + "Na1: 6 x Cl-Na", + "21: Cl2 (3p)-Na1 (3s) (2.85 Å)", + "23: Cl2 (3p)-Na1 (3s) (2.85 Å)", + "24: Cl2 (3p)-Na1 (3s) (2.85 Å)", + "27: Cl2 (3p)-Na1 (3s) (2.85 Å)", + "28: Cl2 (3p)-Na1 (3s) (2.85 Å)", + "30: Cl2 (3p)-Na1 (3s) (2.85 Å)", + "21: Cl2 (3s)-Na1 (3s) (2.85 Å)", + "23: Cl2 (3s)-Na1 (3s) (2.85 Å)", + "24: Cl2 (3s)-Na1 (3s) (2.85 Å)", + "27: Cl2 (3s)-Na1 (3s) (2.85 Å)", + "28: Cl2 (3s)-Na1 (3s) (2.85 Å)", + "30: Cl2 (3s)-Na1 (3s) (2.85 Å)", + "21: Cl2 (3p)-Na1 (2p) (2.85 Å)", + "23: Cl2 (3p)-Na1 (2p) (2.85 Å)", + "24: Cl2 (3p)-Na1 (2p) (2.85 Å)", + "27: Cl2 (3p)-Na1 (2p) (2.85 Å)", + "28: Cl2 (3p)-Na1 (2p) (2.85 Å)", + "30: Cl2 (3p)-Na1 (2p) (2.85 Å)", + "Cl2: 6 x Cl-Na", + ] + # test if saved json file contains valid Cohp objects + for label, data in plot_data.items(): + assert isinstance(data, Cohp) + assert label in expected_labels + + staitc_plot_data_path = tmp_path / "plotdata_static.json" + args = [ + "auto-plot", + "--orbitalresolved", + "--allbonds", + "-spj", + str(staitc_plot_data_path), + ] + test = get_parser().parse_args(args) + run(test) + self.assert_is_finite_file(staitc_plot_data_path) + plot_data = loadfn(staitc_plot_data_path) + # test if saved json file contains valid Cohp objects + expected_labels = [ + "Na1: 6 x Cl-Na", + "6x Cl (3p)-Na (3s) (2.85 Å)", + "6x Cl (3s)-Na (3s) (2.85 Å)", + "6x Cl (3p)-Na (2p) (2.85 Å)", + "Cl2: 6 x Cl-Na", + ] + for label, data in plot_data.items(): + assert isinstance(data, Cohp) + assert label in expected_labels + def test_icoxxlist_plots(self, tmp_path, inject_mocks, clean_plot): os.chdir(TestDir / "test_data/NaCl") plot_path = tmp_path / "plot.png" @@ -213,6 +290,96 @@ def test_icoxxlist_plots(self, tmp_path, inject_mocks, clean_plot): test = get_parser().parse_args(args) run(test) + os.chdir(TestDir / "test_data/CdF_comp_range") + args = ["ploticohpdistance", "--cobis", "-cbonds", "-c", "red", "green", "blue", "yellow"] + test = get_parser().parse_args(args) + run(test) + + expected_colors = [[[0.0, 0.0, 1.0, 0.4]], [[0.0, 0.5019607843137255, 0.0, 0.4]], [[1.0, 0.0, 0.0, 0.4]]] + handles, legends = plt.gca().get_legend_handles_labels() + marker_colors = [] + for handle in handles: + colors = handle.get_facecolor().tolist() + if colors not in marker_colors: + marker_colors.append(colors) + np.testing.assert_array_almost_equal(sorted(marker_colors), expected_colors) + assert sorted(set(legends)) == ["Cd-Cd", "Cd-F", "F-F"] + + def test_plot_bwdf(self, tmp_path, inject_mocks, clean_plot): + # tests for checking if plots are saved + os.chdir(TestDir / "test_data/CdF_comp_range") + plot_path = tmp_path / "plot.png" + args = ["plotbwdf", "--hideplot", "--saveplot", str(plot_path)] + test = get_parser().parse_args(args) + run(test) + self.assert_is_finite_file(tmp_path / "summed_plot.png") + + # check for atompairs arg (multiple plots should be generated) + plot_path = tmp_path / "bwdf.pdf" + args = ["plotbwdf", "--hideplot", "-atompairs", "--saveplot", str(plot_path)] + test = get_parser().parse_args(args) + run(test) + self.assert_is_finite_file(tmp_path / "Cd_Cd_bwdf.pdf") + self.assert_is_finite_file(tmp_path / "Cd_F_bwdf.pdf") + self.assert_is_finite_file(tmp_path / "F_F_bwdf.pdf") + + # check for siteindex arg (one plots with corresponding to + # siteindex should be generated) + plot_path = tmp_path / "bwdf.eps" + args = ["plotbwdf", "--hideplot", "-siteindex", "2", "--saveplot", str(plot_path)] + test = get_parser().parse_args(args) + run(test) + self.assert_is_finite_file(tmp_path / "2_bwdf.eps") + + # check for binwidth arg + args = ["plotbwdf", "-binwidth", "0.02", "-minlen", "0", "-maxlen", "5"] + test = get_parser().parse_args(args) + run(test) + ax = plt.gca() + lines = ax.get_lines() + line = lines[0] + x_data = line.get_xdata() + assert len(x_data) == 250 + assert pytest.approx(max(x_data)) == 4.99 + assert np.allclose(np.diff(x_data), 0.02, atol=1e-8) + + # check if icobis are read correctly + os.chdir(TestDir / "test_data/K3Sb") + args = ["plotbwdf", "--cobis", "-minlen", "2", "-maxlen", "6"] + test = get_parser().parse_args(args) + run(test) + ax = plt.gca() + lines = ax.get_lines() + line = lines[0] + y_data = line.get_ydata() + x_data = line.get_xdata() + assert pytest.approx(max(x_data)) == 5.99 + assert pytest.approx(min(x_data)) == 2.01 + assert np.all(y_data >= 0) + + # icoops + args = [ + "plotbwdf", + "--coops", + "-x", + "3", + "5", + "-y", + "-0.4", + "0.1", + ] + test = get_parser().parse_args(args) + run(test) + ax = plt.gca() + lines = ax.get_lines() + line = lines[0] + y_data = line.get_ydata() + assert np.any(y_data >= 0) + assert np.any(y_data <= 0) + # test for x-y axis limits on generated plots + assert ax.get_xlim() == (3, 5) + assert ax.get_ylim() == (-0.4, 0.1) + def test_lobsterin_generation(self, tmp_path): os.chdir(TestDir / "test_data/Test_Input_Generation_Empty") lobsterinpath = tmp_path / "lobsterin.lobsterpy" @@ -709,7 +876,7 @@ def assert_is_finite_file(path: Path) -> None: assert path.is_file() assert path.stat().st_size > 0 - @pytest.mark.skip(reason="Only enable this test to regenerate test data") + @pytest.mark.skip(reason="Only enable this test to regenerate cli plots test data") def test_generate_ref_data(self, inject_mocks): json_data = {} diff --git a/tests/conftest.py b/tests/conftest.py index de1250a5..b716d32d 100644 --- a/tests/conftest.py +++ b/tests/conftest.py @@ -10,6 +10,7 @@ from lobsterpy.cohp.analyze import Analysis from lobsterpy.cohp.describe import Description +from lobsterpy.featurize.core import FeaturizeIcoxxlist TestDir = Path(__file__).absolute().parent @@ -582,6 +583,42 @@ def describe_nasbf6_orb(): # Fixtures for plotting module tests +@pytest.fixture +def bwdf_nacl(): + return FeaturizeIcoxxlist( + path_to_icoxxlist=TestDir / "test_data/NaCl/ICOHPLIST.lobster.gz", + path_to_structure=TestDir / "test_data/NaCl/CONTCAR.gz", + bin_width=0.1, + normalization="formula_units", + are_coops=False, + are_cobis=False, + ).calc_bwdf() + + +@pytest.fixture +def bwdf_cdf_cobi(): + return FeaturizeIcoxxlist( + path_to_icoxxlist=TestDir / "test_data/CdF_comp_range/ICOBILIST.lobster.gz", + path_to_structure=TestDir / "test_data/CdF_comp_range/CONTCAR.gz", + bin_width=0.1, + normalization="none", + are_coops=False, + are_cobis=True, + ).calc_bwdf() + + +@pytest.fixture +def bwdf_cdf_coop(): + return FeaturizeIcoxxlist( + path_to_icoxxlist=TestDir / "test_data/CdF_comp_range/ICOOPLIST.lobster.gz", + path_to_structure=TestDir / "test_data/CdF_comp_range/CONTCAR.gz", + bin_width=0.1, + normalization="counts", + are_coops=True, + are_cobis=False, + ).calc_site_bwdf(site_index=1) + + @pytest.fixture def plot_analyse_nacl(): return Analysis( diff --git a/tests/plotting/test_plotting.py b/tests/plotting/test_plotting.py index 24bb3444..bf404218 100644 --- a/tests/plotting/test_plotting.py +++ b/tests/plotting/test_plotting.py @@ -10,6 +10,7 @@ from lobsterpy.cohp.describe import Description from lobsterpy.plotting import ( + BWDFPlotter, IcohpDistancePlotter, InteractiveCohpPlotter, PlainCohpPlotter, @@ -750,3 +751,102 @@ def test_dos_plotter_exceptions(self, nacl_dos): str(err.value) == "Requested orbital is not available for this site, available orbitals are 3s, 2p_y, 2p_z, 2p_x" ) + + +class TestBWDFPlotter: + def test_bwdf_plotter_labels(self, bwdf_nacl, bwdf_cdf_coop, bwdf_cdf_cobi): + bwdf_plotter = BWDFPlotter() + bwdf_plotter.add_bwdf(bwdf=bwdf_nacl, label="NaCl") + fig = bwdf_plotter.get_plot().gca() + + assert fig.get_xlabel() == "Bond lengths (Å)" + assert fig.get_ylabel() == "BWDF-ICOHP (eV)" + + bwdf_plotter = BWDFPlotter(are_coops=True) + bwdf_plotter.add_bwdf(bwdf=bwdf_cdf_coop, label="CdF") + fig = bwdf_plotter.get_plot().gca() + + assert fig.get_xlabel() == "Bond lengths (Å)" + assert fig.get_ylabel() == "BWDF-ICOOP" + + bwdf_plotter = BWDFPlotter(are_cobis=True) + bwdf_plotter.add_bwdf(bwdf=bwdf_cdf_cobi, label="CdF") + fig = bwdf_plotter.get_plot().gca() + + assert fig.get_xlabel() == "Bond lengths (Å)" + assert fig.get_ylabel() == "BWDF-ICOBI" + + def test_bwdf_plot_data(self, bwdf_nacl, bwdf_cdf_coop, bwdf_cdf_cobi): + bwdf_plotter = BWDFPlotter() + bwdf_plotter.add_bwdf(bwdf=bwdf_nacl, label="NaCl") + fig = bwdf_plotter.get_plot().gcf() + + assert len(fig.axes[0].get_lines()) == 4 + + ref_xdata = bwdf_nacl["centers"] + ref_legends = [f"NaCl: {legend}" for legend in bwdf_plotter._bwdfs["NaCl"]] + for bwdf_lines in fig.axes[0].get_lines(): + pair = bwdf_lines._label.split(":")[-1].strip() + assert bwdf_lines._label in ref_legends + # Check x and y data + np.testing.assert_array_almost_equal(bwdf_lines.get_data()[0].tolist(), ref_xdata, decimal=4) + np.testing.assert_array_almost_equal( + bwdf_lines.get_data()[1], -1 * bwdf_nacl[pair]["icoxx_binned"], decimal=4 + ) + + # test for plot negative + fig = bwdf_plotter.get_plot(plot_negative=False).gcf() + + assert len(fig.axes[0].get_lines()) == 4 + + ref_xdata = bwdf_nacl["centers"] + ref_legends = [f"NaCl: {legend}" for legend in bwdf_plotter._bwdfs["NaCl"]] + for bwdf_lines in fig.axes[0].get_lines(): + pair = bwdf_lines._label.split(":")[-1].strip() + assert bwdf_lines._label in ref_legends + # Check x and y data + np.testing.assert_array_almost_equal(bwdf_lines.get_data()[0].tolist(), ref_xdata, decimal=4) + np.testing.assert_array_almost_equal(bwdf_lines.get_data()[1], bwdf_nacl[pair]["icoxx_binned"], decimal=4) + + # test for icobis + bwdf_plotter = BWDFPlotter(are_cobis=True) + bwdf_plotter.add_bwdf(bwdf=bwdf_cdf_cobi, label="CdF") + fig = bwdf_plotter.get_plot().gcf() + + assert len(fig.axes[0].get_lines()) == 4 + + ref_xdata = bwdf_cdf_cobi["centers"] + ref_legends = [f"CdF: {legend}" for legend in bwdf_plotter._bwdfs["CdF"]] + for bwdf_lines in fig.axes[0].get_lines(): + pair = bwdf_lines._label.split(":")[-1].strip() + assert bwdf_lines._label in ref_legends + # Check x and y data + np.testing.assert_array_almost_equal(bwdf_lines.get_data()[0].tolist(), ref_xdata, decimal=4) + np.testing.assert_array_almost_equal( + bwdf_lines.get_data()[1], bwdf_cdf_cobi[pair]["icoxx_binned"], decimal=4 + ) + + # test for icoops + bwdf_plotter = BWDFPlotter(are_coops=True) + bwdf_plotter.add_bwdf(bwdf=bwdf_cdf_coop, label="CdF") + fig = bwdf_plotter.get_plot().gcf() + + assert len(fig.axes[0].get_lines()) == 1 + + ref_xdata = bwdf_cdf_coop["centers"] + ref_legends = [f"CdF: {legend}" for legend in bwdf_plotter._bwdfs["CdF"]] + for bwdf_lines in fig.axes[0].get_lines(): + pair = bwdf_lines._label.split(":")[-1].strip() + assert bwdf_lines._label in ref_legends + # Check x and y data + np.testing.assert_array_almost_equal(bwdf_lines.get_data()[0].tolist(), ref_xdata, decimal=4) + np.testing.assert_array_almost_equal( + bwdf_lines.get_data()[1], bwdf_cdf_coop[pair]["icoxx_binned"], decimal=4 + ) + + def test_bwdf_plotter_exceptions(self, bwdf_nacl): + with pytest.raises(ValueError) as err: # noqa: PT012, PT011 + bwdf_plotter = BWDFPlotter(are_coops=True, are_cobis=True) + bwdf_plotter.add_bwdf(bwdf=bwdf_nacl, label="NaCl") + _ = bwdf_plotter.get_plot() + assert str(err.value) == "Plot data should not contain ICOBI and ICOOP data at same time" diff --git a/tests/test_data/cli-reference.json b/tests/test_data/cli-reference.json index a6dca037..ead28f69 100644 --- a/tests/test_data/cli-reference.json +++ b/tests/test_data/cli-reference.json @@ -1937,11 +1937,11 @@ -11.57895 ], [ - 4.064615392916008e-06, + 4.0646153929160085e-06, -11.52882 ], [ - 1.0111499921820393e-05, + 1.0111499921820395e-05, -11.4787 ], [ @@ -1949,7 +1949,7 @@ -11.42857 ], [ - 2.9390976379763435e-05, + 2.9390976379763442e-05, -11.37845 ], [ @@ -1961,7 +1961,7 @@ -11.2782 ], [ - 8.443256598386891e-05, + 8.443256598386892e-05, -11.22807 ], [ @@ -1973,7 +1973,7 @@ -11.12782 ], [ - 0.00018914508952974225, + 0.00018914508952974228, -11.07769 ], [ @@ -1989,11 +1989,11 @@ -10.92732 ], [ - 0.00037082089649587434, + 0.0003708208964958743, -10.87719 ], [ - 0.0004336245310124366, + 0.0004336245310124365, -10.82707 ], [ @@ -2025,7 +2025,7 @@ -10.47619 ], [ - 0.0013930867057367728, + 0.0013930867057367724, -10.42607 ], [ @@ -2033,7 +2033,7 @@ -10.37594 ], [ - 0.0018316737501006429, + 0.001831673750100643, -10.32581 ], [ @@ -2041,7 +2041,7 @@ -10.27569 ], [ - 0.0023900772024109704, + 0.00239007720241097, -10.22556 ], [ @@ -2049,7 +2049,7 @@ -10.17544 ], [ - 0.0030958989387559893, + 0.003095898938755989, -10.12531 ], [ @@ -2081,11 +2081,11 @@ -9.77444 ], [ - 0.008137143295459278, + 0.008137143295459276, -9.72431 ], [ - 0.009111927872413274, + 0.009111927872413272, -9.67419 ], [ @@ -2097,7 +2097,7 @@ -9.57393 ], [ - 0.012664086874357458, + 0.01266408687435746, -9.52381 ], [ @@ -2125,7 +2125,7 @@ -9.22306 ], [ - 0.025715752068637437, + 0.025715752068637444, -9.17293 ], [ @@ -2177,7 +2177,7 @@ -8.57143 ], [ - 0.07676687724763481, + 0.07676687724763484, -8.5213 ], [ @@ -2185,7 +2185,7 @@ -8.47118 ], [ - 0.08854037339986863, + 0.08854037339986864, -8.42105 ], [ @@ -2197,15 +2197,15 @@ -8.3208 ], [ - 0.10827890637810782, + 0.10827890637810784, -8.27068 ], [ - 0.11539812534407988, + 0.1153981253440799, -8.22055 ], [ - 0.12277619401981617, + 0.12277619401981618, -8.17043 ], [ @@ -2217,11 +2217,11 @@ -8.07018 ], [ - 0.14636070239264723, + 0.14636070239264726, -8.02005 ], [ - 0.15466175761353684, + 0.15466175761353687, -7.96992 ], [ @@ -2261,7 +2261,7 @@ -7.5188 ], [ - 0.24453386929196796, + 0.2445338692919679, -7.46867 ], [ @@ -2277,7 +2277,7 @@ -7.3183 ], [ - 0.2800603902059092, + 0.28006039020590917, -7.26817 ], [ @@ -2293,7 +2293,7 @@ -7.11779 ], [ - 0.3121493596644482, + 0.31214935966444823, -7.06767 ], [ @@ -2301,7 +2301,7 @@ -7.01754 ], [ - 0.32620754529743234, + 0.3262075452974323, -6.96742 ], [ @@ -2309,7 +2309,7 @@ -6.91729 ], [ - 0.338592481545285, + 0.33859248154528493, -6.86717 ], [ @@ -2321,7 +2321,7 @@ -6.76692 ], [ - 0.35353040903661204, + 0.3535304090366121, -6.71679 ], [ @@ -2333,7 +2333,7 @@ -6.61654 ], [ - 0.36333495643516817, + 0.3633349564351682, -6.56642 ], [ @@ -2353,15 +2353,15 @@ -6.36591 ], [ - 0.3665869720590435, + 0.36658697205904345, -6.31579 ], [ - 0.3651555743025907, + 0.36515557430259066, -6.26566 ], [ - 0.3630801073849135, + 0.3630801073849134, -6.21554 ], [ @@ -2389,7 +2389,7 @@ -5.91479 ], [ - 0.332439407811993, + 0.3324394078119931, -5.86466 ], [ @@ -2429,7 +2429,7 @@ -5.41353 ], [ - 0.2534836173700605, + 0.25348361737006053, -5.36341 ], [ @@ -2437,7 +2437,7 @@ -5.31328 ], [ - 0.23524171075012776, + 0.2352417107501277, -5.26316 ], [ @@ -2445,11 +2445,11 @@ -5.21303 ], [ - 0.21684071423729653, + 0.21684071423729648, -5.16291 ], [ - 0.2076596042100203, + 0.20765960421002033, -5.11278 ], [ @@ -2465,7 +2465,7 @@ -4.96241 ], [ - 0.17172729210472984, + 0.1717272921047298, -4.91228 ], [ @@ -2481,7 +2481,7 @@ -4.7619 ], [ - 0.13820355190402855, + 0.13820355190402853, -4.71178 ], [ @@ -2513,7 +2513,7 @@ -4.3609 ], [ - 0.08246663817431554, + 0.08246663817431556, -4.31078 ], [ @@ -2521,11 +2521,11 @@ -4.26065 ], [ - 0.07124361320896054, + 0.07124361320896053, -4.21053 ], [ - 0.06604605881172779, + 0.06604605881172777, -4.1604 ], [ @@ -2549,7 +2549,7 @@ -3.90977 ], [ - 0.040388105694524765, + 0.04038810569452477, -3.85965 ], [ @@ -2561,7 +2561,7 @@ -3.7594 ], [ - 0.030800259980014014, + 0.03080025998001402, -3.70927 ], [ @@ -2569,7 +2569,7 @@ -3.65915 ], [ - 0.025447631702521706, + 0.025447631702521702, -3.60902 ], [ @@ -2581,7 +2581,7 @@ -3.50877 ], [ - 0.018777269282353178, + 0.01877726928235318, -3.45865 ], [ @@ -2589,7 +2589,7 @@ -3.40852 ], [ - 0.015116026033972708, + 0.015116026033972703, -3.3584 ], [ @@ -2613,7 +2613,7 @@ -3.10777 ], [ - 0.0070111230053803136, + 0.007011123005380312, -3.05764 ], [ @@ -2625,19 +2625,19 @@ -2.95739 ], [ - 0.004100708708803657, + 0.004100708708803658, -2.90727 ], [ - 0.003239225767170314, + 0.0032392257671703148, -2.85714 ], [ - 0.002417734367185481, + 0.0024177343671854807, -2.80702 ], [ - 0.0016278672137538498, + 0.0016278672137538495, -2.75689 ], [ @@ -2645,7 +2645,7 @@ -2.70677 ], [ - 0.00011018702877305857, + 0.00011018702877305868, -2.65664 ], [ @@ -2653,11 +2653,11 @@ -2.60652 ], [ - -0.0013786150731831235, + -0.0013786150731831238, -2.55639 ], [ - -0.0021325509625462306, + -0.00213255096254623, -2.50627 ], [ @@ -2669,11 +2669,11 @@ -2.40602 ], [ - -0.0045251094572744295, + -0.00452510945727443, -2.35589 ], [ - -0.005391784752564531, + -0.005391784752564532, -2.30576 ], [ @@ -2729,7 +2729,7 @@ -1.65414 ], [ - -0.026505554544686886, + -0.02650555454468688, -1.6040099999999997 ], [ @@ -2745,7 +2745,7 @@ -1.45363 ], [ - -0.03773018335658152, + -0.03773018335658153, -1.4035099999999998 ], [ @@ -2753,7 +2753,7 @@ -1.35338 ], [ - -0.04460525122664337, + -0.044605251226643376, -1.3032599999999999 ], [ @@ -2761,7 +2761,7 @@ -1.25313 ], [ - -0.05245494577537396, + -0.052454945775373976, -1.20301 ], [ @@ -2801,7 +2801,7 @@ -0.7518799999999999 ], [ - -0.1094508021189985, + -0.10945080211899853, -0.7017500000000001 ], [ @@ -2825,11 +2825,11 @@ -0.45113000000000003 ], [ - -0.16078011063461525, + -0.16078011063461528, -0.4009999999999998 ], [ - -0.17074682318417858, + -0.17074682318417855, -0.3508800000000001 ], [ @@ -2841,7 +2841,7 @@ -0.25063000000000013 ], [ - -0.2031632531994053, + -0.20316325319940534, -0.2004999999999999 ], [ @@ -2861,7 +2861,7 @@ 0.0 ], [ - -0.2656408434753054, + -0.26564084347530537, 0.05013000000000023 ], [ @@ -2881,7 +2881,7 @@ 0.25063000000000013 ], [ - -0.33830213696707145, + -0.3383021369670715, 0.30074999999999985 ], [ @@ -2893,7 +2893,7 @@ 0.4009999999999998 ], [ - -0.38626907487192935, + -0.3862690748719293, 0.45113000000000003 ], [ @@ -2905,7 +2905,7 @@ 0.55138 ], [ - -0.4369777245575577, + -0.43697772455755757, 0.6014999999999997 ], [ @@ -2917,11 +2917,11 @@ 0.7017499999999997 ], [ - -0.4898342972222741, + -0.489834297222274, 0.7518799999999999 ], [ - -0.5078071300450898, + -0.5078071300450897, 0.8020100000000001 ], [ @@ -2985,7 +2985,7 @@ 1.5538799999999995 ], [ - -0.7870540458210135, + -0.7870540458210133, 1.6040099999999997 ], [ @@ -3005,11 +3005,11 @@ 1.8045100000000005 ], [ - -0.8545805993273862, + -0.8545805993273863, 1.8546399999999998 ], [ - -0.8659578290680996, + -0.8659578290680994, 1.9047599999999996 ], [ @@ -3017,7 +3017,7 @@ 1.9548899999999998 ], [ - -0.8862456918355582, + -0.8862456918355581, 2.0050100000000004 ], [ @@ -3025,15 +3025,15 @@ 2.0551399999999997 ], [ - -0.9029887455740052, + -0.902988745574005, 2.1052599999999995 ], [ - -0.9099426238652571, + -0.9099426238652569, 2.1553900000000006 ], [ - -0.9159095292218045, + -0.9159095292218044, 2.2055100000000003 ], [ @@ -3113,15 +3113,15 @@ 3.15789 ], [ - -0.8106908486158199, + -0.8106908486158197, 3.2080199999999994 ], [ - -0.7951630577522119, + -0.7951630577522117, 3.2581500000000005 ], [ - -0.7789128731541192, + -0.7789128731541191, 3.3082700000000003 ], [ @@ -3173,7 +3173,7 @@ 3.90977 ], [ - -0.5274216917773168, + -0.5274216917773167, 3.9598999999999993 ], [ @@ -3185,7 +3185,7 @@ 4.06015 ], [ - -0.4666054995362411, + -0.4666054995362412, 4.110280000000001 ], [ @@ -3241,7 +3241,7 @@ 4.761899999999999 ], [ - -0.22321200161919608, + -0.22321200161919613, 4.81203 ], [ @@ -3249,7 +3249,7 @@ 4.862160000000001 ], [ - -0.19638643398181752, + -0.1963864339818175, 4.912280000000001 ], [ @@ -13722,7 +13722,7 @@ -8.1203 ], [ - -2.943546193682945e-06, + -2.9435461936829445e-06, -8.07018 ], [ @@ -13730,7 +13730,7 @@ -8.02005 ], [ - -6.269396027916123e-06, + -6.269396027916122e-06, -7.96992 ], [ @@ -13738,7 +13738,7 @@ -7.9198 ], [ - -1.2679732191521777e-05, + -1.2679732191521779e-05, -7.86967 ], [ @@ -13750,7 +13750,7 @@ -7.76942 ], [ - -3.2945897376812796e-05, + -3.294589737681279e-05, -7.7193 ], [ @@ -13758,7 +13758,7 @@ -7.66917 ], [ - -5.815048538861616e-05, + -5.815048538861615e-05, -7.61905 ], [ @@ -13774,7 +13774,7 @@ -7.46867 ], [ - -0.00015369703139244024, + -0.00015369703139244022, -7.41855 ], [ @@ -13786,7 +13786,7 @@ -7.3183 ], [ - -0.0002756335476472915, + -0.00027563354764729156, -7.26817 ], [ @@ -13798,11 +13798,11 @@ -7.16792 ], [ - -0.0004359273312598699, + -0.0004359273312598697, -7.11779 ], [ - -0.0004937367049364638, + -0.0004937367049364637, -7.06767 ], [ @@ -13826,11 +13826,11 @@ -6.81704 ], [ - -0.0007674396514481609, + -0.0007674396514481608, -6.76692 ], [ - -0.0007818107831450826, + -0.0007818107831450825, -6.71679 ], [ @@ -13850,15 +13850,15 @@ -6.51629 ], [ - -0.0006250371350926205, + -0.0006250371350926203, -6.46617 ], [ - -0.000554326725089156, + -0.0005543267250891561, -6.41604 ], [ - -0.00047819129971297844, + -0.0004781912997129785, -6.36591 ], [ @@ -13874,23 +13874,23 @@ -6.21554 ], [ - -0.00015145958675141528, + -0.0001514595867514152, -6.16541 ], [ - -7.4349855367581e-05, + -7.434985536758094e-05, -6.11529 ], [ - -2.5044803475157553e-06, + -2.504480347515684e-06, -6.06516 ], [ - 6.259011314960848e-05, + 6.25901131496085e-05, -6.01504 ], [ - 0.00011988260298765516, + 0.00011988260298765517, -5.96491 ], [ @@ -13914,7 +13914,7 @@ -5.71429 ], [ - 0.00028679456490794507, + 0.000286794564907945, -5.66416 ], [ @@ -13930,7 +13930,7 @@ -5.51378 ], [ - 0.00026063463638697544, + 0.0002606346363869754, -5.46366 ], [ @@ -13942,11 +13942,11 @@ -5.36341 ], [ - 0.00020560879561512145, + 0.00020560879561512147, -5.31328 ], [ - 0.0001852724323020636, + 0.00018527243230206356, -5.26316 ], [ @@ -13954,7 +13954,7 @@ -5.21303 ], [ - 0.00014521029812180686, + 0.00014521029812180684, -5.16291 ], [ @@ -13974,11 +13974,11 @@ -4.96241 ], [ - 6.482917391209477e-05, + 6.482917391209475e-05, -4.91228 ], [ - 5.3404988298007524e-05, + 5.340498829800751e-05, -4.86216 ], [ @@ -14002,11 +14002,11 @@ -4.61153 ], [ - 1.3324782479186285e-05, + 1.3324782479186283e-05, -4.5614 ], [ - 1.0199475151543176e-05, + 1.0199475151543174e-05, -4.51128 ], [ @@ -14018,7 +14018,7 @@ -4.41103 ], [ - 4.307547100477609e-06, + 4.30754710047761e-06, -4.3609 ], [ @@ -14026,11 +14026,11 @@ -4.31078 ], [ - 2.300590745307093e-06, + 2.3005907453070933e-06, -4.26065 ], [ - 1.6547596627139757e-06, + 1.6547596627139755e-06, -4.21053 ], [ @@ -14058,7 +14058,7 @@ -3.90977 ], [ - 1.1330634791071583e-07, + 1.133063479107158e-07, -3.85965 ], [ @@ -14082,7 +14082,7 @@ -3.60902 ], [ - 7.006141039525079e-09, + 7.0061410395250805e-09, -3.5589 ], [ @@ -14246,7 +14246,7 @@ -1.55388 ], [ - 1.909591506362483e-08, + 1.9095915063624834e-08, -1.5037599999999998 ], [ @@ -14270,7 +14270,7 @@ -1.25313 ], [ - 6.098125175396693e-07, + 6.098125175396694e-07, -1.20301 ], [ @@ -14294,7 +14294,7 @@ -0.9523799999999998 ], [ - 6.1240342786809e-06, + 6.1240342786808995e-06, -0.9022600000000001 ], [ @@ -14306,7 +14306,7 @@ -0.8020100000000001 ], [ - 1.6092630316411544e-05, + 1.609263031641154e-05, -0.7518799999999999 ], [ @@ -14334,7 +14334,7 @@ -0.45113000000000003 ], [ - 0.0001004146473458492, + 0.00010041464734584921, -0.4009999999999998 ], [ @@ -14342,11 +14342,11 @@ -0.3508800000000001 ], [ - 0.00015282578161892978, + 0.00015282578161892975, -0.30074999999999985 ], [ - 0.00018546615228089388, + 0.00018546615228089386, -0.25063000000000013 ], [ @@ -14354,15 +14354,15 @@ -0.2004999999999999 ], [ - 0.00026455831473608775, + 0.0002645583147360878, -0.15038000000000018 ], [ - 0.0003110812262901419, + 0.00031108122629014184, -0.10024999999999995 ], [ - 0.0003620969684209355, + 0.00036209696842093547, -0.05013000000000023 ], [ @@ -14374,11 +14374,11 @@ 0.05013000000000023 ], [ - 0.0005386014534188365, + 0.0005386014534188364, 0.10024999999999995 ], [ - 0.000603374049095702, + 0.0006033740490957018, 0.15038000000000018 ], [ @@ -14390,7 +14390,7 @@ 0.25063000000000013 ], [ - 0.0008015695766481287, + 0.0008015695766481286, 0.30074999999999985 ], [ @@ -14422,15 +14422,15 @@ 0.6516299999999999 ], [ - 0.0011918963500397357, + 0.0011918963500397355, 0.7017499999999997 ], [ - 0.0012121664686238116, + 0.0012121664686238118, 0.7518799999999999 ], [ - 0.0012241183055551766, + 0.0012241183055551768, 0.8020100000000001 ], [ @@ -14438,7 +14438,7 @@ 0.8521299999999998 ], [ - 0.0012211390935051225, + 0.0012211390935051223, 0.9022600000000001 ], [ @@ -14454,7 +14454,7 @@ 1.0526299999999997 ], [ - 0.0010938253886365065, + 0.0010938253886365063, 1.10276 ], [ @@ -14486,11 +14486,11 @@ 1.4536300000000004 ], [ - 0.0001840889645708313, + 0.00018408896457083128, 1.5037599999999998 ], [ - -7.581216143648001e-06, + -7.581216143647996e-06, 1.5538799999999995 ], [ @@ -14514,11 +14514,11 @@ 1.8045100000000005 ], [ - -0.0014868749267891608, + -0.0014868749267891606, 1.8546399999999998 ], [ - -0.0017611979853936791, + -0.0017611979853936787, 1.9047599999999996 ], [ @@ -14530,7 +14530,7 @@ 2.0050100000000004 ], [ - -0.0025250470184075566, + -0.002525047018407556, 2.0551399999999997 ], [ @@ -14538,11 +14538,11 @@ 2.1052599999999995 ], [ - -0.0029138745848155, + -0.0029138745848154993, 2.1553900000000006 ], [ - -0.0030516779571043624, + -0.003051677957104362, 2.2055100000000003 ], [ @@ -14554,11 +14554,11 @@ 2.3057599999999994 ], [ - -0.003169025789766358, + -0.0031690257897663576, 2.3558900000000005 ], [ - -0.003096120920572543, + -0.0030961209205725426, 2.40602 ], [ @@ -14574,7 +14574,7 @@ 2.5563900000000004 ], [ - -0.002311623039404519, + -0.0023116230394045188, 2.6065199999999997 ], [ @@ -14590,7 +14590,7 @@ 2.7568900000000003 ], [ - -0.0011505741141283915, + -0.0011505741141283911, 2.8070199999999996 ], [ @@ -14598,19 +14598,19 @@ 2.8571399999999993 ], [ - -0.0006002579431588931, + -0.0006002579431588929, 2.9072700000000005 ], [ - -0.0003522147296406182, + -0.00035221472964061816, 2.95739 ], [ - -0.00012706541430884674, + -0.00012706541430884666, 3.0075199999999995 ], [ - 7.289247801025726e-05, + 7.289247801025739e-05, 3.05764 ], [ @@ -14618,7 +14618,7 @@ 3.1077700000000004 ], [ - 0.00039686221700858465, + 0.0003968622170085846, 3.15789 ], [ @@ -14626,7 +14626,7 @@ 3.2080199999999994 ], [ - 0.0006269834374043477, + 0.0006269834374043476, 3.2581500000000005 ], [ @@ -14634,7 +14634,7 @@ 3.3082700000000003 ], [ - 0.0007777996649816139, + 0.0007777996649816137, 3.3583999999999996 ], [ @@ -14670,7 +14670,7 @@ 3.7593999999999994 ], [ - 0.0008119170222705373, + 0.0008119170222705374, 3.80952 ], [ @@ -14678,7 +14678,7 @@ 3.8596500000000002 ], [ - 0.000715181079718302, + 0.0007151810797183018, 3.90977 ], [ @@ -14686,7 +14686,7 @@ 3.9598999999999993 ], [ - 0.0006030956638025623, + 0.0006030956638025624, 4.01003 ], [ @@ -14702,7 +14702,7 @@ 4.160400000000001 ], [ - 0.0003739930781937501, + 0.00037399307819375, 4.21053 ], [ @@ -14722,19 +14722,19 @@ 4.41103 ], [ - 0.00015631759594250587, + 0.00015631759594250585, 4.46115 ], [ - 0.0001263887831521841, + 0.00012638878315218406, 4.511280000000001 ], [ - 0.00010087941662872025, + 0.00010087941662872026, 4.561400000000001 ], [ - 7.948353893296978e-05, + 7.94835389329698e-05, 4.61153 ], [ @@ -14766,7 +14766,7 @@ 4.96241 ], [ - 7.334867626927726e-06, + 7.334867626927725e-06, 5.01253 ] ], @@ -42485,7 +42485,7 @@ -11.32832 ], [ - -1.7325788763999164e-07, + -1.7325788763999167e-07, -11.2782 ], [ @@ -42493,11 +42493,11 @@ -11.22807 ], [ - -2.301116882406029e-07, + -2.3011168824060296e-07, -11.17794 ], [ - -2.6561973643998434e-07, + -2.656197364399843e-07, -11.12782 ], [ @@ -42517,7 +42517,7 @@ -10.92732 ], [ - -5.559045671470932e-07, + -5.559045671470933e-07, -10.87719 ], [ @@ -42561,7 +42561,7 @@ -10.37594 ], [ - -2.447879096089737e-06, + -2.4478790960897367e-06, -10.32581 ], [ @@ -42589,7 +42589,7 @@ -10.02506 ], [ - -5.697588002928196e-06, + -5.697588002928197e-06, -9.97494 ], [ @@ -42597,15 +42597,15 @@ -9.92481 ], [ - -7.139675028105158e-06, + -7.13967502810516e-06, -9.87469 ], [ - -7.97096080826319e-06, + -7.970960808263188e-06, -9.82456 ], [ - -8.883201733651884e-06, + -8.883201733651881e-06, -9.77444 ], [ @@ -42613,7 +42613,7 @@ -9.72431 ], [ - -1.0973550795692162e-05, + -1.0973550795692164e-05, -9.67419 ], [ @@ -42621,11 +42621,11 @@ -9.62406 ], [ - -1.3458583443060006e-05, + -1.3458583443060003e-05, -9.57393 ], [ - -1.4864531764917217e-05, + -1.4864531764917219e-05, -9.52381 ], [ @@ -42633,15 +42633,15 @@ -9.47368 ], [ - -1.8034412156125947e-05, + -1.803441215612595e-05, -9.42356 ], [ - -1.9810658760170127e-05, + -1.9810658760170134e-05, -9.37343 ], [ - -2.1722451917505404e-05, + -2.17224519175054e-05, -9.32331 ], [ @@ -42657,11 +42657,11 @@ -9.17293 ], [ - -3.083588295114318e-05, + -3.0835882951143195e-05, -9.12281 ], [ - -3.3505359556875266e-05, + -3.350535955687527e-05, -9.07268 ], [ @@ -42677,19 +42677,19 @@ -8.92231 ], [ - -4.585538030960596e-05, + -4.5855380309605965e-05, -8.87218 ], [ - -4.936999577057731e-05, + -4.936999577057732e-05, -8.82206 ], [ - -5.305596748123537e-05, + -5.3055967481235357e-05, -8.77193 ], [ - -5.691176350133613e-05, + -5.691176350133615e-05, -8.7218 ], [ @@ -42709,7 +42709,7 @@ -8.5213 ], [ - -7.860057806032602e-05, + -7.860057806032603e-05, -8.47118 ], [ @@ -42721,7 +42721,7 @@ -8.37093 ], [ - -9.328084764917153e-05, + -9.328084764917154e-05, -8.3208 ], [ @@ -42733,7 +42733,7 @@ -8.22055 ], [ - -0.00010883140138960966, + -0.00010883140138960965, -8.17043 ], [ @@ -42741,15 +42741,15 @@ -8.1203 ], [ - -0.00011946591273130722, + -0.00011946591273130725, -8.07018 ], [ - -0.00012480559531094542, + -0.00012480559531094545, -8.02005 ], [ - -0.00013013165862163509, + -0.00013013165862163506, -7.96992 ], [ @@ -42761,7 +42761,7 @@ -7.86967 ], [ - -0.0001457958470190608, + -0.00014579584701906076, -7.81955 ], [ @@ -42773,7 +42773,7 @@ -7.7193 ], [ - -0.00016046939328586855, + -0.00016046939328586852, -7.66917 ], [ @@ -42785,11 +42785,11 @@ -7.56892 ], [ - -0.0001734575991169756, + -0.00017345759911697558, -7.5188 ], [ - -0.00017729264614978224, + -0.0001772926461497822, -7.46867 ], [ @@ -42801,11 +42801,11 @@ -7.36842 ], [ - -0.00018697470236333743, + -0.0001869747023633374, -7.3183 ], [ - -0.00018952025390995384, + -0.00018952025390995387, -7.26817 ], [ @@ -42817,11 +42817,11 @@ -7.16792 ], [ - -0.00019484189598524781, + -0.00019484189598524784, -7.11779 ], [ - -0.00019579214665945137, + -0.0001957921466594514, -7.06767 ], [ @@ -42829,7 +42829,7 @@ -7.01754 ], [ - -0.00019638652610548884, + -0.00019638652610548882, -6.96742 ], [ @@ -42837,7 +42837,7 @@ -6.91729 ], [ - -0.0001951931865276297, + -0.00019519318652762974, -6.86717 ], [ @@ -42861,7 +42861,7 @@ -6.61654 ], [ - -0.0001801357778739592, + -0.00018013577787395922, -6.56642 ], [ @@ -42869,19 +42869,19 @@ -6.51629 ], [ - -0.00017100365167593774, + -0.00017100365167593772, -6.46617 ], [ - -0.00016580181168054687, + -0.00016580181168054684, -6.41604 ], [ - -0.00016034688084781202, + -0.00016034688084781205, -6.36591 ], [ - -0.0001546104265529585, + -0.00015461042655295847, -6.31579 ], [ @@ -42889,7 +42889,7 @@ -6.26566 ], [ - -0.00014239833516559158, + -0.00014239833516559156, -6.21554 ], [ @@ -42897,7 +42897,7 @@ -6.16541 ], [ - -0.00012935456327183752, + -0.0001293545632718375, -6.11529 ], [ @@ -42905,7 +42905,7 @@ -6.06516 ], [ - -0.00011572400495647253, + -0.00011572400495647255, -6.01504 ], [ @@ -42913,11 +42913,11 @@ -5.96491 ], [ - -0.00010180957956532756, + -0.00010180957956532759, -5.91479 ], [ - -9.482962702122574e-05, + -9.482962702122576e-05, -5.86466 ], [ @@ -42925,99 +42925,99 @@ -5.81454 ], [ - -8.098222811902677e-05, + -8.098222811902674e-05, -5.76441 ], [ - -7.417381568738998e-05, + -7.417381568739001e-05, -5.71429 ], [ - -6.747637914330574e-05, + -6.74763791433057e-05, -5.66416 ], [ - -6.09173572355586e-05, + -6.0917357235558585e-05, -5.61404 ], [ - -5.4528861923457266e-05, + -5.452886192345727e-05, -5.56391 ], [ - -4.834041726539748e-05, + -4.8340417265397495e-05, -5.51378 ], [ - -4.236448090923218e-05, + -4.23644809092322e-05, -5.46366 ], [ - -3.6609365111022865e-05, + -3.660936511102288e-05, -5.41353 ], [ - -3.108585226854891e-05, + -3.1085852268548925e-05, -5.36341 ], [ - -2.5806580925532823e-05, + -2.5806580925532847e-05, -5.31328 ], [ - -2.078484369439816e-05, + -2.0784843694398175e-05, -5.26316 ], [ - -1.6031177084163596e-05, + -1.60311770841636e-05, -5.21303 ], [ - -1.155484555278206e-05, + -1.155484555278205e-05, -5.16291 ], [ - -7.361651137600179e-06, + -7.3616511376001816e-06, -5.11278 ], [ - -3.4553106098049308e-06, + -3.455310609804939e-06, -5.06266 ], [ - 1.6232957281246374e-07, + 1.623295728124582e-07, -5.01253 ], [ - 3.492096573716947e-06, + 3.492096573716943e-06, -4.96241 ], [ - 6.535766769471918e-06, + 6.535766769471909e-06, -4.91228 ], [ - 9.29684168834514e-06, + 9.296841688345132e-06, -4.86216 ], [ - 1.1780427840315109e-05, + 1.1780427840315106e-05, -4.81203 ], [ - 1.3993107502499578e-05, + 1.3993107502499571e-05, -4.7619 ], [ - 1.5943020830992025e-05, + 1.594302083099202e-05, -4.71178 ], [ - 1.76403100421718e-05, + 1.7640310042171804e-05, -4.66165 ], [ - 1.9096573610534873e-05, + 1.9096573610534866e-05, -4.61153 ], [ @@ -43029,7 +43029,7 @@ -4.51128 ], [ - 2.212683229958028e-05, + 2.2126832299580284e-05, -4.46115 ], [ @@ -43037,19 +43037,19 @@ -4.41103 ], [ - 2.3159523455704597e-05, + 2.315952345570459e-05, -4.3609 ], [ - 2.342034211928515e-05, + 2.3420342119285144e-05, -4.31078 ], [ - 2.3529051965184317e-05, + 2.3529051965184313e-05, -4.26065 ], [ - 2.349937541178967e-05, + 2.3499375411789667e-05, -4.21053 ], [ @@ -43057,7 +43057,7 @@ -4.1604 ], [ - 2.3081108104355147e-05, + 2.3081108104355154e-05, -4.11028 ], [ @@ -43069,19 +43069,19 @@ -4.01003 ], [ - 2.175902934460582e-05, + 2.1759029344605812e-05, -3.9599 ], [ - 2.11845856627563e-05, + 2.1184585662756297e-05, -3.90977 ], [ - 2.056315746830559e-05, + 2.0563157468305586e-05, -3.85965 ], [ - 1.9906262466290044e-05, + 1.990626246629004e-05, -3.80952 ], [ @@ -43089,7 +43089,7 @@ -3.7594 ], [ - 1.8529032277055714e-05, + 1.8529032277055718e-05, -3.70927 ], [ @@ -43101,7 +43101,7 @@ -3.60902 ], [ - 1.645365082762146e-05, + 1.6453650827621464e-05, -3.5589 ], [ @@ -43125,7 +43125,7 @@ -3.30827 ], [ - 1.3109659826336665e-05, + 1.3109659826336661e-05, -3.25815 ], [ @@ -43157,7 +43157,7 @@ -2.90727 ], [ - 1.2533730077701877e-05, + 1.253373007770188e-05, -2.85714 ], [ @@ -43165,7 +43165,7 @@ -2.80702 ], [ - 1.342111612989341e-05, + 1.3421116129893409e-05, -2.75689 ], [ @@ -43189,11 +43189,11 @@ -2.50627 ], [ - 1.935088315498163e-05, + 1.9350883154981633e-05, -2.45614 ], [ - 2.0876522500484605e-05, + 2.087652250048461e-05, -2.40602 ], [ @@ -43241,19 +43241,19 @@ -1.8546399999999998 ], [ - 5.673626271843739e-05, + 5.67362627184374e-05, -1.80451 ], [ - 6.144338144176996e-05, + 6.144338144176998e-05, -1.75439 ], [ - 6.643755764193302e-05, + 6.643755764193304e-05, -1.70426 ], [ - 7.172088395604303e-05, + 7.172088395604306e-05, -1.65414 ], [ @@ -43281,7 +43281,7 @@ -1.35338 ], [ - 0.0001168082498429969, + 0.00011680824984299687, -1.3032599999999999 ], [ @@ -43297,7 +43297,7 @@ -1.1528799999999997 ], [ - 0.0001482913985804431, + 0.00014829139858044314, -1.10276 ], [ @@ -43325,7 +43325,7 @@ -0.8020100000000001 ], [ - 0.00020826830501295227, + 0.00020826830501295232, -0.7518799999999999 ], [ @@ -43333,7 +43333,7 @@ -0.7017500000000001 ], [ - 0.00022499786684366786, + 0.0002249978668436679, -0.6516299999999999 ], [ @@ -43345,7 +43345,7 @@ -0.55138 ], [ - 0.00024817760860431, + 0.00024817760860430994, -0.5012499999999998 ], [ @@ -43429,15 +43429,15 @@ 0.5012499999999998 ], [ - 0.0002012959377817215, + 0.00020129593778172143, 0.55138 ], [ - 0.00018484673303380866, + 0.0001848467330338086, 0.6014999999999997 ], [ - 0.00016694273702605735, + 0.0001669427370260573, 0.6516299999999999 ], [ @@ -43453,35 +43453,35 @@ 0.8020100000000001 ], [ - 8.156124315182612e-05, + 8.15612431518261e-05, 0.8521299999999998 ], [ - 5.7061885074515015e-05, + 5.706188507451503e-05, 0.9022600000000001 ], [ - 3.145559518768042e-05, + 3.145559518768037e-05, 0.9523799999999998 ], [ - 4.837931438673674e-06, + 4.837931438673685e-06, 1.00251 ], [ - -2.268572188999805e-05, + -2.2685721889998066e-05, 1.0526299999999997 ], [ - -5.100023636557066e-05, + -5.100023636557067e-05, 1.10276 ], [ - -7.998284438867142e-05, + -7.998284438867149e-05, 1.1528799999999997 ], [ - -0.00010950371438931693, + -0.00010950371438931692, 1.20301 ], [ @@ -43493,7 +43493,7 @@ 1.3032599999999999 ], [ - -0.0001998976067205775, + -0.00019989760672057738, 1.3533799999999996 ], [ @@ -43505,7 +43505,7 @@ 1.4536300000000004 ], [ - -0.00028988254862999364, + -0.00028988254862999353, 1.5037599999999998 ], [ @@ -43517,11 +43517,11 @@ 1.6040099999999997 ], [ - -0.00037519343810686286, + -0.000375193438106863, 1.65414 ], [ - -0.0004018576013174927, + -0.0004018576013174928, 1.7042599999999997 ], [ @@ -43537,11 +43537,11 @@ 1.8546399999999998 ], [ - -0.0004957363694642163, + -0.0004957363694642162, 1.9047599999999996 ], [ - -0.0005153440406602138, + -0.0005153440406602137, 1.9548899999999998 ], [ @@ -43557,19 +43557,19 @@ 2.1052599999999995 ], [ - -0.0005748646750095953, + -0.0005748646750095951, 2.1553900000000006 ], [ - -0.000584582575596191, + -0.0005845825755961909, 2.2055100000000003 ], [ - -0.0005920980899756473, + -0.000592098089975647, 2.2556399999999996 ], [ - -0.0005972987951930536, + -0.0005972987951930535, 2.3057599999999994 ], [ @@ -43581,7 +43581,7 @@ 2.40602 ], [ - -0.0005981076178533239, + -0.0005981076178533238, 2.4561399999999995 ], [ @@ -43589,7 +43589,7 @@ 2.5062700000000007 ], [ - -0.000586645808624893, + -0.0005866458086248931, 2.5563900000000004 ], [ @@ -43605,7 +43605,7 @@ 2.7067700000000006 ], [ - -0.0005397742684693166, + -0.0005397742684693165, 2.7568900000000003 ], [ @@ -43621,7 +43621,7 @@ 2.9072700000000005 ], [ - -0.0004685286881228044, + -0.0004685286881228043, 2.95739 ], [ @@ -43633,15 +43633,15 @@ 3.05764 ], [ - -0.0004036795664923969, + -0.00040367956649239693, 3.1077700000000004 ], [ - -0.00038061232880902385, + -0.0003806123288090239, 3.15789 ], [ - -0.0003570360089426209, + -0.00035703600894262087, 3.2080199999999994 ], [ @@ -43649,7 +43649,7 @@ 3.2581500000000005 ], [ - -0.0003089007941251903, + -0.00030890079412519033, 3.3082700000000003 ], [ @@ -43657,7 +43657,7 @@ 3.3583999999999996 ], [ - -0.0002603148023678322, + -0.0002603148023678321, 3.40852 ], [ @@ -43665,11 +43665,11 @@ 3.4586500000000004 ], [ - -0.00021233726695790258, + -0.0002123372669579026, 3.50877 ], [ - -0.00018888261934083822, + -0.00018888261934083827, 3.5588999999999995 ], [ @@ -43677,59 +43677,59 @@ 3.60902 ], [ - -0.00014356575014016576, + -0.00014356575014016573, 3.6591500000000003 ], [ - -0.00012192474370680833, + -0.00012192474370680834, 3.70927 ], [ - -0.00010112510277384642, + -0.00010112510277384655, 3.7593999999999994 ], [ - -8.124047689221905e-05, + -8.124047689221908e-05, 3.80952 ], [ - -6.235647310666415e-05, + -6.23564731066641e-05, 3.8596500000000002 ], [ - -4.4432562464348735e-05, + -4.44325624643487e-05, 3.90977 ], [ - -2.7493518899093662e-05, + -2.7493518899093716e-05, 3.9598999999999993 ], [ - -1.157460084159072e-05, + -1.1574600841590702e-05, 4.01003 ], [ - 3.297745307272015e-06, + 3.2977453072719763e-06, 4.06015 ], [ - 1.710563331579012e-05, + 1.710563331579013e-05, 4.110280000000001 ], [ - 2.983941717801201e-05, + 2.9839417178011994e-05, 4.160400000000001 ], [ - 4.1497310108176056e-05, + 4.149731010817606e-05, 4.21053 ], [ - 5.2084949874988715e-05, + 5.2084949874988654e-05, 4.26065 ], [ - 6.161491813846689e-05, + 6.16149181384669e-05, 4.310779999999999 ], [ @@ -43741,7 +43741,7 @@ 4.41103 ], [ - 8.407766816673594e-05, + 8.407766816673589e-05, 4.46115 ], [ @@ -43749,11 +43749,11 @@ 4.511280000000001 ], [ - 9.425846901536609e-05, + 9.42584690153661e-05, 4.561400000000001 ], [ - 9.802692424480867e-05, + 9.802692424480866e-05, 4.61153 ], [ @@ -43769,7 +43769,7 @@ 4.761899999999999 ], [ - 0.00010537150043592374, + 0.00010537150043592372, 4.81203 ], [ @@ -43781,11 +43781,11 @@ 4.912280000000001 ], [ - 0.00010417557849645457, + 0.00010417557849645454, 4.96241 ], [ - 0.00010277252027280329, + 0.00010277252027280327, 5.01253 ] ], @@ -55239,5 +55239,5916 @@ ] }, "stdout": "" + }, + "plot-bwdf --sigma 0.1": { + "plot": { + "facecolor": [ + 1.0, + 1.0, + 1.0, + 1.0 + ], + "size": [ + 12.0, + 8.0 + ], + "xydata": [ + [ + [ + 0.01, + 0.0 + ], + [ + 0.03, + 0.0 + ], + [ + 0.05, + 0.0 + ], + [ + 0.06999999999999999, + 0.0 + ], + [ + 0.09, + 0.0 + ], + [ + 0.11, + 0.0 + ], + [ + 0.13, + 0.0 + ], + [ + 0.15000000000000002, + 0.0 + ], + [ + 0.17, + 0.0 + ], + [ + 0.19, + 0.0 + ], + [ + 0.21000000000000002, + 0.0 + ], + [ + 0.23, + 0.0 + ], + [ + 0.25, + 0.0 + ], + [ + 0.27, + 0.0 + ], + [ + 0.29000000000000004, + 0.0 + ], + [ + 0.31, + 0.0 + ], + [ + 0.33, + 0.0 + ], + [ + 0.35000000000000003, + 0.0 + ], + [ + 0.37, + 0.0 + ], + [ + 0.39, + 0.0 + ], + [ + 0.41000000000000003, + 0.0 + ], + [ + 0.43, + 0.0 + ], + [ + 0.45, + 0.0 + ], + [ + 0.47000000000000003, + 0.0 + ], + [ + 0.49, + 0.0 + ], + [ + 0.51, + 0.0 + ], + [ + 0.53, + 0.0 + ], + [ + 0.55, + 0.0 + ], + [ + 0.5700000000000001, + 0.0 + ], + [ + 0.59, + 0.0 + ], + [ + 0.61, + 0.0 + ], + [ + 0.63, + 0.0 + ], + [ + 0.65, + 0.0 + ], + [ + 0.67, + 0.0 + ], + [ + 0.6900000000000001, + 0.0 + ], + [ + 0.71, + 0.0 + ], + [ + 0.73, + 0.0 + ], + [ + 0.75, + 0.0 + ], + [ + 0.77, + 0.0 + ], + [ + 0.79, + 0.0 + ], + [ + 0.81, + 0.0 + ], + [ + 0.83, + 0.0 + ], + [ + 0.85, + 0.0 + ], + [ + 0.87, + 0.0 + ], + [ + 0.89, + 0.0 + ], + [ + 0.91, + 0.0 + ], + [ + 0.93, + 0.0 + ], + [ + 0.95, + 0.0 + ], + [ + 0.97, + 0.0 + ], + [ + 0.99, + 0.0 + ], + [ + 1.01, + 0.0 + ], + [ + 1.03, + 0.0 + ], + [ + 1.05, + 0.0 + ], + [ + 1.07, + 0.0 + ], + [ + 1.09, + 0.0 + ], + [ + 1.11, + 0.0 + ], + [ + 1.1300000000000001, + 0.0 + ], + [ + 1.15, + 0.0 + ], + [ + 1.17, + 0.0 + ], + [ + 1.19, + 0.0 + ], + [ + 1.21, + 0.0 + ], + [ + 1.23, + 0.0 + ], + [ + 1.25, + 0.0 + ], + [ + 1.27, + 0.0 + ], + [ + 1.29, + 0.0 + ], + [ + 1.31, + 0.0 + ], + [ + 1.33, + 0.0 + ], + [ + 1.35, + 0.0 + ], + [ + 1.37, + 0.0 + ], + [ + 1.39, + 0.0 + ], + [ + 1.41, + 0.0 + ], + [ + 1.43, + 0.0 + ], + [ + 1.45, + 0.0 + ], + [ + 1.47, + 0.0 + ], + [ + 1.49, + 0.0 + ], + [ + 1.51, + 0.0 + ], + [ + 1.53, + 0.0 + ], + [ + 1.55, + 0.0 + ], + [ + 1.57, + 0.0 + ], + [ + 1.59, + 0.0 + ], + [ + 1.61, + 0.0 + ], + [ + 1.6300000000000001, + 0.0 + ], + [ + 1.65, + 0.0 + ], + [ + 1.67, + 0.0 + ], + [ + 1.69, + 0.0 + ], + [ + 1.71, + 0.0 + ], + [ + 1.73, + 0.0 + ], + [ + 1.75, + 0.0 + ], + [ + 1.77, + 0.0 + ], + [ + 1.79, + 0.0 + ], + [ + 1.81, + 0.0 + ], + [ + 1.83, + 0.0 + ], + [ + 1.85, + 0.0 + ], + [ + 1.87, + 0.0 + ], + [ + 1.89, + 0.0 + ], + [ + 1.91, + 0.0 + ], + [ + 1.93, + 0.0 + ], + [ + 1.95, + 0.0 + ], + [ + 1.97, + 0.0 + ], + [ + 1.99, + 0.0 + ], + [ + 2.01, + 0.0 + ], + [ + 2.03, + 0.0 + ], + [ + 2.05, + 0.0 + ], + [ + 2.07, + 0.0 + ], + [ + 2.09, + 0.0 + ], + [ + 2.11, + 0.0 + ], + [ + 2.13, + 0.0 + ], + [ + 2.15, + 0.0 + ], + [ + 2.17, + 0.0 + ], + [ + 2.19, + 0.0 + ], + [ + 2.21, + 0.0 + ], + [ + 2.23, + 0.0 + ], + [ + 2.25, + 0.0 + ], + [ + 2.2699999999999996, + 0.0 + ], + [ + 2.2899999999999996, + 0.0 + ], + [ + 2.3099999999999996, + 0.0 + ], + [ + 2.3299999999999996, + 0.0 + ], + [ + 2.3499999999999996, + 0.0 + ], + [ + 2.3699999999999997, + 0.0 + ], + [ + 2.3899999999999997, + 0.0 + ], + [ + 2.4099999999999997, + 0.0 + ], + [ + 2.4299999999999997, + 0.0 + ], + [ + 2.4499999999999997, + 0.0 + ], + [ + 2.4699999999999998, + 0.0001970152274695678 + ], + [ + 2.4899999999999998, + 0.0004297832546056816 + ], + [ + 2.51, + 0.0009007979868630229 + ], + [ + 2.53, + 0.0018139843849293655 + ], + [ + 2.55, + 0.003509683082686321 + ], + [ + 2.57, + 0.006524248300399316 + ], + [ + 2.59, + 0.01165255819626901 + ], + [ + 2.61, + 0.019995869826806047 + ], + [ + 2.63, + 0.03296761590960603 + ], + [ + 2.65, + 0.05222314270969713 + ], + [ + 2.67, + 0.0794816155177445 + ], + [ + 2.69, + 0.11622474151493396 + ], + [ + 2.71, + 0.16328967055528293 + ], + [ + 2.73, + 0.2204179999852325 + ], + [ + 2.75, + 0.28586673582354377 + ], + [ + 2.7699999999999996, + 0.3562118875586879 + ], + [ + 2.7899999999999996, + 0.4264630567356551 + ], + [ + 2.8099999999999996, + 0.49054928034358714 + ], + [ + 2.8299999999999996, + 0.5421407985186705 + ], + [ + 2.8499999999999996, + 0.5872941158942511 + ], + [ + 2.8699999999999997, + 0.5756649132404086 + ], + [ + 2.8899999999999997, + 0.5421407985186705 + ], + [ + 2.9099999999999997, + 0.49054928034358714 + ], + [ + 2.9299999999999997, + 0.4264630567356551 + ], + [ + 2.9499999999999997, + 0.3562118875586879 + ], + [ + 2.9699999999999998, + 0.28586673582354377 + ], + [ + 2.9899999999999998, + 0.2204179999852325 + ], + [ + 3.01, + 0.16328967055528293 + ], + [ + 3.03, + 0.11622474151493396 + ], + [ + 3.05, + 0.0794816155177445 + ], + [ + 3.07, + 0.05222314270969713 + ], + [ + 3.09, + 0.03296761590960603 + ], + [ + 3.11, + 0.019995869826806047 + ], + [ + 3.13, + 0.01165255819626901 + ], + [ + 3.15, + 0.006524248300399316 + ], + [ + 3.17, + 0.003509683082686321 + ], + [ + 3.19, + 0.0018139843849293655 + ], + [ + 3.21, + 0.0009007979868630229 + ], + [ + 3.23, + 0.0004297832546056816 + ], + [ + 3.25, + 0.0001970152274695678 + ], + [ + 3.2699999999999996, + 0.0 + ], + [ + 3.2899999999999996, + 0.0 + ], + [ + 3.3099999999999996, + 0.0 + ], + [ + 3.3299999999999996, + 0.0 + ], + [ + 3.3499999999999996, + 0.0 + ], + [ + 3.3699999999999997, + 0.0 + ], + [ + 3.3899999999999997, + 0.0 + ], + [ + 3.4099999999999997, + 0.0 + ], + [ + 3.4299999999999997, + 0.0 + ], + [ + 3.4499999999999997, + 0.0 + ], + [ + 3.4699999999999998, + 0.0 + ], + [ + 3.4899999999999998, + 0.0 + ], + [ + 3.51, + 0.0 + ], + [ + 3.53, + 0.0 + ], + [ + 3.55, + 0.0 + ], + [ + 3.57, + 0.0 + ], + [ + 3.59, + 0.0 + ], + [ + 3.61, + 0.0 + ], + [ + 3.63, + 0.0 + ], + [ + 3.65, + 2.002071118036049e-05 + ], + [ + 3.67, + 4.367462617550617e-05 + ], + [ + 3.69, + 9.153920008350869e-05 + ], + [ + 3.71, + 0.00018433731200784715 + ], + [ + 3.73, + 0.00035665441821705824 + ], + [ + 3.75, + 0.0006629948992720826 + ], + [ + 3.7699999999999996, + 0.0011841343694912112 + ], + [ + 3.7899999999999996, + 0.00203198270379586 + ], + [ + 3.8099999999999996, + 0.0033501731054429934 + ], + [ + 3.8299999999999996, + 0.005306922061560424 + ], + [ + 3.8499999999999996, + 0.008076931356359346 + ], + [ + 3.8699999999999997, + 0.011810772252322344 + ], + [ + 3.8899999999999997, + 0.016593516018595628 + ], + [ + 3.9099999999999997, + 0.022398903746354788 + ], + [ + 3.9299999999999997, + 0.029049812176978208 + ], + [ + 3.9499999999999997, + 0.03619829498166648 + ], + [ + 3.9699999999999998, + 0.0433372272674562 + ], + [ + 3.9899999999999998, + 0.04984967704087585 + ], + [ + 4.01, + 0.0550924133410393 + ], + [ + 4.029999999999999, + 0.05968089889935123 + ], + [ + 4.05, + 0.05849913792289866 + ], + [ + 4.069999999999999, + 0.0550924133410393 + ], + [ + 4.09, + 0.04984967704087585 + ], + [ + 4.109999999999999, + 0.0433372272674562 + ], + [ + 4.13, + 0.03619829498166648 + ], + [ + 4.1499999999999995, + 0.029049812176978208 + ], + [ + 4.17, + 0.022398903746354788 + ], + [ + 4.1899999999999995, + 0.016593516018595628 + ], + [ + 4.21, + 0.011810772252322344 + ], + [ + 4.2299999999999995, + 0.008076931356359346 + ], + [ + 4.25, + 0.005306922061560424 + ], + [ + 4.27, + 0.0033501731054429934 + ], + [ + 4.29, + 0.00203198270379586 + ], + [ + 4.31, + 0.0011841343694912112 + ], + [ + 4.33, + 0.0006629948992720826 + ], + [ + 4.35, + 0.00035665441821705824 + ], + [ + 4.37, + 0.00018433731200784715 + ], + [ + 4.39, + 9.153920008350869e-05 + ], + [ + 4.41, + 4.367462617550617e-05 + ], + [ + 4.43, + 2.002071118036049e-05 + ], + [ + 4.45, + 0.0 + ], + [ + 4.47, + 0.0 + ], + [ + 4.49, + 0.0 + ], + [ + 4.51, + 0.0 + ], + [ + 4.529999999999999, + 0.0 + ], + [ + 4.55, + 1.640661070533994e-06 + ], + [ + 4.569999999999999, + 3.5790566224524966e-06 + ], + [ + 4.59, + 7.501471883384446e-06 + ], + [ + 4.609999999999999, + 1.5106109315179071e-05 + ], + [ + 4.63, + 2.922718450564759e-05 + ], + [ + 4.6499999999999995, + 5.433123286176523e-05 + ], + [ + 4.67, + 9.703766988114383e-05 + ], + [ + 4.6899999999999995, + 0.0001665173074064718 + ], + [ + 4.71, + 0.0002745406266607622 + ], + [ + 4.7299999999999995, + 0.0004348926645173961 + ], + [ + 4.75, + 0.0006618899162160284 + ], + [ + 4.77, + 0.0009678714243846088 + ], + [ + 4.79, + 0.0013598086256645095 + ], + [ + 4.81, + 0.0018355496499710573 + ], + [ + 4.83, + 0.002380579566616291 + ], + [ + 4.85, + 0.0029663848032723517 + ], + [ + 4.87, + 0.0035514073921783353 + ], + [ + 4.89, + 0.004085090872290612 + ], + [ + 4.91, + 0.0045147236297518635 + ], + [ + 4.93, + 0.004890741722236741 + ], + [ + 4.95, + 0.0047938985476224496 + ], + [ + 4.97, + 0.0045147236297518635 + ], + [ + 4.99, + 0.004085090872290612 + ], + [ + 5.01, + 0.0035514073921783353 + ], + [ + 5.029999999999999, + 0.0029663848032723517 + ], + [ + 5.05, + 0.002380579566616291 + ], + [ + 5.069999999999999, + 0.0018355496499710573 + ], + [ + 5.09, + 0.0013598086256645095 + ], + [ + 5.109999999999999, + 0.0009678714243846088 + ], + [ + 5.13, + 0.0006618899162160284 + ], + [ + 5.1499999999999995, + 0.0004348926645173961 + ], + [ + 5.17, + 0.0002745406266607622 + ], + [ + 5.1899999999999995, + 0.0001665173074064718 + ], + [ + 5.21, + 9.703766988114383e-05 + ], + [ + 5.2299999999999995, + 5.433123286176523e-05 + ], + [ + 5.25, + 2.922718450564759e-05 + ], + [ + 5.27, + 1.5106109315179071e-05 + ], + [ + 5.29, + 7.501471883384446e-06 + ], + [ + 5.31, + 5.901535780351769e-06 + ], + [ + 5.33, + 6.707084940688874e-06 + ], + [ + 5.35, + 1.0618897720939612e-05 + ], + [ + 5.37, + 2.13838340358942e-05 + ], + [ + 5.39, + 4.1373278172773355e-05 + ], + [ + 5.41, + 7.690994697847759e-05 + ], + [ + 5.43, + 0.00013736412101051122 + ], + [ + 5.45, + 0.00023571777427202866 + ], + [ + 5.47, + 0.0003886329083243852 + ], + [ + 5.49, + 0.0006156232797894044 + ], + [ + 5.51, + 0.0009369549645833268 + ], + [ + 5.529999999999999, + 0.001370094805704089 + ], + [ + 5.55, + 0.0019249113961176544 + ], + [ + 5.569999999999999, + 0.0025983586018528356 + ], + [ + 5.59, + 0.003369889446689752 + ], + [ + 5.609999999999999, + 0.0041991408241720835 + ], + [ + 5.63, + 0.005027284304892447 + ], + [ + 5.6499999999999995, + 0.00578275341532395 + ], + [ + 5.67, + 0.006390930901018657 + ], + [ + 5.6899999999999995, + 0.0069232127954777815 + ], + [ + 5.71, + 0.006786123997147673 + ], + [ + 5.7299999999999995, + 0.006390930901018657 + ], + [ + 5.75, + 0.00578275341532395 + ], + [ + 5.77, + 0.005027284304892447 + ], + [ + 5.79, + 0.0041991408241720835 + ], + [ + 5.81, + 0.003369889446689752 + ], + [ + 5.83, + 0.0025983586018528356 + ], + [ + 5.85, + 0.0019249113961176544 + ], + [ + 5.87, + 0.001370094805704089 + ], + [ + 5.89, + 0.0009369549645833268 + ], + [ + 5.91, + 0.0006156232797894044 + ], + [ + 5.93, + 0.0003886329083243852 + ], + [ + 5.95, + 0.00023571777427202866 + ], + [ + 5.97, + 0.00013736412101051122 + ], + [ + 5.99, + 7.690994697847759e-05 + ] + ] + ] + }, + "stdout": "" + }, + "plot-bwdf -maxlen 5": { + "plot": { + "facecolor": [ + 1.0, + 1.0, + 1.0, + 1.0 + ], + "size": [ + 12.0, + 8.0 + ], + "xydata": [ + [ + [ + 0.01, + -0.0 + ], + [ + 0.03, + -0.0 + ], + [ + 0.05, + -0.0 + ], + [ + 0.06999999999999999, + -0.0 + ], + [ + 0.09, + -0.0 + ], + [ + 0.11, + -0.0 + ], + [ + 0.13, + -0.0 + ], + [ + 0.15000000000000002, + -0.0 + ], + [ + 0.17, + -0.0 + ], + [ + 0.19, + -0.0 + ], + [ + 0.21000000000000002, + -0.0 + ], + [ + 0.23, + -0.0 + ], + [ + 0.25, + -0.0 + ], + [ + 0.27, + -0.0 + ], + [ + 0.29000000000000004, + -0.0 + ], + [ + 0.31, + -0.0 + ], + [ + 0.33, + -0.0 + ], + [ + 0.35000000000000003, + -0.0 + ], + [ + 0.37, + -0.0 + ], + [ + 0.39, + -0.0 + ], + [ + 0.41000000000000003, + -0.0 + ], + [ + 0.43, + -0.0 + ], + [ + 0.45, + -0.0 + ], + [ + 0.47000000000000003, + -0.0 + ], + [ + 0.49, + -0.0 + ], + [ + 0.51, + -0.0 + ], + [ + 0.53, + -0.0 + ], + [ + 0.55, + -0.0 + ], + [ + 0.5700000000000001, + -0.0 + ], + [ + 0.59, + -0.0 + ], + [ + 0.61, + -0.0 + ], + [ + 0.63, + -0.0 + ], + [ + 0.65, + -0.0 + ], + [ + 0.67, + -0.0 + ], + [ + 0.6900000000000001, + -0.0 + ], + [ + 0.71, + -0.0 + ], + [ + 0.73, + -0.0 + ], + [ + 0.75, + -0.0 + ], + [ + 0.77, + -0.0 + ], + [ + 0.79, + -0.0 + ], + [ + 0.81, + -0.0 + ], + [ + 0.83, + -0.0 + ], + [ + 0.85, + -0.0 + ], + [ + 0.87, + -0.0 + ], + [ + 0.89, + -0.0 + ], + [ + 0.91, + -0.0 + ], + [ + 0.93, + -0.0 + ], + [ + 0.95, + -0.0 + ], + [ + 0.97, + -0.0 + ], + [ + 0.99, + -0.0 + ], + [ + 1.01, + -0.0 + ], + [ + 1.03, + -0.0 + ], + [ + 1.05, + -0.0 + ], + [ + 1.07, + -0.0 + ], + [ + 1.09, + -0.0 + ], + [ + 1.11, + -0.0 + ], + [ + 1.1300000000000001, + -0.0 + ], + [ + 1.15, + -0.0 + ], + [ + 1.17, + -0.0 + ], + [ + 1.19, + -0.0 + ], + [ + 1.21, + -0.0 + ], + [ + 1.23, + -0.0 + ], + [ + 1.25, + -0.0 + ], + [ + 1.27, + -0.0 + ], + [ + 1.29, + -0.0 + ], + [ + 1.31, + -0.0 + ], + [ + 1.33, + -0.0 + ], + [ + 1.35, + -0.0 + ], + [ + 1.37, + -0.0 + ], + [ + 1.39, + -0.0 + ], + [ + 1.41, + -0.0 + ], + [ + 1.43, + -0.0 + ], + [ + 1.45, + -0.0 + ], + [ + 1.47, + -0.0 + ], + [ + 1.49, + -0.0 + ], + [ + 1.51, + -0.0 + ], + [ + 1.53, + -0.0 + ], + [ + 1.55, + -0.0 + ], + [ + 1.57, + -0.0 + ], + [ + 1.59, + -0.0 + ], + [ + 1.61, + -0.0 + ], + [ + 1.6300000000000001, + -0.0 + ], + [ + 1.65, + -0.0 + ], + [ + 1.67, + -0.0 + ], + [ + 1.69, + -0.0 + ], + [ + 1.71, + -0.0 + ], + [ + 1.73, + -0.0 + ], + [ + 1.75, + -0.0 + ], + [ + 1.77, + -0.0 + ], + [ + 1.79, + -0.0 + ], + [ + 1.81, + -0.0 + ], + [ + 1.83, + -0.0 + ], + [ + 1.85, + -0.0 + ], + [ + 1.87, + -0.0 + ], + [ + 1.89, + -0.0 + ], + [ + 1.91, + -0.0 + ], + [ + 1.93, + -0.0 + ], + [ + 1.95, + -0.0 + ], + [ + 1.97, + -0.0 + ], + [ + 1.99, + -0.0 + ], + [ + 2.01, + -0.0 + ], + [ + 2.03, + -0.0 + ], + [ + 2.05, + -0.0 + ], + [ + 2.07, + -0.0 + ], + [ + 2.09, + -0.0 + ], + [ + 2.11, + -0.0 + ], + [ + 2.13, + -0.0 + ], + [ + 2.15, + -0.0 + ], + [ + 2.17, + -0.0 + ], + [ + 2.19, + -0.0 + ], + [ + 2.21, + -0.0 + ], + [ + 2.23, + -0.0 + ], + [ + 2.25, + -0.0 + ], + [ + 2.2699999999999996, + -0.0 + ], + [ + 2.2899999999999996, + -0.0 + ], + [ + 2.3099999999999996, + -0.0 + ], + [ + 2.3299999999999996, + -0.0 + ], + [ + 2.3499999999999996, + -0.0 + ], + [ + 2.3699999999999997, + -0.0 + ], + [ + 2.3899999999999997, + -0.0 + ], + [ + 2.4099999999999997, + -0.0 + ], + [ + 2.4299999999999997, + -0.0 + ], + [ + 2.4499999999999997, + -0.0 + ], + [ + 2.4699999999999998, + -0.0 + ], + [ + 2.4899999999999998, + -0.0 + ], + [ + 2.51, + -0.0 + ], + [ + 2.53, + -0.0 + ], + [ + 2.55, + -0.0 + ], + [ + 2.57, + -0.0 + ], + [ + 2.59, + -0.0 + ], + [ + 2.61, + -0.0 + ], + [ + 2.63, + -0.0 + ], + [ + 2.65, + -0.0 + ], + [ + 2.67, + -0.0 + ], + [ + 2.69, + -0.0 + ], + [ + 2.71, + -0.0 + ], + [ + 2.73, + -0.0 + ], + [ + 2.75, + -0.0 + ], + [ + 2.7699999999999996, + -0.0 + ], + [ + 2.7899999999999996, + -0.0 + ], + [ + 2.8099999999999996, + -0.0 + ], + [ + 2.8299999999999996, + -0.0 + ], + [ + 2.8499999999999996, + 6.78468 + ], + [ + 2.8699999999999997, + -0.0 + ], + [ + 2.8899999999999997, + -0.0 + ], + [ + 2.9099999999999997, + -0.0 + ], + [ + 2.9299999999999997, + -0.0 + ], + [ + 2.9499999999999997, + -0.0 + ], + [ + 2.9699999999999998, + -0.0 + ], + [ + 2.9899999999999998, + -0.0 + ], + [ + 3.01, + -0.0 + ], + [ + 3.03, + -0.0 + ], + [ + 3.05, + -0.0 + ], + [ + 3.07, + -0.0 + ], + [ + 3.09, + -0.0 + ], + [ + 3.11, + -0.0 + ], + [ + 3.13, + -0.0 + ], + [ + 3.15, + -0.0 + ], + [ + 3.17, + -0.0 + ], + [ + 3.19, + -0.0 + ], + [ + 3.21, + -0.0 + ], + [ + 3.23, + -0.0 + ], + [ + 3.25, + -0.0 + ], + [ + 3.2699999999999996, + -0.0 + ], + [ + 3.2899999999999996, + -0.0 + ], + [ + 3.3099999999999996, + -0.0 + ], + [ + 3.3299999999999996, + -0.0 + ], + [ + 3.3499999999999996, + -0.0 + ], + [ + 3.3699999999999997, + -0.0 + ], + [ + 3.3899999999999997, + -0.0 + ], + [ + 3.4099999999999997, + -0.0 + ], + [ + 3.4299999999999997, + -0.0 + ], + [ + 3.4499999999999997, + -0.0 + ], + [ + 3.4699999999999998, + -0.0 + ], + [ + 3.4899999999999998, + -0.0 + ], + [ + 3.51, + -0.0 + ], + [ + 3.53, + -0.0 + ], + [ + 3.55, + -0.0 + ], + [ + 3.57, + -0.0 + ], + [ + 3.59, + -0.0 + ], + [ + 3.61, + -0.0 + ], + [ + 3.63, + -0.0 + ], + [ + 3.65, + -0.0 + ], + [ + 3.67, + -0.0 + ], + [ + 3.69, + -0.0 + ], + [ + 3.71, + -0.0 + ], + [ + 3.73, + -0.0 + ], + [ + 3.75, + -0.0 + ], + [ + 3.7699999999999996, + -0.0 + ], + [ + 3.7899999999999996, + -0.0 + ], + [ + 3.8099999999999996, + -0.0 + ], + [ + 3.8299999999999996, + -0.0 + ], + [ + 3.8499999999999996, + -0.0 + ], + [ + 3.8699999999999997, + -0.0 + ], + [ + 3.8899999999999997, + -0.0 + ], + [ + 3.9099999999999997, + -0.0 + ], + [ + 3.9299999999999997, + -0.0 + ], + [ + 3.9499999999999997, + -0.0 + ], + [ + 3.9699999999999998, + -0.0 + ], + [ + 3.9899999999999998, + -0.0 + ], + [ + 4.01, + -0.0 + ], + [ + 4.029999999999999, + 0.68946 + ], + [ + 4.05, + -0.0 + ], + [ + 4.069999999999999, + -0.0 + ], + [ + 4.09, + -0.0 + ], + [ + 4.109999999999999, + -0.0 + ], + [ + 4.13, + -0.0 + ], + [ + 4.1499999999999995, + -0.0 + ], + [ + 4.17, + -0.0 + ], + [ + 4.1899999999999995, + -0.0 + ], + [ + 4.21, + -0.0 + ], + [ + 4.2299999999999995, + -0.0 + ], + [ + 4.25, + -0.0 + ], + [ + 4.27, + -0.0 + ], + [ + 4.29, + -0.0 + ], + [ + 4.31, + -0.0 + ], + [ + 4.33, + -0.0 + ], + [ + 4.35, + -0.0 + ], + [ + 4.37, + -0.0 + ], + [ + 4.39, + -0.0 + ], + [ + 4.41, + -0.0 + ], + [ + 4.43, + -0.0 + ], + [ + 4.45, + -0.0 + ], + [ + 4.47, + -0.0 + ], + [ + 4.49, + -0.0 + ], + [ + 4.51, + -0.0 + ], + [ + 4.529999999999999, + -0.0 + ], + [ + 4.55, + -0.0 + ], + [ + 4.569999999999999, + -0.0 + ], + [ + 4.59, + -0.0 + ], + [ + 4.609999999999999, + -0.0 + ], + [ + 4.63, + -0.0 + ], + [ + 4.6499999999999995, + -0.0 + ], + [ + 4.67, + -0.0 + ], + [ + 4.6899999999999995, + -0.0 + ], + [ + 4.71, + -0.0 + ], + [ + 4.7299999999999995, + -0.0 + ], + [ + 4.75, + -0.0 + ], + [ + 4.77, + -0.0 + ], + [ + 4.79, + -0.0 + ], + [ + 4.81, + -0.0 + ], + [ + 4.83, + -0.0 + ], + [ + 4.85, + -0.0 + ], + [ + 4.87, + -0.0 + ], + [ + 4.89, + -0.0 + ], + [ + 4.91, + -0.0 + ], + [ + 4.93, + 0.05649999999999999 + ], + [ + 4.95, + -0.0 + ], + [ + 4.97, + -0.0 + ], + [ + 4.99, + -0.0 + ] + ] + ] + }, + "stdout": "" + }, + "plot-bwdf -norm counts": { + "plot": { + "facecolor": [ + 1.0, + 1.0, + 1.0, + 1.0 + ], + "size": [ + 12.0, + 8.0 + ], + "xydata": [ + [ + [ + 0.01, + -0.0 + ], + [ + 0.03, + -0.0 + ], + [ + 0.05, + -0.0 + ], + [ + 0.06999999999999999, + -0.0 + ], + [ + 0.09, + -0.0 + ], + [ + 0.11, + -0.0 + ], + [ + 0.13, + -0.0 + ], + [ + 0.15000000000000002, + -0.0 + ], + [ + 0.17, + -0.0 + ], + [ + 0.19, + -0.0 + ], + [ + 0.21000000000000002, + -0.0 + ], + [ + 0.23, + -0.0 + ], + [ + 0.25, + -0.0 + ], + [ + 0.27, + -0.0 + ], + [ + 0.29000000000000004, + -0.0 + ], + [ + 0.31, + -0.0 + ], + [ + 0.33, + -0.0 + ], + [ + 0.35000000000000003, + -0.0 + ], + [ + 0.37, + -0.0 + ], + [ + 0.39, + -0.0 + ], + [ + 0.41000000000000003, + -0.0 + ], + [ + 0.43, + -0.0 + ], + [ + 0.45, + -0.0 + ], + [ + 0.47000000000000003, + -0.0 + ], + [ + 0.49, + -0.0 + ], + [ + 0.51, + -0.0 + ], + [ + 0.53, + -0.0 + ], + [ + 0.55, + -0.0 + ], + [ + 0.5700000000000001, + -0.0 + ], + [ + 0.59, + -0.0 + ], + [ + 0.61, + -0.0 + ], + [ + 0.63, + -0.0 + ], + [ + 0.65, + -0.0 + ], + [ + 0.67, + -0.0 + ], + [ + 0.6900000000000001, + -0.0 + ], + [ + 0.71, + -0.0 + ], + [ + 0.73, + -0.0 + ], + [ + 0.75, + -0.0 + ], + [ + 0.77, + -0.0 + ], + [ + 0.79, + -0.0 + ], + [ + 0.81, + -0.0 + ], + [ + 0.83, + -0.0 + ], + [ + 0.85, + -0.0 + ], + [ + 0.87, + -0.0 + ], + [ + 0.89, + -0.0 + ], + [ + 0.91, + -0.0 + ], + [ + 0.93, + -0.0 + ], + [ + 0.95, + -0.0 + ], + [ + 0.97, + -0.0 + ], + [ + 0.99, + -0.0 + ], + [ + 1.01, + -0.0 + ], + [ + 1.03, + -0.0 + ], + [ + 1.05, + -0.0 + ], + [ + 1.07, + -0.0 + ], + [ + 1.09, + -0.0 + ], + [ + 1.11, + -0.0 + ], + [ + 1.1300000000000001, + -0.0 + ], + [ + 1.15, + -0.0 + ], + [ + 1.17, + -0.0 + ], + [ + 1.19, + -0.0 + ], + [ + 1.21, + -0.0 + ], + [ + 1.23, + -0.0 + ], + [ + 1.25, + -0.0 + ], + [ + 1.27, + -0.0 + ], + [ + 1.29, + -0.0 + ], + [ + 1.31, + -0.0 + ], + [ + 1.33, + -0.0 + ], + [ + 1.35, + -0.0 + ], + [ + 1.37, + -0.0 + ], + [ + 1.39, + -0.0 + ], + [ + 1.41, + -0.0 + ], + [ + 1.43, + -0.0 + ], + [ + 1.45, + -0.0 + ], + [ + 1.47, + -0.0 + ], + [ + 1.49, + -0.0 + ], + [ + 1.51, + -0.0 + ], + [ + 1.53, + -0.0 + ], + [ + 1.55, + -0.0 + ], + [ + 1.57, + -0.0 + ], + [ + 1.59, + -0.0 + ], + [ + 1.61, + -0.0 + ], + [ + 1.6300000000000001, + -0.0 + ], + [ + 1.65, + -0.0 + ], + [ + 1.67, + -0.0 + ], + [ + 1.69, + -0.0 + ], + [ + 1.71, + -0.0 + ], + [ + 1.73, + -0.0 + ], + [ + 1.75, + -0.0 + ], + [ + 1.77, + -0.0 + ], + [ + 1.79, + -0.0 + ], + [ + 1.81, + -0.0 + ], + [ + 1.83, + -0.0 + ], + [ + 1.85, + -0.0 + ], + [ + 1.87, + -0.0 + ], + [ + 1.89, + -0.0 + ], + [ + 1.91, + -0.0 + ], + [ + 1.93, + -0.0 + ], + [ + 1.95, + -0.0 + ], + [ + 1.97, + -0.0 + ], + [ + 1.99, + -0.0 + ], + [ + 2.01, + -0.0 + ], + [ + 2.03, + -0.0 + ], + [ + 2.05, + -0.0 + ], + [ + 2.07, + -0.0 + ], + [ + 2.09, + -0.0 + ], + [ + 2.11, + -0.0 + ], + [ + 2.13, + -0.0 + ], + [ + 2.15, + -0.0 + ], + [ + 2.17, + -0.0 + ], + [ + 2.19, + -0.0 + ], + [ + 2.21, + -0.0 + ], + [ + 2.23, + -0.0 + ], + [ + 2.25, + -0.0 + ], + [ + 2.2699999999999996, + -0.0 + ], + [ + 2.2899999999999996, + -0.0 + ], + [ + 2.3099999999999996, + -0.0 + ], + [ + 2.3299999999999996, + -0.0 + ], + [ + 2.3499999999999996, + -0.0 + ], + [ + 2.3699999999999997, + -0.0 + ], + [ + 2.3899999999999997, + -0.0 + ], + [ + 2.4099999999999997, + -0.0 + ], + [ + 2.4299999999999997, + -0.0 + ], + [ + 2.4499999999999997, + -0.0 + ], + [ + 2.4699999999999998, + -0.0 + ], + [ + 2.4899999999999998, + -0.0 + ], + [ + 2.51, + -0.0 + ], + [ + 2.53, + -0.0 + ], + [ + 2.55, + -0.0 + ], + [ + 2.57, + -0.0 + ], + [ + 2.59, + -0.0 + ], + [ + 2.61, + -0.0 + ], + [ + 2.63, + -0.0 + ], + [ + 2.65, + -0.0 + ], + [ + 2.67, + -0.0 + ], + [ + 2.69, + -0.0 + ], + [ + 2.71, + -0.0 + ], + [ + 2.73, + -0.0 + ], + [ + 2.75, + -0.0 + ], + [ + 2.7699999999999996, + -0.0 + ], + [ + 2.7899999999999996, + -0.0 + ], + [ + 2.8099999999999996, + -0.0 + ], + [ + 2.8299999999999996, + -0.0 + ], + [ + 2.8499999999999996, + 0.56539 + ], + [ + 2.8699999999999997, + -0.0 + ], + [ + 2.8899999999999997, + -0.0 + ], + [ + 2.9099999999999997, + -0.0 + ], + [ + 2.9299999999999997, + -0.0 + ], + [ + 2.9499999999999997, + -0.0 + ], + [ + 2.9699999999999998, + -0.0 + ], + [ + 2.9899999999999998, + -0.0 + ], + [ + 3.01, + -0.0 + ], + [ + 3.03, + -0.0 + ], + [ + 3.05, + -0.0 + ], + [ + 3.07, + -0.0 + ], + [ + 3.09, + -0.0 + ], + [ + 3.11, + -0.0 + ], + [ + 3.13, + -0.0 + ], + [ + 3.15, + -0.0 + ], + [ + 3.17, + -0.0 + ], + [ + 3.19, + -0.0 + ], + [ + 3.21, + -0.0 + ], + [ + 3.23, + -0.0 + ], + [ + 3.25, + -0.0 + ], + [ + 3.2699999999999996, + -0.0 + ], + [ + 3.2899999999999996, + -0.0 + ], + [ + 3.3099999999999996, + -0.0 + ], + [ + 3.3299999999999996, + -0.0 + ], + [ + 3.3499999999999996, + -0.0 + ], + [ + 3.3699999999999997, + -0.0 + ], + [ + 3.3899999999999997, + -0.0 + ], + [ + 3.4099999999999997, + -0.0 + ], + [ + 3.4299999999999997, + -0.0 + ], + [ + 3.4499999999999997, + -0.0 + ], + [ + 3.4699999999999998, + -0.0 + ], + [ + 3.4899999999999998, + -0.0 + ], + [ + 3.51, + -0.0 + ], + [ + 3.53, + -0.0 + ], + [ + 3.55, + -0.0 + ], + [ + 3.57, + -0.0 + ], + [ + 3.59, + -0.0 + ], + [ + 3.61, + -0.0 + ], + [ + 3.63, + -0.0 + ], + [ + 3.65, + -0.0 + ], + [ + 3.67, + -0.0 + ], + [ + 3.69, + -0.0 + ], + [ + 3.71, + -0.0 + ], + [ + 3.73, + -0.0 + ], + [ + 3.75, + -0.0 + ], + [ + 3.7699999999999996, + -0.0 + ], + [ + 3.7899999999999996, + -0.0 + ], + [ + 3.8099999999999996, + -0.0 + ], + [ + 3.8299999999999996, + -0.0 + ], + [ + 3.8499999999999996, + -0.0 + ], + [ + 3.8699999999999997, + -0.0 + ], + [ + 3.8899999999999997, + -0.0 + ], + [ + 3.9099999999999997, + -0.0 + ], + [ + 3.9299999999999997, + -0.0 + ], + [ + 3.9499999999999997, + -0.0 + ], + [ + 3.9699999999999998, + -0.0 + ], + [ + 3.9899999999999998, + -0.0 + ], + [ + 4.01, + -0.0 + ], + [ + 4.029999999999999, + 0.0287275 + ], + [ + 4.05, + -0.0 + ], + [ + 4.069999999999999, + -0.0 + ], + [ + 4.09, + -0.0 + ], + [ + 4.109999999999999, + -0.0 + ], + [ + 4.13, + -0.0 + ], + [ + 4.1499999999999995, + -0.0 + ], + [ + 4.17, + -0.0 + ], + [ + 4.1899999999999995, + -0.0 + ], + [ + 4.21, + -0.0 + ], + [ + 4.2299999999999995, + -0.0 + ], + [ + 4.25, + -0.0 + ], + [ + 4.27, + -0.0 + ], + [ + 4.29, + -0.0 + ], + [ + 4.31, + -0.0 + ], + [ + 4.33, + -0.0 + ], + [ + 4.35, + -0.0 + ], + [ + 4.37, + -0.0 + ], + [ + 4.39, + -0.0 + ], + [ + 4.41, + -0.0 + ], + [ + 4.43, + -0.0 + ], + [ + 4.45, + -0.0 + ], + [ + 4.47, + -0.0 + ], + [ + 4.49, + -0.0 + ], + [ + 4.51, + -0.0 + ], + [ + 4.529999999999999, + -0.0 + ], + [ + 4.55, + -0.0 + ], + [ + 4.569999999999999, + -0.0 + ], + [ + 4.59, + -0.0 + ], + [ + 4.609999999999999, + -0.0 + ], + [ + 4.63, + -0.0 + ], + [ + 4.6499999999999995, + -0.0 + ], + [ + 4.67, + -0.0 + ], + [ + 4.6899999999999995, + -0.0 + ], + [ + 4.71, + -0.0 + ], + [ + 4.7299999999999995, + -0.0 + ], + [ + 4.75, + -0.0 + ], + [ + 4.77, + -0.0 + ], + [ + 4.79, + -0.0 + ], + [ + 4.81, + -0.0 + ], + [ + 4.83, + -0.0 + ], + [ + 4.85, + -0.0 + ], + [ + 4.87, + -0.0 + ], + [ + 4.89, + -0.0 + ], + [ + 4.91, + -0.0 + ], + [ + 4.93, + 0.0035312499999999992 + ], + [ + 4.95, + -0.0 + ], + [ + 4.97, + -0.0 + ], + [ + 4.99, + -0.0 + ], + [ + 5.01, + -0.0 + ], + [ + 5.029999999999999, + -0.0 + ], + [ + 5.05, + -0.0 + ], + [ + 5.069999999999999, + -0.0 + ], + [ + 5.09, + -0.0 + ], + [ + 5.109999999999999, + -0.0 + ], + [ + 5.13, + -0.0 + ], + [ + 5.1499999999999995, + -0.0 + ], + [ + 5.17, + -0.0 + ], + [ + 5.1899999999999995, + -0.0 + ], + [ + 5.21, + -0.0 + ], + [ + 5.2299999999999995, + -0.0 + ], + [ + 5.25, + -0.0 + ], + [ + 5.27, + -0.0 + ], + [ + 5.29, + -0.0 + ], + [ + 5.31, + -0.0 + ], + [ + 5.33, + -0.0 + ], + [ + 5.35, + -0.0 + ], + [ + 5.37, + -0.0 + ], + [ + 5.39, + -0.0 + ], + [ + 5.41, + -0.0 + ], + [ + 5.43, + -0.0 + ], + [ + 5.45, + -0.0 + ], + [ + 5.47, + -0.0 + ], + [ + 5.49, + -0.0 + ], + [ + 5.51, + -0.0 + ], + [ + 5.529999999999999, + -0.0 + ], + [ + 5.55, + -0.0 + ], + [ + 5.569999999999999, + -0.0 + ], + [ + 5.59, + -0.0 + ], + [ + 5.609999999999999, + -0.0 + ], + [ + 5.63, + -0.0 + ], + [ + 5.6499999999999995, + -0.0 + ], + [ + 5.67, + -0.0 + ], + [ + 5.6899999999999995, + 0.01333 + ], + [ + 5.71, + -0.0 + ], + [ + 5.7299999999999995, + -0.0 + ], + [ + 5.75, + -0.0 + ], + [ + 5.77, + -0.0 + ], + [ + 5.79, + -0.0 + ], + [ + 5.81, + -0.0 + ], + [ + 5.83, + -0.0 + ], + [ + 5.85, + -0.0 + ], + [ + 5.87, + -0.0 + ], + [ + 5.89, + -0.0 + ], + [ + 5.91, + -0.0 + ], + [ + 5.93, + -0.0 + ], + [ + 5.95, + -0.0 + ], + [ + 5.97, + -0.0 + ], + [ + 5.99, + -0.0 + ] + ] + ] + }, + "stdout": "" + }, + "plot-icohp-distance -cbonds": { + "plot": { + "facecolor": [ + 1.0, + 1.0, + 1.0, + 1.0 + ], + "size": [ + 12.0, + 8.0 + ], + "xydata": [] + }, + "stdout": "" + }, + "plotbwdf -binwidth 0.02": { + "plot": { + "facecolor": [ + 1.0, + 1.0, + 1.0, + 1.0 + ], + "size": [ + 12.0, + 8.0 + ], + "xydata": [ + [ + [ + 0.01, + -0.0 + ], + [ + 0.03, + -0.0 + ], + [ + 0.05, + -0.0 + ], + [ + 0.06999999999999999, + -0.0 + ], + [ + 0.09, + -0.0 + ], + [ + 0.11, + -0.0 + ], + [ + 0.13, + -0.0 + ], + [ + 0.15000000000000002, + -0.0 + ], + [ + 0.17, + -0.0 + ], + [ + 0.19, + -0.0 + ], + [ + 0.21000000000000002, + -0.0 + ], + [ + 0.23, + -0.0 + ], + [ + 0.25, + -0.0 + ], + [ + 0.27, + -0.0 + ], + [ + 0.29000000000000004, + -0.0 + ], + [ + 0.31, + -0.0 + ], + [ + 0.33, + -0.0 + ], + [ + 0.35000000000000003, + -0.0 + ], + [ + 0.37, + -0.0 + ], + [ + 0.39, + -0.0 + ], + [ + 0.41000000000000003, + -0.0 + ], + [ + 0.43, + -0.0 + ], + [ + 0.45, + -0.0 + ], + [ + 0.47000000000000003, + -0.0 + ], + [ + 0.49, + -0.0 + ], + [ + 0.51, + -0.0 + ], + [ + 0.53, + -0.0 + ], + [ + 0.55, + -0.0 + ], + [ + 0.5700000000000001, + -0.0 + ], + [ + 0.59, + -0.0 + ], + [ + 0.61, + -0.0 + ], + [ + 0.63, + -0.0 + ], + [ + 0.65, + -0.0 + ], + [ + 0.67, + -0.0 + ], + [ + 0.6900000000000001, + -0.0 + ], + [ + 0.71, + -0.0 + ], + [ + 0.73, + -0.0 + ], + [ + 0.75, + -0.0 + ], + [ + 0.77, + -0.0 + ], + [ + 0.79, + -0.0 + ], + [ + 0.81, + -0.0 + ], + [ + 0.83, + -0.0 + ], + [ + 0.85, + -0.0 + ], + [ + 0.87, + -0.0 + ], + [ + 0.89, + -0.0 + ], + [ + 0.91, + -0.0 + ], + [ + 0.93, + -0.0 + ], + [ + 0.95, + -0.0 + ], + [ + 0.97, + -0.0 + ], + [ + 0.99, + -0.0 + ], + [ + 1.01, + -0.0 + ], + [ + 1.03, + -0.0 + ], + [ + 1.05, + -0.0 + ], + [ + 1.07, + -0.0 + ], + [ + 1.09, + -0.0 + ], + [ + 1.11, + -0.0 + ], + [ + 1.1300000000000001, + -0.0 + ], + [ + 1.15, + -0.0 + ], + [ + 1.17, + -0.0 + ], + [ + 1.19, + -0.0 + ], + [ + 1.21, + -0.0 + ], + [ + 1.23, + -0.0 + ], + [ + 1.25, + -0.0 + ], + [ + 1.27, + -0.0 + ], + [ + 1.29, + -0.0 + ], + [ + 1.31, + -0.0 + ], + [ + 1.33, + -0.0 + ], + [ + 1.35, + -0.0 + ], + [ + 1.37, + -0.0 + ], + [ + 1.39, + -0.0 + ], + [ + 1.41, + -0.0 + ], + [ + 1.43, + -0.0 + ], + [ + 1.45, + -0.0 + ], + [ + 1.47, + -0.0 + ], + [ + 1.49, + -0.0 + ], + [ + 1.51, + -0.0 + ], + [ + 1.53, + -0.0 + ], + [ + 1.55, + -0.0 + ], + [ + 1.57, + -0.0 + ], + [ + 1.59, + -0.0 + ], + [ + 1.61, + -0.0 + ], + [ + 1.6300000000000001, + -0.0 + ], + [ + 1.65, + -0.0 + ], + [ + 1.67, + -0.0 + ], + [ + 1.69, + -0.0 + ], + [ + 1.71, + -0.0 + ], + [ + 1.73, + -0.0 + ], + [ + 1.75, + -0.0 + ], + [ + 1.77, + -0.0 + ], + [ + 1.79, + -0.0 + ], + [ + 1.81, + -0.0 + ], + [ + 1.83, + -0.0 + ], + [ + 1.85, + -0.0 + ], + [ + 1.87, + -0.0 + ], + [ + 1.89, + -0.0 + ], + [ + 1.91, + -0.0 + ], + [ + 1.93, + -0.0 + ], + [ + 1.95, + -0.0 + ], + [ + 1.97, + -0.0 + ], + [ + 1.99, + -0.0 + ], + [ + 2.01, + -0.0 + ], + [ + 2.03, + -0.0 + ], + [ + 2.05, + -0.0 + ], + [ + 2.07, + -0.0 + ], + [ + 2.09, + -0.0 + ], + [ + 2.11, + -0.0 + ], + [ + 2.13, + -0.0 + ], + [ + 2.15, + -0.0 + ], + [ + 2.17, + -0.0 + ], + [ + 2.19, + -0.0 + ], + [ + 2.21, + -0.0 + ], + [ + 2.23, + -0.0 + ], + [ + 2.25, + -0.0 + ], + [ + 2.2699999999999996, + -0.0 + ], + [ + 2.2899999999999996, + -0.0 + ], + [ + 2.3099999999999996, + -0.0 + ], + [ + 2.3299999999999996, + -0.0 + ], + [ + 2.3499999999999996, + -0.0 + ], + [ + 2.3699999999999997, + -0.0 + ], + [ + 2.3899999999999997, + -0.0 + ], + [ + 2.4099999999999997, + -0.0 + ], + [ + 2.4299999999999997, + -0.0 + ], + [ + 2.4499999999999997, + -0.0 + ], + [ + 2.4699999999999998, + -0.0 + ], + [ + 2.4899999999999998, + -0.0 + ], + [ + 2.51, + -0.0 + ], + [ + 2.53, + -0.0 + ], + [ + 2.55, + -0.0 + ], + [ + 2.57, + -0.0 + ], + [ + 2.59, + -0.0 + ], + [ + 2.61, + -0.0 + ], + [ + 2.63, + -0.0 + ], + [ + 2.65, + -0.0 + ], + [ + 2.67, + -0.0 + ], + [ + 2.69, + -0.0 + ], + [ + 2.71, + -0.0 + ], + [ + 2.73, + -0.0 + ], + [ + 2.75, + -0.0 + ], + [ + 2.7699999999999996, + -0.0 + ], + [ + 2.7899999999999996, + -0.0 + ], + [ + 2.8099999999999996, + -0.0 + ], + [ + 2.8299999999999996, + -0.0 + ], + [ + 2.8499999999999996, + 6.78468 + ], + [ + 2.8699999999999997, + -0.0 + ], + [ + 2.8899999999999997, + -0.0 + ], + [ + 2.9099999999999997, + -0.0 + ], + [ + 2.9299999999999997, + -0.0 + ], + [ + 2.9499999999999997, + -0.0 + ], + [ + 2.9699999999999998, + -0.0 + ], + [ + 2.9899999999999998, + -0.0 + ], + [ + 3.01, + -0.0 + ], + [ + 3.03, + -0.0 + ], + [ + 3.05, + -0.0 + ], + [ + 3.07, + -0.0 + ], + [ + 3.09, + -0.0 + ], + [ + 3.11, + -0.0 + ], + [ + 3.13, + -0.0 + ], + [ + 3.15, + -0.0 + ], + [ + 3.17, + -0.0 + ], + [ + 3.19, + -0.0 + ], + [ + 3.21, + -0.0 + ], + [ + 3.23, + -0.0 + ], + [ + 3.25, + -0.0 + ], + [ + 3.2699999999999996, + -0.0 + ], + [ + 3.2899999999999996, + -0.0 + ], + [ + 3.3099999999999996, + -0.0 + ], + [ + 3.3299999999999996, + -0.0 + ], + [ + 3.3499999999999996, + -0.0 + ], + [ + 3.3699999999999997, + -0.0 + ], + [ + 3.3899999999999997, + -0.0 + ], + [ + 3.4099999999999997, + -0.0 + ], + [ + 3.4299999999999997, + -0.0 + ], + [ + 3.4499999999999997, + -0.0 + ], + [ + 3.4699999999999998, + -0.0 + ], + [ + 3.4899999999999998, + -0.0 + ], + [ + 3.51, + -0.0 + ], + [ + 3.53, + -0.0 + ], + [ + 3.55, + -0.0 + ], + [ + 3.57, + -0.0 + ], + [ + 3.59, + -0.0 + ], + [ + 3.61, + -0.0 + ], + [ + 3.63, + -0.0 + ], + [ + 3.65, + -0.0 + ], + [ + 3.67, + -0.0 + ], + [ + 3.69, + -0.0 + ], + [ + 3.71, + -0.0 + ], + [ + 3.73, + -0.0 + ], + [ + 3.75, + -0.0 + ], + [ + 3.7699999999999996, + -0.0 + ], + [ + 3.7899999999999996, + -0.0 + ], + [ + 3.8099999999999996, + -0.0 + ], + [ + 3.8299999999999996, + -0.0 + ], + [ + 3.8499999999999996, + -0.0 + ], + [ + 3.8699999999999997, + -0.0 + ], + [ + 3.8899999999999997, + -0.0 + ], + [ + 3.9099999999999997, + -0.0 + ], + [ + 3.9299999999999997, + -0.0 + ], + [ + 3.9499999999999997, + -0.0 + ], + [ + 3.9699999999999998, + -0.0 + ], + [ + 3.9899999999999998, + -0.0 + ], + [ + 4.01, + -0.0 + ], + [ + 4.029999999999999, + 0.68946 + ], + [ + 4.05, + -0.0 + ], + [ + 4.069999999999999, + -0.0 + ], + [ + 4.09, + -0.0 + ], + [ + 4.109999999999999, + -0.0 + ], + [ + 4.13, + -0.0 + ], + [ + 4.1499999999999995, + -0.0 + ], + [ + 4.17, + -0.0 + ], + [ + 4.1899999999999995, + -0.0 + ], + [ + 4.21, + -0.0 + ], + [ + 4.2299999999999995, + -0.0 + ], + [ + 4.25, + -0.0 + ], + [ + 4.27, + -0.0 + ], + [ + 4.29, + -0.0 + ], + [ + 4.31, + -0.0 + ], + [ + 4.33, + -0.0 + ], + [ + 4.35, + -0.0 + ], + [ + 4.37, + -0.0 + ], + [ + 4.39, + -0.0 + ], + [ + 4.41, + -0.0 + ], + [ + 4.43, + -0.0 + ], + [ + 4.45, + -0.0 + ], + [ + 4.47, + -0.0 + ], + [ + 4.49, + -0.0 + ], + [ + 4.51, + -0.0 + ], + [ + 4.529999999999999, + -0.0 + ], + [ + 4.55, + -0.0 + ], + [ + 4.569999999999999, + -0.0 + ], + [ + 4.59, + -0.0 + ], + [ + 4.609999999999999, + -0.0 + ], + [ + 4.63, + -0.0 + ], + [ + 4.6499999999999995, + -0.0 + ], + [ + 4.67, + -0.0 + ], + [ + 4.6899999999999995, + -0.0 + ], + [ + 4.71, + -0.0 + ], + [ + 4.7299999999999995, + -0.0 + ], + [ + 4.75, + -0.0 + ], + [ + 4.77, + -0.0 + ], + [ + 4.79, + -0.0 + ], + [ + 4.81, + -0.0 + ], + [ + 4.83, + -0.0 + ], + [ + 4.85, + -0.0 + ], + [ + 4.87, + -0.0 + ], + [ + 4.89, + -0.0 + ], + [ + 4.91, + -0.0 + ], + [ + 4.93, + 0.05649999999999999 + ], + [ + 4.95, + -0.0 + ], + [ + 4.97, + -0.0 + ], + [ + 4.99, + -0.0 + ], + [ + 5.01, + -0.0 + ], + [ + 5.029999999999999, + -0.0 + ], + [ + 5.05, + -0.0 + ], + [ + 5.069999999999999, + -0.0 + ], + [ + 5.09, + -0.0 + ], + [ + 5.109999999999999, + -0.0 + ], + [ + 5.13, + -0.0 + ], + [ + 5.1499999999999995, + -0.0 + ], + [ + 5.17, + -0.0 + ], + [ + 5.1899999999999995, + -0.0 + ], + [ + 5.21, + -0.0 + ], + [ + 5.2299999999999995, + -0.0 + ], + [ + 5.25, + -0.0 + ], + [ + 5.27, + -0.0 + ], + [ + 5.29, + -0.0 + ], + [ + 5.31, + -0.0 + ], + [ + 5.33, + -0.0 + ], + [ + 5.35, + -0.0 + ], + [ + 5.37, + -0.0 + ], + [ + 5.39, + -0.0 + ], + [ + 5.41, + -0.0 + ], + [ + 5.43, + -0.0 + ], + [ + 5.45, + -0.0 + ], + [ + 5.47, + -0.0 + ], + [ + 5.49, + -0.0 + ], + [ + 5.51, + -0.0 + ], + [ + 5.529999999999999, + -0.0 + ], + [ + 5.55, + -0.0 + ], + [ + 5.569999999999999, + -0.0 + ], + [ + 5.59, + -0.0 + ], + [ + 5.609999999999999, + -0.0 + ], + [ + 5.63, + -0.0 + ], + [ + 5.6499999999999995, + -0.0 + ], + [ + 5.67, + -0.0 + ], + [ + 5.6899999999999995, + 0.07998 + ], + [ + 5.71, + -0.0 + ], + [ + 5.7299999999999995, + -0.0 + ], + [ + 5.75, + -0.0 + ], + [ + 5.77, + -0.0 + ], + [ + 5.79, + -0.0 + ], + [ + 5.81, + -0.0 + ], + [ + 5.83, + -0.0 + ], + [ + 5.85, + -0.0 + ], + [ + 5.87, + -0.0 + ], + [ + 5.89, + -0.0 + ], + [ + 5.91, + -0.0 + ], + [ + 5.93, + -0.0 + ], + [ + 5.95, + -0.0 + ], + [ + 5.97, + -0.0 + ], + [ + 5.99, + -0.0 + ] + ] + ] + }, + "stdout": "" + }, + "plotbwdf -siteindex 0": { + "plot": { + "facecolor": [ + 1.0, + 1.0, + 1.0, + 1.0 + ], + "size": [ + 12.0, + 8.0 + ], + "xydata": [ + [ + [ + 0.01, + -0.0 + ], + [ + 0.03, + -0.0 + ], + [ + 0.05, + -0.0 + ], + [ + 0.06999999999999999, + -0.0 + ], + [ + 0.09, + -0.0 + ], + [ + 0.11, + -0.0 + ], + [ + 0.13, + -0.0 + ], + [ + 0.15000000000000002, + -0.0 + ], + [ + 0.17, + -0.0 + ], + [ + 0.19, + -0.0 + ], + [ + 0.21000000000000002, + -0.0 + ], + [ + 0.23, + -0.0 + ], + [ + 0.25, + -0.0 + ], + [ + 0.27, + -0.0 + ], + [ + 0.29000000000000004, + -0.0 + ], + [ + 0.31, + -0.0 + ], + [ + 0.33, + -0.0 + ], + [ + 0.35000000000000003, + -0.0 + ], + [ + 0.37, + -0.0 + ], + [ + 0.39, + -0.0 + ], + [ + 0.41000000000000003, + -0.0 + ], + [ + 0.43, + -0.0 + ], + [ + 0.45, + -0.0 + ], + [ + 0.47000000000000003, + -0.0 + ], + [ + 0.49, + -0.0 + ], + [ + 0.51, + -0.0 + ], + [ + 0.53, + -0.0 + ], + [ + 0.55, + -0.0 + ], + [ + 0.5700000000000001, + -0.0 + ], + [ + 0.59, + -0.0 + ], + [ + 0.61, + -0.0 + ], + [ + 0.63, + -0.0 + ], + [ + 0.65, + -0.0 + ], + [ + 0.67, + -0.0 + ], + [ + 0.6900000000000001, + -0.0 + ], + [ + 0.71, + -0.0 + ], + [ + 0.73, + -0.0 + ], + [ + 0.75, + -0.0 + ], + [ + 0.77, + -0.0 + ], + [ + 0.79, + -0.0 + ], + [ + 0.81, + -0.0 + ], + [ + 0.83, + -0.0 + ], + [ + 0.85, + -0.0 + ], + [ + 0.87, + -0.0 + ], + [ + 0.89, + -0.0 + ], + [ + 0.91, + -0.0 + ], + [ + 0.93, + -0.0 + ], + [ + 0.95, + -0.0 + ], + [ + 0.97, + -0.0 + ], + [ + 0.99, + -0.0 + ], + [ + 1.01, + -0.0 + ], + [ + 1.03, + -0.0 + ], + [ + 1.05, + -0.0 + ], + [ + 1.07, + -0.0 + ], + [ + 1.09, + -0.0 + ], + [ + 1.11, + -0.0 + ], + [ + 1.1300000000000001, + -0.0 + ], + [ + 1.15, + -0.0 + ], + [ + 1.17, + -0.0 + ], + [ + 1.19, + -0.0 + ], + [ + 1.21, + -0.0 + ], + [ + 1.23, + -0.0 + ], + [ + 1.25, + -0.0 + ], + [ + 1.27, + -0.0 + ], + [ + 1.29, + -0.0 + ], + [ + 1.31, + -0.0 + ], + [ + 1.33, + -0.0 + ], + [ + 1.35, + -0.0 + ], + [ + 1.37, + -0.0 + ], + [ + 1.39, + -0.0 + ], + [ + 1.41, + -0.0 + ], + [ + 1.43, + -0.0 + ], + [ + 1.45, + -0.0 + ], + [ + 1.47, + -0.0 + ], + [ + 1.49, + -0.0 + ], + [ + 1.51, + -0.0 + ], + [ + 1.53, + -0.0 + ], + [ + 1.55, + -0.0 + ], + [ + 1.57, + -0.0 + ], + [ + 1.59, + -0.0 + ], + [ + 1.61, + -0.0 + ], + [ + 1.6300000000000001, + -0.0 + ], + [ + 1.65, + -0.0 + ], + [ + 1.67, + -0.0 + ], + [ + 1.69, + -0.0 + ], + [ + 1.71, + -0.0 + ], + [ + 1.73, + -0.0 + ], + [ + 1.75, + -0.0 + ], + [ + 1.77, + -0.0 + ], + [ + 1.79, + -0.0 + ], + [ + 1.81, + -0.0 + ], + [ + 1.83, + -0.0 + ], + [ + 1.85, + -0.0 + ], + [ + 1.87, + -0.0 + ], + [ + 1.89, + -0.0 + ], + [ + 1.91, + -0.0 + ], + [ + 1.93, + -0.0 + ], + [ + 1.95, + -0.0 + ], + [ + 1.97, + -0.0 + ], + [ + 1.99, + -0.0 + ], + [ + 2.01, + -0.0 + ], + [ + 2.03, + -0.0 + ], + [ + 2.05, + -0.0 + ], + [ + 2.07, + -0.0 + ], + [ + 2.09, + -0.0 + ], + [ + 2.11, + -0.0 + ], + [ + 2.13, + -0.0 + ], + [ + 2.15, + -0.0 + ], + [ + 2.17, + -0.0 + ], + [ + 2.19, + -0.0 + ], + [ + 2.21, + -0.0 + ], + [ + 2.23, + -0.0 + ], + [ + 2.25, + -0.0 + ], + [ + 2.2699999999999996, + -0.0 + ], + [ + 2.2899999999999996, + -0.0 + ], + [ + 2.3099999999999996, + -0.0 + ], + [ + 2.3299999999999996, + -0.0 + ], + [ + 2.3499999999999996, + -0.0 + ], + [ + 2.3699999999999997, + -0.0 + ], + [ + 2.3899999999999997, + -0.0 + ], + [ + 2.4099999999999997, + -0.0 + ], + [ + 2.4299999999999997, + -0.0 + ], + [ + 2.4499999999999997, + -0.0 + ], + [ + 2.4699999999999998, + -0.0 + ], + [ + 2.4899999999999998, + -0.0 + ], + [ + 2.51, + -0.0 + ], + [ + 2.53, + -0.0 + ], + [ + 2.55, + -0.0 + ], + [ + 2.57, + -0.0 + ], + [ + 2.59, + -0.0 + ], + [ + 2.61, + -0.0 + ], + [ + 2.63, + -0.0 + ], + [ + 2.65, + -0.0 + ], + [ + 2.67, + -0.0 + ], + [ + 2.69, + -0.0 + ], + [ + 2.71, + -0.0 + ], + [ + 2.73, + -0.0 + ], + [ + 2.75, + -0.0 + ], + [ + 2.7699999999999996, + -0.0 + ], + [ + 2.7899999999999996, + -0.0 + ], + [ + 2.8099999999999996, + -0.0 + ], + [ + 2.8299999999999996, + -0.0 + ], + [ + 2.8499999999999996, + 6.78468 + ], + [ + 2.8699999999999997, + -0.0 + ], + [ + 2.8899999999999997, + -0.0 + ], + [ + 2.9099999999999997, + -0.0 + ], + [ + 2.9299999999999997, + -0.0 + ], + [ + 2.9499999999999997, + -0.0 + ], + [ + 2.9699999999999998, + -0.0 + ], + [ + 2.9899999999999998, + -0.0 + ], + [ + 3.01, + -0.0 + ], + [ + 3.03, + -0.0 + ], + [ + 3.05, + -0.0 + ], + [ + 3.07, + -0.0 + ], + [ + 3.09, + -0.0 + ], + [ + 3.11, + -0.0 + ], + [ + 3.13, + -0.0 + ], + [ + 3.15, + -0.0 + ], + [ + 3.17, + -0.0 + ], + [ + 3.19, + -0.0 + ], + [ + 3.21, + -0.0 + ], + [ + 3.23, + -0.0 + ], + [ + 3.25, + -0.0 + ], + [ + 3.2699999999999996, + -0.0 + ], + [ + 3.2899999999999996, + -0.0 + ], + [ + 3.3099999999999996, + -0.0 + ], + [ + 3.3299999999999996, + -0.0 + ], + [ + 3.3499999999999996, + -0.0 + ], + [ + 3.3699999999999997, + -0.0 + ], + [ + 3.3899999999999997, + -0.0 + ], + [ + 3.4099999999999997, + -0.0 + ], + [ + 3.4299999999999997, + -0.0 + ], + [ + 3.4499999999999997, + -0.0 + ], + [ + 3.4699999999999998, + -0.0 + ], + [ + 3.4899999999999998, + -0.0 + ], + [ + 3.51, + -0.0 + ], + [ + 3.53, + -0.0 + ], + [ + 3.55, + -0.0 + ], + [ + 3.57, + -0.0 + ], + [ + 3.59, + -0.0 + ], + [ + 3.61, + -0.0 + ], + [ + 3.63, + -0.0 + ], + [ + 3.65, + -0.0 + ], + [ + 3.67, + -0.0 + ], + [ + 3.69, + -0.0 + ], + [ + 3.71, + -0.0 + ], + [ + 3.73, + -0.0 + ], + [ + 3.75, + -0.0 + ], + [ + 3.7699999999999996, + -0.0 + ], + [ + 3.7899999999999996, + -0.0 + ], + [ + 3.8099999999999996, + -0.0 + ], + [ + 3.8299999999999996, + -0.0 + ], + [ + 3.8499999999999996, + -0.0 + ], + [ + 3.8699999999999997, + -0.0 + ], + [ + 3.8899999999999997, + -0.0 + ], + [ + 3.9099999999999997, + -0.0 + ], + [ + 3.9299999999999997, + -0.0 + ], + [ + 3.9499999999999997, + -0.0 + ], + [ + 3.9699999999999998, + -0.0 + ], + [ + 3.9899999999999998, + -0.0 + ], + [ + 4.01, + -0.0 + ], + [ + 4.029999999999999, + 0.68946 + ], + [ + 4.05, + -0.0 + ], + [ + 4.069999999999999, + -0.0 + ], + [ + 4.09, + -0.0 + ], + [ + 4.109999999999999, + -0.0 + ], + [ + 4.13, + -0.0 + ], + [ + 4.1499999999999995, + -0.0 + ], + [ + 4.17, + -0.0 + ], + [ + 4.1899999999999995, + -0.0 + ], + [ + 4.21, + -0.0 + ], + [ + 4.2299999999999995, + -0.0 + ], + [ + 4.25, + -0.0 + ], + [ + 4.27, + -0.0 + ], + [ + 4.29, + -0.0 + ], + [ + 4.31, + -0.0 + ], + [ + 4.33, + -0.0 + ], + [ + 4.35, + -0.0 + ], + [ + 4.37, + -0.0 + ], + [ + 4.39, + -0.0 + ], + [ + 4.41, + -0.0 + ], + [ + 4.43, + -0.0 + ], + [ + 4.45, + -0.0 + ], + [ + 4.47, + -0.0 + ], + [ + 4.49, + -0.0 + ], + [ + 4.51, + -0.0 + ], + [ + 4.529999999999999, + -0.0 + ], + [ + 4.55, + -0.0 + ], + [ + 4.569999999999999, + -0.0 + ], + [ + 4.59, + -0.0 + ], + [ + 4.609999999999999, + -0.0 + ], + [ + 4.63, + -0.0 + ], + [ + 4.6499999999999995, + -0.0 + ], + [ + 4.67, + -0.0 + ], + [ + 4.6899999999999995, + -0.0 + ], + [ + 4.71, + -0.0 + ], + [ + 4.7299999999999995, + -0.0 + ], + [ + 4.75, + -0.0 + ], + [ + 4.77, + -0.0 + ], + [ + 4.79, + -0.0 + ], + [ + 4.81, + -0.0 + ], + [ + 4.83, + -0.0 + ], + [ + 4.85, + -0.0 + ], + [ + 4.87, + -0.0 + ], + [ + 4.89, + -0.0 + ], + [ + 4.91, + -0.0 + ], + [ + 4.93, + 0.05649999999999999 + ], + [ + 4.95, + -0.0 + ], + [ + 4.97, + -0.0 + ], + [ + 4.99, + -0.0 + ], + [ + 5.01, + -0.0 + ], + [ + 5.029999999999999, + -0.0 + ], + [ + 5.05, + -0.0 + ], + [ + 5.069999999999999, + -0.0 + ], + [ + 5.09, + -0.0 + ], + [ + 5.109999999999999, + -0.0 + ], + [ + 5.13, + -0.0 + ], + [ + 5.1499999999999995, + -0.0 + ], + [ + 5.17, + -0.0 + ], + [ + 5.1899999999999995, + -0.0 + ], + [ + 5.21, + -0.0 + ], + [ + 5.2299999999999995, + -0.0 + ], + [ + 5.25, + -0.0 + ], + [ + 5.27, + -0.0 + ], + [ + 5.29, + -0.0 + ], + [ + 5.31, + -0.0 + ], + [ + 5.33, + -0.0 + ], + [ + 5.35, + -0.0 + ], + [ + 5.37, + -0.0 + ], + [ + 5.39, + -0.0 + ], + [ + 5.41, + -0.0 + ], + [ + 5.43, + -0.0 + ], + [ + 5.45, + -0.0 + ], + [ + 5.47, + -0.0 + ], + [ + 5.49, + -0.0 + ], + [ + 5.51, + -0.0 + ], + [ + 5.529999999999999, + -0.0 + ], + [ + 5.55, + -0.0 + ], + [ + 5.569999999999999, + -0.0 + ], + [ + 5.59, + -0.0 + ], + [ + 5.609999999999999, + -0.0 + ], + [ + 5.63, + -0.0 + ], + [ + 5.6499999999999995, + -0.0 + ], + [ + 5.67, + -0.0 + ], + [ + 5.6899999999999995, + 0.07998 + ], + [ + 5.71, + -0.0 + ], + [ + 5.7299999999999995, + -0.0 + ], + [ + 5.75, + -0.0 + ], + [ + 5.77, + -0.0 + ], + [ + 5.79, + -0.0 + ], + [ + 5.81, + -0.0 + ], + [ + 5.83, + -0.0 + ], + [ + 5.85, + -0.0 + ], + [ + 5.87, + -0.0 + ], + [ + 5.89, + -0.0 + ], + [ + 5.91, + -0.0 + ], + [ + 5.93, + -0.0 + ], + [ + 5.95, + -0.0 + ], + [ + 5.97, + -0.0 + ], + [ + 5.99, + -0.0 + ] + ] + ] + }, + "stdout": "" } -} +} \ No newline at end of file