From 36951a5f1999143de1d07e8f848e433715cbc1b2 Mon Sep 17 00:00:00 2001 From: jaseg Date: Fri, 21 Feb 2020 09:56:41 +0100 Subject: BER plots: Fix latest decimation data import --- lab-windows/dsss_experiments-ber.ipynb | 248 +++++++++------------------------ 1 file changed, 67 insertions(+), 181 deletions(-) diff --git a/lab-windows/dsss_experiments-ber.ipynb b/lab-windows/dsss_experiments-ber.ipynb index 91c1daf..ce87548 100644 --- a/lab-windows/dsss_experiments-ber.ipynb +++ b/lab-windows/dsss_experiments-ber.ipynb @@ -2,7 +2,7 @@ "cells": [ { "cell_type": "code", - "execution_count": 1, + "execution_count": 14, "metadata": {}, "outputs": [], "source": [ @@ -29,7 +29,7 @@ }, { "cell_type": "code", - "execution_count": 2, + "execution_count": 15, "metadata": {}, "outputs": [], "source": [ @@ -38,7 +38,7 @@ }, { "cell_type": "code", - "execution_count": 3, + "execution_count": 16, "metadata": {}, "outputs": [], "source": [ @@ -47,7 +47,7 @@ }, { "cell_type": "code", - "execution_count": 37, + "execution_count": 17, "metadata": {}, "outputs": [], "source": [ @@ -73,7 +73,7 @@ }, { "cell_type": "code", - "execution_count": 38, + "execution_count": 18, "metadata": {}, "outputs": [], "source": [ @@ -90,7 +90,7 @@ }, { "cell_type": "code", - "execution_count": 39, + "execution_count": 19, "metadata": {}, "outputs": [], "source": [ @@ -104,7 +104,7 @@ }, { "cell_type": "code", - "execution_count": 221, + "execution_count": 20, "metadata": {}, "outputs": [ { @@ -124,7 +124,7 @@ }, { "cell_type": "code", - "execution_count": 77, + "execution_count": 21, "metadata": {}, "outputs": [], "source": [ @@ -139,7 +139,7 @@ }, { "cell_type": "code", - "execution_count": 42, + "execution_count": 22, "metadata": {}, "outputs": [], "source": [ @@ -153,21 +153,13 @@ }, { "cell_type": "code", - "execution_count": 43, + "execution_count": 23, "metadata": {}, "outputs": [ - { - "name": "stderr", - "output_type": "stream", - "text": [ - ":4: RuntimeWarning: More than 20 figures have been opened. Figures created through the pyplot interface (`matplotlib.pyplot.figure`) are retained until explicitly closed and may consume too much memory. (To control this warning, see the rcParam `figure.max_open_warning`).\n", - " fig, ax = plt.subplots()\n" - ] - }, { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "cddadc4204f54789905875fcfb8e4126", + "model_id": "8a090f2d31104ec695a0c68bf39555d9", "version_major": 2, "version_minor": 0 }, @@ -185,7 +177,7 @@ }, { "cell_type": "code", - "execution_count": 44, + "execution_count": 24, "metadata": {}, "outputs": [], "source": [ @@ -194,7 +186,7 @@ }, { "cell_type": "code", - "execution_count": 45, + "execution_count": 25, "metadata": {}, "outputs": [], "source": [ @@ -374,21 +366,13 @@ }, { "cell_type": "code", - "execution_count": 217, + "execution_count": 26, "metadata": {}, "outputs": [ - { - "name": "stderr", - "output_type": "stream", - "text": [ - ":1: RuntimeWarning: More than 20 figures have been opened. Figures created through the pyplot interface (`matplotlib.pyplot.figure`) are retained until explicitly closed and may consume too much memory. (To control this warning, see the rcParam `figure.max_open_warning`).\n", - " fig, ax = plt.subplots(figsize=(12, 9))\n" - ] - }, { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "42da8a07c0e241f2b1d0f3358e68935b", + "model_id": "b961e7d9571748fd8a58a5579f95743d", "version_major": 2, "version_minor": 0 }, @@ -402,10 +386,10 @@ { "data": { "text/plain": [ - "[]" + "[]" ] }, - "execution_count": 217, + "execution_count": 26, "metadata": {}, "output_type": "execute_result" } @@ -459,7 +443,7 @@ }, { "cell_type": "code", - "execution_count": 14, + "execution_count": 27, "metadata": {}, "outputs": [], "source": [ @@ -469,13 +453,13 @@ }, { "cell_type": "code", - "execution_count": 19, + "execution_count": 28, "metadata": {}, "outputs": [ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "3e5e478d8d8b4d7f9e08ec7e81def86b", + "model_id": "cebd805ecee34a05b229922af1abfe58", "version_major": 2, "version_minor": 0 }, @@ -489,12 +473,12 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "84b5e696d97346c5addebb851e4e5c51", + "model_id": "981c5c08524e4b56b72df4ca01e724da", "version_major": 2, "version_minor": 0 }, "text/plain": [ - "HBox(children=(FloatProgress(value=1.0, bar_style='info', max=1.0), HTML(value='')))" + "HBox(children=(IntProgress(value=1, bar_style='info', max=1), HTML(value='')))" ] }, "metadata": {}, @@ -506,22 +490,22 @@ "text": [ "nbits=5\n", "nbits=6\n", - "signal_amplitude=0.00046: ser=0.97396 ±0.00737, br=14.64844\n", + "signal_amplitude=0.00010: ser=0.97396 ±0.00737, br=14.64844\n", + "signal_amplitude=0.00015: ser=0.98958 ±0.00737, br=5.85938\n", "signal_amplitude=0.00022: ser=0.96875 ±0.01276, br=17.57812\n", "signal_amplitude=0.00032: ser=0.97396 ±0.00737, br=14.64844\n", - "signal_amplitude=0.00015: ser=0.98958 ±0.00737, br=5.85938\n", - "signal_amplitude=0.00010: ser=0.97396 ±0.00737, br=14.64844\n", + "signal_amplitude=0.00046: ser=0.97396 ±0.00737, br=14.64844\n", "signal_amplitude=0.00068: ser=0.94792 ±0.01949, br=29.29688\n", "signal_amplitude=0.00100: ser=0.78125 ±0.02552, br=123.04688\n", "signal_amplitude=0.00147: ser=0.28646 ±0.03683, br=401.36719\n", - "signal_amplitude=0.00316: ser=0.00521 ±0.00737, br=559.57031\n", "signal_amplitude=0.00215: ser=0.06250 ±0.03375, br=527.34375\n", - "signal_amplitude=0.00015: ser=0.97917 ±0.01473, br=7.03125\n", + "signal_amplitude=0.00316: ser=0.00521 ±0.00737, br=559.57031\n", "signal_amplitude=0.00010: ser=0.98958 ±0.00737, br=3.51562\n", + "signal_amplitude=0.00015: ser=0.97917 ±0.01473, br=7.03125\n", "signal_amplitude=0.00022: ser=0.98438 ±0.00000, br=5.27344\n", "signal_amplitude=0.00032: ser=0.98438 ±0.00000, br=5.27344\n", - "signal_amplitude=0.00068: ser=0.68229 ±0.09051, br=107.22656\n", "signal_amplitude=0.00046: ser=0.97917 ±0.01949, br=7.03125\n", + "signal_amplitude=0.00068: ser=0.68229 ±0.09051, br=107.22656\n", "signal_amplitude=0.00100: ser=0.15104 ±0.05156, br=286.52344\n", "signal_amplitude=0.00147: ser=0.01562 ±0.00000, br=332.22656\n", "signal_amplitude=0.00215: ser=0.01562 ±0.00000, br=332.22656\n", @@ -534,10 +518,10 @@ { "data": { "text/plain": [ - "" + "" ] }, - "execution_count": 19, + "execution_count": 28, "metadata": {}, "output_type": "execute_result" } @@ -610,21 +594,13 @@ }, { "cell_type": "code", - "execution_count": 220, + "execution_count": 29, "metadata": {}, "outputs": [ - { - "name": "stderr", - "output_type": "stream", - "text": [ - ":1: RuntimeWarning: More than 20 figures have been opened. Figures created through the pyplot interface (`matplotlib.pyplot.figure`) are retained until explicitly closed and may consume too much memory. (To control this warning, see the rcParam `figure.max_open_warning`).\n", - " fig, ax = plt.subplots(figsize=(12, 9))\n" - ] - }, { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "f63ab2c387f948b29d992a3edd04f4fa", + "model_id": "3e654922b013420d83e47b27c43e18dc", "version_major": 2, "version_minor": 0 }, @@ -638,10 +614,10 @@ { "data": { "text/plain": [ - "" + "" ] }, - "execution_count": 220, + "execution_count": 29, "metadata": {}, "output_type": "execute_result" } @@ -674,21 +650,13 @@ }, { "cell_type": "code", - "execution_count": 218, + "execution_count": 30, "metadata": {}, "outputs": [ - { - "name": "stderr", - "output_type": "stream", - "text": [ - ":1: RuntimeWarning: More than 20 figures have been opened. Figures created through the pyplot interface (`matplotlib.pyplot.figure`) are retained until explicitly closed and may consume too much memory. (To control this warning, see the rcParam `figure.max_open_warning`).\n", - " fig, ((ax, cbar_ax), (intercept_ax, empty)) = plt.subplots(2, 2, figsize=(12, 9), gridspec_kw={'width_ratios': [1, 0.05]})\n" - ] - }, { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "6651827b5eca4a0ba46effefd605f06c", + "model_id": "23d3975515a0462e94a01e7b3c5dd1a6", "version_major": 2, "version_minor": 0 }, @@ -703,95 +671,15 @@ "name": "stderr", "output_type": "stream", "text": [ - "/home/user/safety-reset/lab-windows/env/lib/python3.8/site-packages/numpy/core/fromnumeric.py:3334: RuntimeWarning: Mean of empty slice.\n", - " return _methods._mean(a, axis=axis, dtype=dtype,\n", - "/home/user/safety-reset/lab-windows/env/lib/python3.8/site-packages/numpy/core/_methods.py:161: RuntimeWarning: invalid value encountered in double_scalars\n", - " ret = ret.dtype.type(ret / rcount)\n", - "/home/user/safety-reset/lab-windows/env/lib/python3.8/site-packages/numpy/core/_methods.py:216: RuntimeWarning: Degrees of freedom <= 0 for slice\n", - " ret = _var(a, axis=axis, dtype=dtype, out=out, ddof=ddof,\n", - "/home/user/safety-reset/lab-windows/env/lib/python3.8/site-packages/numpy/core/_methods.py:185: RuntimeWarning: invalid value encountered in true_divide\n", - " arrmean = um.true_divide(\n", - "/home/user/safety-reset/lab-windows/env/lib/python3.8/site-packages/numpy/core/_methods.py:209: RuntimeWarning: invalid value encountered in double_scalars\n", - " ret = ret.dtype.type(ret / rcount)\n", - "/home/user/safety-reset/lab-windows/env/lib/python3.8/site-packages/numpy/core/fromnumeric.py:3334: RuntimeWarning: Mean of empty slice.\n", - " return _methods._mean(a, axis=axis, dtype=dtype,\n", - "/home/user/safety-reset/lab-windows/env/lib/python3.8/site-packages/numpy/core/_methods.py:161: RuntimeWarning: invalid value encountered in double_scalars\n", - " ret = ret.dtype.type(ret / rcount)\n", - "/home/user/safety-reset/lab-windows/env/lib/python3.8/site-packages/numpy/core/_methods.py:216: RuntimeWarning: Degrees of freedom <= 0 for slice\n", - " ret = _var(a, axis=axis, dtype=dtype, out=out, ddof=ddof,\n", - "/home/user/safety-reset/lab-windows/env/lib/python3.8/site-packages/numpy/core/_methods.py:185: RuntimeWarning: invalid value encountered in true_divide\n", - " arrmean = um.true_divide(\n", - "/home/user/safety-reset/lab-windows/env/lib/python3.8/site-packages/numpy/core/_methods.py:209: RuntimeWarning: invalid value encountered in double_scalars\n", - " ret = ret.dtype.type(ret / rcount)\n", - "/home/user/safety-reset/lab-windows/env/lib/python3.8/site-packages/numpy/core/fromnumeric.py:3334: RuntimeWarning: Mean of empty slice.\n", - " return _methods._mean(a, axis=axis, dtype=dtype,\n", - "/home/user/safety-reset/lab-windows/env/lib/python3.8/site-packages/numpy/core/_methods.py:161: RuntimeWarning: invalid value encountered in double_scalars\n", - " ret = ret.dtype.type(ret / rcount)\n", - "/home/user/safety-reset/lab-windows/env/lib/python3.8/site-packages/numpy/core/_methods.py:216: RuntimeWarning: Degrees of freedom <= 0 for slice\n", - " ret = _var(a, axis=axis, dtype=dtype, out=out, ddof=ddof,\n", - "/home/user/safety-reset/lab-windows/env/lib/python3.8/site-packages/numpy/core/_methods.py:185: RuntimeWarning: invalid value encountered in true_divide\n", - " arrmean = um.true_divide(\n", - "/home/user/safety-reset/lab-windows/env/lib/python3.8/site-packages/numpy/core/_methods.py:209: RuntimeWarning: invalid value encountered in double_scalars\n", - " ret = ret.dtype.type(ret / rcount)\n", - "/home/user/safety-reset/lab-windows/env/lib/python3.8/site-packages/numpy/core/fromnumeric.py:3334: RuntimeWarning: Mean of empty slice.\n", - " return _methods._mean(a, axis=axis, dtype=dtype,\n", - "/home/user/safety-reset/lab-windows/env/lib/python3.8/site-packages/numpy/core/_methods.py:161: RuntimeWarning: invalid value encountered in double_scalars\n", - " ret = ret.dtype.type(ret / rcount)\n", - "/home/user/safety-reset/lab-windows/env/lib/python3.8/site-packages/numpy/core/_methods.py:216: RuntimeWarning: Degrees of freedom <= 0 for slice\n", - " ret = _var(a, axis=axis, dtype=dtype, out=out, ddof=ddof,\n", - "/home/user/safety-reset/lab-windows/env/lib/python3.8/site-packages/numpy/core/_methods.py:185: RuntimeWarning: invalid value encountered in true_divide\n", - " arrmean = um.true_divide(\n", - "/home/user/safety-reset/lab-windows/env/lib/python3.8/site-packages/numpy/core/_methods.py:209: RuntimeWarning: invalid value encountered in double_scalars\n", + "/usr/lib64/python3.7/site-packages/numpy/core/fromnumeric.py:3118: RuntimeWarning: Mean of empty slice.\n", + " out=out, **kwargs)\n", + "/usr/lib64/python3.7/site-packages/numpy/core/_methods.py:85: RuntimeWarning: invalid value encountered in double_scalars\n", " ret = ret.dtype.type(ret / rcount)\n", - "/home/user/safety-reset/lab-windows/env/lib/python3.8/site-packages/numpy/core/fromnumeric.py:3334: RuntimeWarning: Mean of empty slice.\n", - " return _methods._mean(a, axis=axis, dtype=dtype,\n", - "/home/user/safety-reset/lab-windows/env/lib/python3.8/site-packages/numpy/core/_methods.py:161: RuntimeWarning: invalid value encountered in double_scalars\n", - " ret = ret.dtype.type(ret / rcount)\n", - "/home/user/safety-reset/lab-windows/env/lib/python3.8/site-packages/numpy/core/_methods.py:216: RuntimeWarning: Degrees of freedom <= 0 for slice\n", - " ret = _var(a, axis=axis, dtype=dtype, out=out, ddof=ddof,\n", - "/home/user/safety-reset/lab-windows/env/lib/python3.8/site-packages/numpy/core/_methods.py:185: RuntimeWarning: invalid value encountered in true_divide\n", - " arrmean = um.true_divide(\n", - "/home/user/safety-reset/lab-windows/env/lib/python3.8/site-packages/numpy/core/_methods.py:209: RuntimeWarning: invalid value encountered in double_scalars\n", - " ret = ret.dtype.type(ret / rcount)\n", - "/home/user/safety-reset/lab-windows/env/lib/python3.8/site-packages/numpy/core/fromnumeric.py:3334: RuntimeWarning: Mean of empty slice.\n", - " return _methods._mean(a, axis=axis, dtype=dtype,\n", - "/home/user/safety-reset/lab-windows/env/lib/python3.8/site-packages/numpy/core/_methods.py:161: RuntimeWarning: invalid value encountered in double_scalars\n", - " ret = ret.dtype.type(ret / rcount)\n", - "/home/user/safety-reset/lab-windows/env/lib/python3.8/site-packages/numpy/core/_methods.py:216: RuntimeWarning: Degrees of freedom <= 0 for slice\n", - " ret = _var(a, axis=axis, dtype=dtype, out=out, ddof=ddof,\n", - "/home/user/safety-reset/lab-windows/env/lib/python3.8/site-packages/numpy/core/_methods.py:185: RuntimeWarning: invalid value encountered in true_divide\n", - " arrmean = um.true_divide(\n", - "/home/user/safety-reset/lab-windows/env/lib/python3.8/site-packages/numpy/core/_methods.py:209: RuntimeWarning: invalid value encountered in double_scalars\n", - " ret = ret.dtype.type(ret / rcount)\n", - "/home/user/safety-reset/lab-windows/env/lib/python3.8/site-packages/numpy/core/fromnumeric.py:3334: RuntimeWarning: Mean of empty slice.\n", - " return _methods._mean(a, axis=axis, dtype=dtype,\n", - "/home/user/safety-reset/lab-windows/env/lib/python3.8/site-packages/numpy/core/_methods.py:161: RuntimeWarning: invalid value encountered in double_scalars\n", - " ret = ret.dtype.type(ret / rcount)\n", - "/home/user/safety-reset/lab-windows/env/lib/python3.8/site-packages/numpy/core/_methods.py:216: RuntimeWarning: Degrees of freedom <= 0 for slice\n", - " ret = _var(a, axis=axis, dtype=dtype, out=out, ddof=ddof,\n", - "/home/user/safety-reset/lab-windows/env/lib/python3.8/site-packages/numpy/core/_methods.py:185: RuntimeWarning: invalid value encountered in true_divide\n", - " arrmean = um.true_divide(\n", - "/home/user/safety-reset/lab-windows/env/lib/python3.8/site-packages/numpy/core/_methods.py:209: RuntimeWarning: invalid value encountered in double_scalars\n", - " ret = ret.dtype.type(ret / rcount)\n", - "/home/user/safety-reset/lab-windows/env/lib/python3.8/site-packages/numpy/core/fromnumeric.py:3334: RuntimeWarning: Mean of empty slice.\n", - " return _methods._mean(a, axis=axis, dtype=dtype,\n", - "/home/user/safety-reset/lab-windows/env/lib/python3.8/site-packages/numpy/core/_methods.py:161: RuntimeWarning: invalid value encountered in double_scalars\n", - " ret = ret.dtype.type(ret / rcount)\n", - "/home/user/safety-reset/lab-windows/env/lib/python3.8/site-packages/numpy/core/_methods.py:216: RuntimeWarning: Degrees of freedom <= 0 for slice\n", - " ret = _var(a, axis=axis, dtype=dtype, out=out, ddof=ddof,\n", - "/home/user/safety-reset/lab-windows/env/lib/python3.8/site-packages/numpy/core/_methods.py:185: RuntimeWarning: invalid value encountered in true_divide\n", - " arrmean = um.true_divide(\n", - "/home/user/safety-reset/lab-windows/env/lib/python3.8/site-packages/numpy/core/_methods.py:209: RuntimeWarning: invalid value encountered in double_scalars\n", - " ret = ret.dtype.type(ret / rcount)\n", - "/home/user/safety-reset/lab-windows/env/lib/python3.8/site-packages/numpy/core/fromnumeric.py:3334: RuntimeWarning: Mean of empty slice.\n", - " return _methods._mean(a, axis=axis, dtype=dtype,\n", - "/home/user/safety-reset/lab-windows/env/lib/python3.8/site-packages/numpy/core/_methods.py:161: RuntimeWarning: invalid value encountered in double_scalars\n", - " ret = ret.dtype.type(ret / rcount)\n", - "/home/user/safety-reset/lab-windows/env/lib/python3.8/site-packages/numpy/core/_methods.py:216: RuntimeWarning: Degrees of freedom <= 0 for slice\n", - " ret = _var(a, axis=axis, dtype=dtype, out=out, ddof=ddof,\n", - "/home/user/safety-reset/lab-windows/env/lib/python3.8/site-packages/numpy/core/_methods.py:185: RuntimeWarning: invalid value encountered in true_divide\n", - " arrmean = um.true_divide(\n", - "/home/user/safety-reset/lab-windows/env/lib/python3.8/site-packages/numpy/core/_methods.py:209: RuntimeWarning: invalid value encountered in double_scalars\n", + "/usr/lib64/python3.7/site-packages/numpy/core/_methods.py:140: RuntimeWarning: Degrees of freedom <= 0 for slice\n", + " keepdims=keepdims)\n", + "/usr/lib64/python3.7/site-packages/numpy/core/_methods.py:110: RuntimeWarning: invalid value encountered in true_divide\n", + " arrmean, rcount, out=arrmean, casting='unsafe', subok=False)\n", + "/usr/lib64/python3.7/site-packages/numpy/core/_methods.py:132: RuntimeWarning: invalid value encountered in double_scalars\n", " ret = ret.dtype.type(ret / rcount)\n" ] } @@ -892,7 +780,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 31, "metadata": {}, "outputs": [], "source": [ @@ -901,21 +789,13 @@ }, { "cell_type": "code", - "execution_count": 268, + "execution_count": 44, "metadata": {}, "outputs": [ - { - "name": "stderr", - "output_type": "stream", - "text": [ - ":1: RuntimeWarning: More than 20 figures have been opened. Figures created through the pyplot interface (`matplotlib.pyplot.figure`) are retained until explicitly closed and may consume too much memory. (To control this warning, see the rcParam `figure.max_open_warning`).\n", - " fig, ((ax, cbar_ax), (intercept_ax, empty)) = plt.subplots(2, 2, figsize=(12, 9), gridspec_kw={'width_ratios': [1, 0.05], 'hspace': 0.4})\n" - ] - }, { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "be4678ec02394b81b8aee83c759e1009", + "model_id": "62259928c3a24739a4b03c9b9a83859a", "version_major": 2, "version_minor": 0 }, @@ -930,8 +810,7 @@ "name": "stderr", "output_type": "stream", "text": [ - ":17: RuntimeWarning: divide by zero encountered in log10\n", - " cm_func = lambda x: cmap(np.log10(x - min(decimations)) / (np.log10(max(decimations)) - np.log10(min(decimations))))\n" + "/usr/lib/python3.7/site-packages/ipykernel_launcher.py:20: RuntimeWarning: divide by zero encountered in log10\n" ] } ], @@ -943,19 +822,24 @@ "results = []\n", "\n", "for fn in [\n", - " 'data/dsss_experiments_res-2020-02-20-14-10-13.json',\n", - " 'data/dsss_experiments_res-2020-02-20-13-21-57.json',\n", - " 'data/dsss_experiments_res-2020-02-20-13-23-47.json',\n", + "# 'data/dsss_experiments_res-2020-02-20-14-10-13.json',\n", + "# 'data/dsss_experiments_res-2020-02-20-13-21-57.json',\n", + "# 'data/dsss_experiments_res-2020-02-20-13-23-47.json',\n", + " 'data/dsss_experiments_res-2020-02-20-19-51-21.json',\n", + " 'data/dsss_experiments_res-2020-02-20-20-43-32.json',\n", + " 'data/dsss_experiments_res-2020-02-20-21-36-42.json',\n", "]:\n", " with open(fn, 'r') as f:\n", " results += json.load(f)\n", "\n", - "decimations = [decimation for (_nbits, thf, _reps, _points, _duration, decimation), series in results]\n", + "decimations = [decimation for (_nbits, thf, _reps, _points, _duration, decimation), series in results if decimation > 0]\n", "cmap = matplotlib.cm.viridis\n", "cm_func = lambda x: cmap(np.log10(x - min(decimations)) / (np.log10(max(decimations)) - np.log10(min(decimations))))\n", "\n", "decimation_sers = {}\n", "for (nbits, thf, reps, points, duration, decimation), series in results:\n", + " if not decimation > 0:\n", + " continue\n", " data = [ [ mean for mean, _std, _msg in reps if mean is not None ] for _amp, reps in series ]\n", " amps = [ amp for amp, _reps in series ]\n", " sers = np.array([ np.mean(values) for values in data ])\n", @@ -971,16 +855,18 @@ "ax.set_ylabel('Symbol error rate')\n", "\n", "norm = matplotlib.colors.Normalize(vmin=np.log10(min(decimations)), vmax=np.log10(max(decimations)))\n", - "yticks = [np.log10(d) for d in decimations]\n", + "tick_decs = sorted(decimations)\n", + "tick_decs = tick_decs[:4] + tick_decs[5::5]\n", + "yticks = [np.log10(d) for d in tick_decs]\n", "cb1 = matplotlib.colorbar.ColorbarBase(cbar_ax, cmap=cmap, norm=norm, orientation='vertical', ticks=yticks)\n", "cb1t = cbar_ax.twinx()\n", "cb1t.set_ylim(cbar_ax.get_ylim())\n", "cb1t.set_yticks(yticks)\n", "\n", - "cbar_ax.set_yticklabels([f'{d/sampling_rate:.1f}' for d in decimations])\n", + "cbar_ax.set_yticklabels([f'{d/sampling_rate:.1f}' for d in tick_decs])\n", "cbar_ax.set_ylabel(\"chip duration [s]\", labelpad=-70)\n", "\n", - "cb1t.set_yticklabels([f'{d/sampling_rate * 2**nbits:.1f}' for d in decimations])\n", + "cb1t.set_yticklabels([f'{d/sampling_rate * 2**nbits:.1f}' for d in tick_decs])\n", "cb1t.set_ylabel(\"symbol duration [s]\")\n", "\n", "\n", @@ -1044,7 +930,7 @@ }, { "cell_type": "code", - "execution_count": 227, + "execution_count": 33, "metadata": {}, "outputs": [ { @@ -1053,7 +939,7 @@ "41.6" ] }, - "execution_count": 227, + "execution_count": 33, "metadata": {}, "output_type": "execute_result" } @@ -1065,9 +951,9 @@ ], "metadata": { "kernelspec": { - "display_name": "labenv", + "display_name": "winlabenv", "language": "python", - "name": "labenv" + "name": "winlabenv" }, "language_info": { "codemirror_mode": { @@ -1079,7 +965,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.8.1" + "version": "3.7.6" } }, "nbformat": 4, -- cgit