diff --git a/plot.ipynb b/plot.ipynb deleted file mode 100644 index fe06449..0000000 --- a/plot.ipynb +++ /dev/null @@ -1,79 +0,0 @@ -{ - "cells": [ - { - "cell_type": "code", - "execution_count": 2, - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "" - ] - }, - "execution_count": 2, - "metadata": {}, - "output_type": "execute_result" - }, - { - "data": { - "image/png": "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", - "text/plain": [ - "
" - ] - }, - "metadata": { - "needs_background": "light" - }, - "output_type": "display_data" - } - ], - "source": [ - "import numpy as np\n", - "import matplotlib.pyplot as plt\n", - "gt_data = []\n", - "f2 = open(r\"fitness.txt\", \"r\")\n", - "lines = f2.readlines()\n", - "for line3 in lines:\n", - " #print(line3)\n", - " cur = line3.strip().split(\" \")\n", - " cur = list(map(float, cur))\n", - " gt_data.append(cur)\n", - "data = np.array(gt_data)\n", - "flag = data[:,0] != data[:,1]\n", - "#index1 = np.argsort(1/data[:,0])\n", - "#data = data[flag]\n", - "plt.scatter(1/data[flag, 0], data[flag, 1], c='#F73030', marker='1')\n", - "# index = cal_rank(1 / data[index1, 0],GAP)\n", - "# parameter = np.polyfit(1 / data[index, 0],data[index, 1],2)\n", - "# #plt.scatter(1/data[index, 0], data[index, 1], c='#F73030', marker='1', label='Motor : '+ str(np.around(parameter[0],decimals=2))+'*X^2'+str(np.around(parameter[1],decimals=2))+'*X+'+str(np.around(parameter[2],decimals=2)))\n", - "# plt.scatter(1/data[index1[index], 0], data[index1[index], 1], s=30, c='#F73030', marker='v', label='Motor : '+ str(np.around(parameter[0],decimals=2))+'*X^2+'+str(np.around(parameter[1],decimals=2))+'*X+'+str(np.around(parameter[2],decimals=2)))\n", - "\n", - "# p = np.poly1d(parameter)\n", - "#plt.plot(1/data[index1,0],p(1/data[index1,0]),c='#F73030')" - ] - } - ], - "metadata": { - "kernelspec": { - "display_name": "simnibs", - "language": "python", - "name": "python3" - }, - "language_info": { - "codemirror_mode": { - "name": "ipython", - "version": 3 - }, - "file_extension": ".py", - "mimetype": "text/x-python", - "name": "python", - "nbconvert_exporter": "python", - "pygments_lexer": "ipython3", - "version": "3.7.13" - }, - "orig_nbformat": 4 - }, - "nbformat": 4, - "nbformat_minor": 2 -}