hipom_data_mapping/data_import/plot_count.ipynb

89 lines
41 KiB
Plaintext

{
"cells": [
{
"cell_type": "code",
"execution_count": 1,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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wTbF286dOzVo0CAtXbpU27dvr1bI7dy5U3/72990ySWXyDAMtW/fXrfeemu1/rNnz1aXLl1UWlqqCy+8UF988YUk6dixY3r88cf13//935KkG264Qb169QrfAwMAAACABrDVhiX/+te/9Mc//lGSFBUVpaSkJB05csT/OW+SlJKSopUrV6pLly7V+rZp00arVq3Seeedp2+//VaDBw9WYmKijh496v8wvTFjxuihhx4K3wMCAAAAgAayTfHWrVs3vfzyy1qzZo3WrVun3bt3q6CgQBERETrxxBM1cOBAXXLJJbrqqqsUGxsbcIwzzjhDmzdv1qJFi7Rq1Srt3LlT8fHx6tevnyZPnqxp06bJ6WzaYuSUCTmSryCYhxhQZtqKkI8Jm/A5JQ2UNi+U6vuogAGecEQEAAAAC9mmeIuKitKECRM0YcKEoMbp3LmzHnzwQT344IMhigwAAAAAzGeb97wBAAAAQGtG8QYAAAAANkDxBgAAAAA2QPEGAAAAADZgmw1Lmrv0jFS53W4TRvaYMCZsweuV8lZLfedKLpfV0QAAAMBirLwBAAAAgA1QvAEAAACADVC8AQAAAIANULwBAAAAgA1QvAEAAACADbDbZIhMmZAj+QpCPm5m2oqQj1mnAZ7wzgcAAACgQVh5AwAAAAAboHgDAAAAABsw/WWTX3/9td599105nU6dd9556tOnj9lTAgAAAECLE/TK23vvvaff/e53uuOOO2pce/DBBzVo0CDNnj1bM2fOVP/+/ZWWlhbslAAAAADQ6gRdvL388sv64IMP1KNHj2rnt23bpr/85S/y+XyKiopSbGysKioqdOutt2rTpk3BTgsAAAAArUrQL5tcu3atJGns2LHVzj/11FOqqKjQb3/7W61atUpRUVG6+uqrlZGRoccee0xPPvlksFM3K+kZqXK73SaM7DFhTAAAAAB2E/TK2759+xQREaETTjih2vm33npLDodD8+bNU3x8vFwulxYuXChJ+vDDD4OdFgAAAABalaCLtwMHDigpKUkOh8N/rri4WJs3b1Z8fLx++9vf+s+npqYqJiZGu3btCnZaAAAAAGhVgi7eYmJidOjQIRmG4T+3du1aGYahs846S05n9SliY2ODnRIAAAAAWp2gi7eePXvK5/Ppgw8+8J975ZVX5HA4NGzYsGptjx07pkOHDqlz587BTgsAAAAA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vf3227r22mtlGIZiYmJ09tlnq1u3boqMNPftdHPmzNGSJUskSffff79mzZpl6nz1Sc9IldvttjSGunmsDgAAAABAEIKusO6//34ZhqGzzz5br732mjp06BCKuOpU9aWS999/v+bMmRP0mDk5OSooOL7Vf0pKStDjAQAAAEAoBV28ffHFF3I4HEpPTw974bZkyZIGrbhVvlSzruuVBaDT6dRFF10UmmABAAAAIESC3j++vLxcCQkJte7OGEpV3+P24IMPNvilknl5eRoyZIiWLl2q7du3+9+P5/P59Nlnn2ns2LF69dVXJUnTp0+v9TPiAAAAAMAqQa+8paamauvWraqoqFBEhHkbdvz4449avHixpOOrY4sWLdKiRYtqbT979mzNnj3b//369eu1fv16Scc3HUlMTFRxcXG1nSOnTp2qv//97yY9AgAAAABouqCLt4kTJ+r222/Xm2++aerLDX0+X7XjvXv31tm+6s6XnTt3Vlpamj799FN9+eWX+vnnn3Xw4EHFxMQoJSVF55xzjqZNm6ahQ4eaFj8AAAAABCPo4m3GjBlauXKl/vSnP6l3796mvXyyR48eAT9+oCFiY2N100036aabbgpxVP8xZUKO5CswbfxAMtNWhHU+hJnPKWmgtHmh1No+6gGhN8BjdQQAACBIjSrenn322YDnr7nmGs2bN08DBw7UhAkTdNZZZykxMbHOsSZNmtSYqQEAAACgVWtU8TZlypR6d21cvny5li9fXuc4DoeD4g0AAAAAGqFRxduJJ55YZ/EGAAAAADBHo4q3HTt2mBQGAAAAAKAuQW9YguPSM1LldrvDPKsnzPMhrLxeKW+11Heu5HJZHQ0AAAAsZlrxduzYMb311lvaunWroqOjdfrpp2vYsGFmTQcAAAAALVqji7fi4mK9+uqrkqQrrrhC0dHRNdps2LBBl112mXbt2lXt/FlnnaVXXnlFXbp0aWK4AAAAANA6ORvbITs7W1OmTNHDDz8csHDbt2+fLrjgAu3atUuGYVT7WrdunX7/+9+HJHAAAAAAaE0aXbx99NFHkqSrrroq4PVFixapoOD4h1VPnjxZn3zyif71r3/p1ltvlWEY+uKLL5SRkRFEyAAAAADQ+jT6ZZOff/65HA6Hzj///IDXly9fLofDoYsvvljPPPOM//wDDzygAwcOaNmyZVq5cqUmTJjQ9KgB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C8fDMh3FW4hMmZAj+QpMGz8zbUVoBzT5LykAAABAbSZNmqQPPvhAERERmjFjhqZPn67U1FQ5nU6Vl5fr22+/1VtvvaUXXnih1jGSk5O1Y8eOaueOHTumr776Sm+88YYef/xx7dy5UxMmTNDcuXN13333mfyozNdy1hABAAAANHvff/+9MjMzJUn33HOPlixZolNOOcX/8sbIyEgNGDBAt912m7788ktdccUVDR47KipKgwcP1vz587V582aNHDlSkrRw4cI6C0G7oHgDAAAAEDZffvml//iSSy6pt31sbGyT5nG73XrllVfUvXt3SdJdd90lr9fbpLGaC4o3AAAAAJbYtWuXqeO3bdtWM2bMkCTl5ubqo48+MnU+s1G8AQAAAAibM888Uw6HQ5I0a9Ysbdu2zdT5LrzwQv9x1Q1S7IjiDQAAAEDY9OjRQ9ddd50k6euvv1afPn10+umn689//rP+8Y9/6JtvvpFhGCGbr0+fPoqKipIk5eTkhGxcK7Sq3SbT09M1derUettlZWVp1KhRjRs7I1Vut7upoTWAx8SxAQAAgPB57LHH1KVLFz344IM6fPiwNm3apE2bNvmvd+rUSVdffbX+8pe/qHPnzkHN5XA41K5dO+3du1cHDhwINnRLtcqVN6fTqc6dO9f6FR0dbXWIAAAAQIsVGRmpu+++W/n5+Xruued03XXXaeDAgf4Vsn379umhhx5Sv3799Pnnn1scbfPRqlbeKgX6TAgAAAAA4dWmTRtNnDhREydOlCQdPXpUH3/8sf7+978rMzNTBQUFuuyyy/T9998rJiamSXMYhqHCwkJJMvmVcuZrlStvAAAAAJqfmJgYjRo1Sq+//romT54s6fiOlG+99VaTx9yyZYvKysokSampqSGJ0yoUbwAAAACanRtuuMF/vHXr1iaP88Ybb/iPR4wYEUxIlqN4AwAAANDsJCQk+I+buidFYWGh/ud//kfS8VW3YcOGhSQ2q7TK97z9/PPPOuOMM7R161ZVVFSoa9euOuecc3Tdddc1uRqfMiFH8hWENtBfyExbYer4TTbAY3UEAAAAsInc3Fx5vV716tWrznbLli3zH59++umNnufAgQO6/PLL/R8Efu+99yoy0t7lT6tceSstLdXGjRsVFRUln8+n3NxcLV++XCNHjtS0adNUXl5udYgAAABAi7R582adeuqpuvDC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U79+/eRwOORyuXTGGWdoyZIl+uyzz9SuXTurwwQAAACAGlrNylulxMRELViwQAsWLLA6FAAAAABosFa18maG6OhozZ8/P+AHdwPBILdgJvILZiG3YCbyC2axS261mg1LAAAAAMDOWHkDAAAAABugeAMAAAAAG6B4AwAAAAAboHgDAAAAABugeGui4uJieTwe9e/fXwkJCWrTpo3OPPNMPfDAAzp27JjV4cEEpaWlevPNN3XPPfdo/PjxOumkk+RwOORwOOTxeBo0xt69ezVr1iz17t1bsbGxat++vYYPH66nnnpKDdk7KCcnR9OnT1dKSopiYmLUsWNHnXfeeVq5cmWD5t+4caMmTpyoE044QdHR0eratasuvfRSvffeew3qD/Ps379fzzzzjCZOnKjTTjtN8fHxio6O1gknnKBx48bp1VdfrXeMYO9LVucnzLFx40YtWLBAv//979WnTx+53W65XC653W4NHTpU9957rw4cOFDnGFbnBvcue/nb3/7m//nocDjqbMt9C7VJT0+vlke1fb377ru1jmH1vef999/XpZdeqq5du/p/pk+cOFEbN25sUP+ADDTajh07jB49ehiSDElGXFycER0d7f9+0KBBxoEDB6wOEyH2/vvv+5/jX37Nnz+/3v4bNmww3G63v09CQoIRGRnp//68884zysrKau3/xhtvGHFxcf72SUlJhtPp9H8/depUw+fz1dr/ySefrDZfmzZtDIfD0ajHAPNUfW4kGTExMUZ8fHy1c2PHjjUOHz4csH+w9yWr8xPm+fOf/1wjtxITE6ud69Chg7F27dqA/a3ODe5d9rJlyxYjJiamWn7VhvsW6vLMM88Ykgyn02l07ty51q8PP/wwYH+r7z3z58/3t3U4HEabNm3830dGRhpPPvlkk/5dKN4ayev1Gv379zckGV27djWysrIMwzCMiooK48UXX/T/QLzgggssjhSh9v777xvt2rUzzj33XGPOnDnGihUrjC5dujToP3BhYaG/bZ8+fYz169cbhmEYZWVlxiOPPGK4XC5DknHjjTcG7L99+3b/L/JDhw41tm7dahiGYRQXFxvz5s3z3wwWLVoUsP/atWuNiIgIQ5Ixbtw4Y+fOnYZhGEZBQYExffp0f/+XXnqpif86CJYkY8iQIcZjjz1m5OTk+M/n5uYa1157rf85mjhxYo2+wd6XrM5P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",
"text/plain": [
"<Figure size 1000x800 with 1 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"import pandas as pd\n",
"import matplotlib.pyplot as plt\n",
"import numpy as np\n",
"\n",
"# 전체 글꼴 크기 설정\n",
"plt.rcParams.update({'font.size': 18})\n",
"\n",
"# CSV 파일 읽기\n",
"df = pd.read_csv('raw_data.csv')\n",
"\n",
"# ships_idx 별 전체 갯수 계산\n",
"total_counts = df['ships_idx'].value_counts().sort_index()\n",
"\n",
"# ships_idx 별 MDM=True 인 갯수 계산\n",
"mdm_true_counts = df[df['MDM'] == True]['ships_idx'].value_counts().sort_index()\n",
"\n",
"# 데이터프레임으로 합치기\n",
"summary_df = pd.DataFrame({\n",
" 'SD': total_counts,\n",
" 'PD': mdm_true_counts\n",
"}).fillna(0) # NaN 값을 0으로 대체\n",
"\n",
"# 시각화\n",
"fig, ax = plt.subplots(figsize=(10, 8))\n",
"\n",
"# Total Counts 먼저 그리기\n",
"summary_df['SD'].plot(kind='barh', ax=ax, color='orange', alpha=0.5, label='SD')\n",
"\n",
"# MDM=True Counts를 그 위에 겹쳐서 그리기\n",
"summary_df['PD'].plot(kind='barh', ax=ax, color='blue', alpha=0.7, label='PD')\n",
"\n",
"# y축 라벨 설정 (5 단위로만 표시)\n",
"y_labels = ax.get_yticks()\n",
"ax.set_yticks(np.arange(min(y_labels), max(y_labels)+1, 5))\n",
"ax.set_yticklabels([int(label) for label in np.arange(min(y_labels), max(y_labels)+1, 5)])\n",
"\n",
"# 그리드 추가\n",
"ax.grid(True)\n",
"\n",
"# 범례와 제목 설정\n",
"plt.legend(prop={'size': 18}) # 레전드 글꼴 크기 설정\n",
"plt.xlabel('Counts')\n",
"plt.ylabel('Ships')\n",
"plt.show()\n"
]
}
],
"metadata": {
"kernelspec": {
"display_name": "torch",
"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.10.14"
}
},
"nbformat": 4,
"nbformat_minor": 2
}