{"id":5116,"date":"2025-03-19T19:49:26","date_gmt":"2025-03-19T10:49:26","guid":{"rendered":"https:\/\/secondlife.lol\/?p=5116"},"modified":"2025-03-19T19:49:28","modified_gmt":"2025-03-19T10:49:28","slug":"revenue-profit-comparison-python-visualization","status":"publish","type":"post","link":"https:\/\/secondlife.lol\/ja\/revenue-profit-comparison-python-visualization\/","title":{"rendered":"\u58f2\u4e0a\u9ad8\u3068\u7d14\u5229\u76ca\u306e\u6bd4\u8f03\uff1aPython\u306e\u8996\u899a\u5316\u3067\u7c21\u5358\u306b\u308f\u304b\u308b"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">\uc548\ub155\ud558\uc138\uc694! \uc774\ubc88 \ud3ec\uc2a4\ud2b8\uc5d0\uc11c\ub294 <strong>\ub9e4\ucd9c \uc21c\uc774\uc775 \ube44\uad50<\/strong> \ub370\uc774\ud130\ub97c <strong>\ud30c\uc774\uc36c \uc2dc\uac01\ud654<\/strong>\ub85c \uc27d\uac8c \uc774\ud574\ud558\ub294 \ubc29\ubc95\uc744 \uc54c\uc544\ubcf4\uaca0\uc2b5\ub2c8\ub2e4. \uae30\uc5c5\uc758 \ub9e4\ucd9c\uacfc \uc21c\uc774\uc775\uc740 \uacbd\uc601 \uc131\uacfc\ub97c \ub300\ud45c\ud558\ub294 \uc911\uc694\ud55c \uc9c0\ud45c\uc778\ub370\uc694. \uc774 \ub450 \uac00\uc9c0\ub97c \ud55c\ub208\uc5d0 \ube44\uad50\ud558\uba74 \ud68c\uc0ac\uc758 \uc218\uc775 \uad6c\uc870\ub97c \ub354 \uc798 \ud30c\uc545\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4. <\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\uc5ec\uae30\uc11c\ub294 Python\uc758 \ub300\ud45c\uc801\uc778 \uc2dc\uac01\ud654 \ub3c4\uad6c \ub450 \uac00\uc9c0\uc778 <strong>Matplotlib<\/strong>\uacfc <strong>Plotly<\/strong>\ub97c \ud65c\uc6a9\ud558\uc5ec \ub9e4\ucd9c\uacfc \uc21c\uc774\uc775 \ub370\uc774\ud130\ub97c \uadf8\ub798\ud504\ub85c \ub098\ud0c0\ub0b4\ubcf4\uaca0\uc2b5\ub2c8\ub2e4. \ucd08\ubcf4\uc790\ubd84\ub4e4\ub3c4 \ub530\ub77c\ud560 \uc218 \uc788\ub3c4\ub85d <strong>\ucf54\ub4dc \uc608\uc81c\uc640 \uc0c1\uc138 \ud574\uc124<\/strong>\uc744 \ud568\uaed8 \uc81c\uacf5\ud558\ub2c8, \ub370\uc774\ud130 \uc2dc\uac01\ud654\uc5d0 \uc785\ubb38\ud558\ub824\ub294 \ubd84\ub4e4\uaed8 \ub3c4\uc6c0\uc774 \ub418\uae38 \ubc14\ub78d\ub2c8\ub2e4.<\/p>\n\n\n<style>.kb-table-of-content-nav.kb-table-of-content-id83_5f28a6-34 .kb-table-of-content-wrap{padding-top:var(--global-kb-spacing-sm, 1.5rem);padding-right:var(--global-kb-spacing-sm, 1.5rem);padding-bottom:var(--global-kb-spacing-sm, 1.5rem);padding-left:var(--global-kb-spacing-sm, 1.5rem);border-top:3px solid var(--global-palette2, #2B6CB0);border-right:3px solid var(--global-palette2, #2B6CB0);border-bottom:3px solid var(--global-palette2, #2B6CB0);border-left:3px solid var(--global-palette2, #2B6CB0);border-top-left-radius:5px;border-top-right-radius:5px;border-bottom-right-radius:5px;border-bottom-left-radius:5px;box-shadow:0px 0px 14px 0px rgba(0, 0, 0, 0.2);}.kb-table-of-content-nav.kb-table-of-content-id83_5f28a6-34 .kb-table-of-contents-title-wrap{padding-top:0px;padding-right:0px;padding-bottom:0px;padding-left:0px;}.kb-table-of-content-nav.kb-table-of-content-id83_5f28a6-34 .kb-table-of-contents-title-wrap{color:var(--global-palette2, #2B6CB0);}.kb-table-of-content-nav.kb-table-of-content-id83_5f28a6-34 .kb-table-of-contents-title{color:var(--global-palette2, #2B6CB0);font-size:28px;font-weight:regular;font-style:normal;}.kb-table-of-content-nav.kb-table-of-content-id83_5f28a6-34 .kb-table-of-content-wrap .kb-table-of-content-list{color:var(--global-palette1, #3182CE);line-height:2em;font-weight:regular;font-style:normal;margin-top:var(--global-kb-spacing-sm, 1.5rem);margin-right:0px;margin-bottom:0px;margin-left:0px;}.kb-table-of-content-nav.kb-table-of-content-id83_5f28a6-34 .kb-table-of-content-wrap .kb-table-of-content-list .kb-table-of-contents__entry:hover{color:var(--global-palette6, #718096);}@media all and (max-width: 1024px){.kb-table-of-content-nav.kb-table-of-content-id83_5f28a6-34 .kb-table-of-content-wrap{border-top:3px solid var(--global-palette2, #2B6CB0);border-right:3px solid var(--global-palette2, #2B6CB0);border-bottom:3px solid var(--global-palette2, #2B6CB0);border-left:3px solid var(--global-palette2, #2B6CB0);}}@media all and (max-width: 1024px){.kb-table-of-content-nav.kb-table-of-content-id83_5f28a6-34 .kb-table-of-contents-title{font-size:28px;}}@media all and (max-width: 767px){.kb-table-of-content-nav.kb-table-of-content-id83_5f28a6-34 .kb-table-of-content-wrap{border-top:3px solid var(--global-palette2, #2B6CB0);border-right:3px solid var(--global-palette2, #2B6CB0);border-bottom:3px solid var(--global-palette2, #2B6CB0);border-left:3px solid var(--global-palette2, #2B6CB0);}.kb-table-of-content-nav.kb-table-of-content-id83_5f28a6-34 .kb-table-of-contents-title{font-size:28px;}}<\/style>\n\n\n<h2 class=\"wp-block-heading\">\ub9e4\ucd9c \uc21c\uc774\uc775 \ube44\uad50\uc758 \uc758\ubbf8<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\ub9e4\ucd9c<\/strong>\uc740 \uc81c\ud488\uc774\ub098 \uc11c\ube44\uc2a4\ub97c \ud310\ub9e4\ud558\uc5ec \uc5bb\uc740 <strong>\ucd1d \uc218\uc775<\/strong>\uc744 \ub9d0\ud558\uace0, <strong>\uc21c\uc774\uc775<\/strong>\uc740 \ubaa8\ub4e0 \ube44\uc6a9\uc744 \uc81c\uc678\ud558\uace0 \ucd5c\uc885\uc801\uc73c\ub85c \ub0a8\ub294 <strong>\uc21c\uc218\ud55c \uc774\uc775<\/strong>\uc744 \uc758\ubbf8\ud569\ub2c8\ub2e4. \ub9e4\ucd9c\uacfc \uc21c\uc774\uc775\uc744 \ud568\uaed8 \ube44\uad50\ud558\uba74 <strong>\uc218\uc775\uc131<\/strong>\uc744 \ud3c9\uac00\ud560 \uc218 \uc788\ub294\ub370\uc694. \uc608\ub97c \ub4e4\uc5b4 \ub9e4\ucd9c\uc740 \ub298\uace0 \uc788\ub294\ub370 \uc21c\uc774\uc775\uc774 \uc81c\uc790\ub9ac\ub77c\uba74 <strong>\ube44\uc6a9 \uc99d\uac00<\/strong>\ub85c \uc778\ud574 \uc774\uc775\ub960\uc774 \ub0ae\uc544\uc84c\ub2e4\ub294 \uc2e0\ud638\uc77c \uc218 \uc788\uc2b5\ub2c8\ub2e4. <\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\ubc18\ub300\ub85c \ub9e4\ucd9c \ub300\ube44 \uc21c\uc774\uc775\uc774 \ud06c\ub2e4\uba74 <strong>\ud6a8\uc728\uc801\uc778 \uacbd\uc601<\/strong>\uc744 \ud558\uace0 \uc788\ub2e4\ub294 \ub73b\uc774\uaca0\uc8e0. \uc774\ub807\uac8c \ub450 \uc9c0\ud45c\ub97c \ub098\ub780\ud788 \ub193\uace0 \ubcf4\uba74 \uae30\uc5c5\uc758 \uc7ac\ubb34 \uc0c1\ud0dc\ub97c <strong>\uc9c1\uad00\uc801<\/strong>\uc73c\ub85c \uc774\ud574\ud558\ub294 \ub370 \ub3c4\uc6c0\uc774 \ub429\ub2c8\ub2e4. \uc774\uc81c \uc2e4\uc81c \uc608\uc2dc \ub370\uc774\ud130\ub97c \uac00\uc9c0\uace0 \ub450 \uc9c0\ud45c\ub97c \uc2dc\uac01\ud654\ud574\ubcf4\uaca0\uc2b5\ub2c8\ub2e4.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Matplotlib\uc73c\ub85c \ub9e4\ucd9c\uacfc \uc21c\uc774\uc775 \uc2dc\uac01\ud654<\/h2>\n\n\n<style>.kb-image5116_6a2d05-62 .kb-image-has-overlay:after{opacity:0.3;border-top-left-radius:5px;border-top-right-radius:5px;border-bottom-right-radius:5px;border-bottom-left-radius:5px;}.kb-image5116_6a2d05-62 img.kb-img, .kb-image5116_6a2d05-62 .kb-img img{border-top-left-radius:5px;border-top-right-radius:5px;border-bottom-right-radius:5px;border-bottom-left-radius:5px;box-shadow:0px 0px 14px 0px rgba(0, 0, 0, 0.2);}<\/style>\n<div class=\"wp-block-kadence-image kb-image5116_6a2d05-62\"><figure class=\"aligncenter size-full\"><img decoding=\"async\" width=\"1200\" height=\"686\" src=\"https:\/\/secondlife.lol\/wp-content\/uploads\/2025\/03\/\ub9e4\ucd9c-\uc21c\uc774\uc775-\ube44\uad50.jpg\" alt=\"\ub9e4\ucd9c \uc21c\uc774\uc775 \ube44\uad50 \uadf8\ub798\ud504\" class=\"kb-img wp-image-5117\" srcset=\"https:\/\/secondlife.lol\/wp-content\/uploads\/2025\/03\/\ub9e4\ucd9c-\uc21c\uc774\uc775-\ube44\uad50.jpg 1200w, https:\/\/secondlife.lol\/wp-content\/uploads\/2025\/03\/\ub9e4\ucd9c-\uc21c\uc774\uc775-\ube44\uad50-300x172.jpg 300w, https:\/\/secondlife.lol\/wp-content\/uploads\/2025\/03\/\ub9e4\ucd9c-\uc21c\uc774\uc775-\ube44\uad50-600x343.jpg 600w, https:\/\/secondlife.lol\/wp-content\/uploads\/2025\/03\/\ub9e4\ucd9c-\uc21c\uc774\uc775-\ube44\uad50-768x439.jpg 768w, https:\/\/secondlife.lol\/wp-content\/uploads\/2025\/03\/\ub9e4\ucd9c-\uc21c\uc774\uc775-\ube44\uad50-18x10.jpg 18w\" sizes=\"(max-width: 1200px) 100vw, 1200px\" \/><\/figure><\/div>\n\n\n\n<p class=\"wp-block-paragraph\">\uba3c\uc800 <strong>Matplotlib<\/strong> \ub77c\uc774\ube0c\ub7ec\ub9ac\ub97c \uc0ac\uc6a9\ud574 \ub9e4\ucd9c\uacfc \uc21c\uc774\uc775 \ub370\uc774\ud130\ub97c \uc704\uc640 \uac19\uc774 \uc2dc\uac01\ud654\ud574\ubcf4\uaca0\uc2b5\ub2c8\ub2e4. Matplotlib\uc740 \ud30c\uc774\uc36c\uc5d0\uc11c \uac00\uc7a5 \ub110\ub9ac \uc4f0\uc774\ub294 <strong>\ub370\uc774\ud130 \uc2dc\uac01\ud654 \ub77c\uc774\ube0c\ub7ec\ub9ac<\/strong>\ub85c, \ub2e4\uc591\ud55c \uc885\ub958\uc758 \uadf8\ub798\ud504\ub97c \uc190\uc27d\uac8c \uadf8\ub9b4 \uc218 \uc788\uc2b5\ub2c8\ub2e4. \uc544\ub798 \ucf54\ub4dc\uc640 \ud568\uaed8 \uac01 \ub2e8\uacc4\ubcc4 \uc124\uba85\uc744 \ub367\ubd99\uc600\uc73c\ub2c8 \ud558\ub098\uc529 \ub530\ub77c\uc640 \ubcf4\uc138\uc694.<\/p>\n\n\n\n<pre class=\"wp-block-code language-python\"><code>import matplotlib.pyplot as plt\nimport numpy as np\n\n# \ub370\uc774\ud130 \uc124\uc815 (\ub2e8\uc704: \ucc9c \ub2ec\ub7ec)\ncompanies = &#91;'Nvidia', 'Apple', 'Meta', 'Alphabet', 'Broadcom', 'Microsoft', 'Tesla', 'Amazon']\nrevenue_per_employee = &#91;3600, 2400, 2200, 1900, 1400, 1100, 777, 410]\nprofit_per_employee = &#91;2000, 572, 842, 546, 159, 387, 57, 38]\n\n# \uadf8\ub798\ud504 \uc0dd\uc131 \ubc0f \uc124\uc815\nfig, (ax1, ax2) = plt.subplots(1, 2, figsize=(14, 8), sharey=True)\nfig.suptitle('Tech Companies: Revenue and Net Income Per Employee (2024)', fontsize=24, fontweight='bold', y=0.95)\n\n# \uccab \ubc88\uc9f8 \uadf8\ub798\ud504: \uc9c1\uc6d0 1\uc778\ub2f9 \ub9e4\ucd9c\nbars1 = ax1.barh(companies, revenue_per_employee, color='green', alpha=0.7)\nax1.set_title('Revenue Per Employee ($K)', fontsize=18, fontweight='bold')\nax1.set_xlabel('Revenue ($K)')\nax1.set_xlim(0, 4000)  # x\ucd95 \ubc94\uc704 \uc124\uc815\nax1.grid(axis='x', linestyle='--', alpha=0.7)\nax1.invert_yaxis()  # \ub9ac\uc2a4\ud2b8 \uc21c\uc11c \ubc18\ub300\ub85c (\ub192\uc740 \uac12\uc774 \uc704\ub85c)\n\n# \ub450 \ubc88\uc9f8 \uadf8\ub798\ud504: \uc9c1\uc6d0 1\uc778\ub2f9 \uc21c\uc774\uc775\nbars2 = ax2.barh(companies, profit_per_employee, color='lightgreen', alpha=0.7)\nax2.set_title('Net Income Per Employee ($K)', fontsize=18, fontweight='bold')\nax2.set_xlabel('Net Income ($K)')\nax2.set_xlim(0, 4000)  # x\ucd95 \ubc94\uc704 \uc124\uc815\nax2.grid(axis='x', linestyle='--', alpha=0.7)\n\n# \ub9c9\ub300 \ub05d\uc5d0 \uac12 \ud45c\uc2dc\nfor ax, bars in zip(&#91;ax1, ax2], &#91;bars1, bars2]):\n    for bar in bars:\n        width = bar.get_width()\n        ax.text(width + 50, bar.get_y() + bar.get_height()\/2, f'{int(width)}', \n                va='center', fontsize=12)\n\n# \uac01 \ub9c9\ub300 \uadf8\ub798\ud504\uc5d0 \uaca9\uc790 \uc120 \ucd94\uac00\nax1.set_xticks(&#91;0, 1000, 2000, 3000])\nax2.set_xticks(&#91;0, 1000, 2000, 3000])\n\n# \ubc15\uc2a4 \uc81c\uac70 (\ud504\ub808\uc784 \uc81c\uac70)\nax1.spines&#91;'top'].set_visible(False)\nax1.spines&#91;'right'].set_visible(False)\nax1.spines&#91;'left'].set_visible(False)\nax2.spines&#91;'top'].set_visible(False)\nax2.spines&#91;'right'].set_visible(False)\nax2.spines&#91;'left'].set_visible(False)\n\n# y\ucd95 \ud2f1 \ub808\uc774\ube14 \uc720\uc9c0\ud558\uba74\uc11c \ud2f1 \ub77c\uc778 \uc81c\uac70\nax1.tick_params(axis='y', which='both', length=0)\nax2.tick_params(axis='y', which='both', length=0)\n\n# \ud558\ub2e8\uc5d0 \uc124\uba85 \ucd94\uac00\nfig.text(0.5, 0.05, 'Values shown in thousands of dollars ($K) per employee', \n         ha='center', fontsize=12, style='italic')\nfig.text(0.5, 0.03, 'Data for 2024 fiscal year', \n         ha='center', fontsize=12, style='italic')\n\n# \ub808\uc774\uc544\uc6c3 \uc870\uc815\nplt.tight_layout()\nplt.subplots_adjust(top=0.88, bottom=0.1)\n\n# \uadf8\ub798\ud504 \ud45c\uc2dc\nplt.show()<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\ucf54\ub4dc \ud574\uc124:<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><code>import matplotlib.pyplot as plt<\/code>: \ub370\uc774\ud130 \uc2dc\uac01\ud654\ub97c \uc704\ud55c Matplotlib \ub77c\uc774\ube0c\ub7ec\ub9ac\uc758 pyplot \ubaa8\ub4c8\uc744 <code>plt<\/code>\ub77c\ub294 \uc774\ub984\uc73c\ub85c \uac00\uc838\uc635\ub2c8\ub2e4.<\/li>\n\n\n\n<li><code>import numpy as np<\/code>: \uc218\uce58 \uc5f0\uc0b0\uc744 \uc704\ud55c NumPy \ub77c\uc774\ube0c\ub7ec\ub9ac\ub97c <code>np<\/code>\ub77c\ub294 \uc774\ub984\uc73c\ub85c \uac00\uc838\uc635\ub2c8\ub2e4.<\/li>\n\n\n\n<li><code>companies = ['Nvidia', 'Apple', ...]<\/code>: \uadf8\ub798\ud504\uc5d0 \ud45c\uc2dc\ud560 <strong>\uae30\uc220 \ud68c\uc0ac\ub4e4\uc758 \uc774\ub984<\/strong>\uc744 \ub9ac\uc2a4\ud2b8\ub85c \uc815\uc758\ud569\ub2c8\ub2e4.<\/li>\n\n\n\n<li><code>revenue_per_employee = [3600, 2400, ...]<\/code>: \uac01 \ud68c\uc0ac\ubcc4 <strong>\uc9c1\uc6d0 1\uc778\ub2f9 \ub9e4\ucd9c\uc561<\/strong>\uc744 \ucc9c \ub2ec\ub7ec \ub2e8\uc704\ub85c \uc800\uc7a5\ud55c \ub9ac\uc2a4\ud2b8\uc785\ub2c8\ub2e4.<\/li>\n\n\n\n<li><code>profit_per_employee = [2000, 572, ...]<\/code>: \uac01 \ud68c\uc0ac\ubcc4 <strong>\uc9c1\uc6d0 1\uc778\ub2f9 \uc21c\uc774\uc775<\/strong>\uc744 \ucc9c \ub2ec\ub7ec \ub2e8\uc704\ub85c \uc800\uc7a5\ud55c \ub9ac\uc2a4\ud2b8\uc785\ub2c8\ub2e4.<\/li>\n\n\n\n<li><code>fig, (ax1, ax2) = plt.subplots(1, 2, figsize=(14, 8), sharey=True)<\/code>: 1\ud589 2\uc5f4 \uad6c\uc870\uc758 <strong>\uc11c\ube0c\ud50c\ub86f<\/strong>\uc744 \uc0dd\uc131\ud569\ub2c8\ub2e4. \uac00\ub85c 14\uc778\uce58, \uc138\ub85c 8\uc778\uce58 \ud06c\uae30\ub85c \uc124\uc815\ud558\uace0, <code>sharey=True<\/code>\ub85c \ub450 \uadf8\ub798\ud504\uac00 Y\ucd95\uc744 \uacf5\uc720\ud558\ub3c4\ub85d \ud569\ub2c8\ub2e4.<\/li>\n\n\n\n<li><code>fig.suptitle(...)<\/code>: \uc804\uccb4 \uadf8\ub798\ud504\uc758 <strong>\uc0c1\ub2e8 \uc81c\ubaa9<\/strong>\uc744 \uc124\uc815\ud569\ub2c8\ub2e4. \ud3f0\ud2b8 \ud06c\uae30\ub294 24, \uad75\uc740 \uae00\uc528\uccb4\ub85c \ud45c\uc2dc\ud569\ub2c8\ub2e4.<\/li>\n\n\n\n<li><code>bars1 = ax1.barh(companies, revenue_per_employee, color='green', alpha=0.7)<\/code>: \uccab \ubc88\uc9f8 \uc11c\ube0c\ud50c\ub86f\uc5d0 \ud68c\uc0ac\ubcc4 <strong>\uc9c1\uc6d0 1\uc778\ub2f9 \ub9e4\ucd9c<\/strong> \ub370\uc774\ud130\ub97c \ub179\uc0c9 <strong>\uc218\ud3c9 \ub9c9\ub300 \uadf8\ub798\ud504<\/strong>\ub85c \uadf8\ub9bd\ub2c8\ub2e4. \ud22c\uba85\ub3c4\ub294 0.7\ub85c \uc124\uc815\ud569\ub2c8\ub2e4.<\/li>\n\n\n\n<li><code>ax1.set_title(...)<\/code>, <code>ax1.set_xlabel(...)<\/code>: \uccab \ubc88\uc9f8 \uadf8\ub798\ud504\uc758 <strong>\uc81c\ubaa9<\/strong>\uacfc <strong>X\ucd95 \ub77c\ubca8<\/strong>\uc744 \uc124\uc815\ud569\ub2c8\ub2e4.<\/li>\n\n\n\n<li><code>ax1.set_xlim(0, 4000)<\/code>: X\ucd95\uc758 <strong>\ud45c\uc2dc \ubc94\uc704<\/strong>\ub97c 0\ubd80\ud130 4000\uae4c\uc9c0\ub85c \uc81c\ud55c\ud569\ub2c8\ub2e4.<\/li>\n\n\n\n<li><code>ax1.grid(axis='x', linestyle='--', alpha=0.7)<\/code>: X\ucd95\uc744 \ub530\ub77c <strong>\uc810\uc120 \uaca9\uc790<\/strong>\ub97c \ucd94\uac00\ud558\uace0, \ud22c\uba85\ub3c4\ub97c 0.7\ub85c \uc124\uc815\ud569\ub2c8\ub2e4.<\/li>\n\n\n\n<li><code>ax1.invert_yaxis()<\/code>: Y\ucd95 \uc21c\uc11c\ub97c <strong>\uc5ed\uc804<\/strong>\uc2dc\ucf1c \ub370\uc774\ud130 \uac12\uc774 \ub192\uc740 \ud68c\uc0ac\uac00 \uc704\ucabd\uc5d0 \uc624\ub3c4\ub85d \ud569\ub2c8\ub2e4.<\/li>\n\n\n\n<li><code>bars2 = ax2.barh(...)<\/code>: \ub450 \ubc88\uc9f8 \uc11c\ube0c\ud50c\ub86f\uc5d0 \ud68c\uc0ac\ubcc4 <strong>\uc9c1\uc6d0 1\uc778\ub2f9 \uc21c\uc774\uc775<\/strong> \ub370\uc774\ud130\ub97c \uc5f0\ud55c \ub179\uc0c9 <strong>\uc218\ud3c9 \ub9c9\ub300 \uadf8\ub798\ud504<\/strong>\ub85c \uadf8\ub9bd\ub2c8\ub2e4.<\/li>\n\n\n\n<li><code>for ax, bars in zip([ax1, ax2], [bars1, bars2]): ...<\/code>: \ub450 \uadf8\ub798\ud504\uc758 \uac01 \ub9c9\ub300 \ub05d\uc5d0 <strong>\uc218\uce58 \uac12<\/strong>\uc744 \ud45c\uc2dc\ud558\ub294 \ubc18\ubcf5\ubb38\uc785\ub2c8\ub2e4. <code>bar.get_width()<\/code>\ub85c \ub9c9\ub300 \uae38\uc774\ub97c \uac00\uc838\uc624\uace0, \uadf8 \uc704\uce58\uc5d0 \uc815\uc218 \ud615\ud0dc\ub85c \uac12\uc744 \ud45c\uc2dc\ud569\ub2c8\ub2e4.<\/li>\n\n\n\n<li><code>ax1.set_xticks([0, 1000, 2000, 3000])<\/code>: X\ucd95\uc5d0 <strong>\ub208\uae08<\/strong>\uc744 1000 \ub2e8\uc704\ub85c \ud45c\uc2dc\ud569\ub2c8\ub2e4.<\/li>\n\n\n\n<li><code>ax1.spines['top'].set_visible(False)<\/code>: \uadf8\ub798\ud504 \uc0c1\ub2e8\uc758 <strong>\ud14c\ub450\ub9ac\uc120(spine)\uc744 \uc81c\uac70<\/strong>\ud569\ub2c8\ub2e4. \ub9c8\ucc2c\uac00\uc9c0\ub85c \uc624\ub978\ucabd\uacfc \uc67c\ucabd \ud14c\ub450\ub9ac\uc120\ub3c4 \uc81c\uac70\ud558\uc5ec X\ucd95 \uc120\ub9cc \ub0a8\ub3c4\ub85d \ud569\ub2c8\ub2e4.<\/li>\n\n\n\n<li><code>ax1.tick_params(axis='y', which='both', length=0)<\/code>: Y\ucd95\uc758 <strong>\ub208\uae08 \ud45c\uc2dc\uc120<\/strong>\uc744 \uc81c\uac70\ud558\uba74\uc11c\ub3c4 \ub808\uc774\ube14\uc740 \uc720\uc9c0\ud569\ub2c8\ub2e4.<\/li>\n\n\n\n<li><code>fig.text(...)<\/code>: \uadf8\ub798\ud504 \ud558\ub2e8\uc5d0 <strong>\ubd80\uac00 \uc124\uba85<\/strong>\uc744 \uc774\ud0e4\ub9ad\uccb4\ub85c \ucd94\uac00\ud569\ub2c8\ub2e4.<\/li>\n\n\n\n<li><code>plt.tight_layout()<\/code>: \uadf8\ub798\ud504 \uc694\uc18c\ub4e4 \uac04\uc758 <strong>\uac04\uaca9\uc744 \ucd5c\uc801\ud654<\/strong>\ud569\ub2c8\ub2e4.<\/li>\n\n\n\n<li><code>plt.subplots_adjust(top=0.88, bottom=0.1)<\/code>: \uadf8\ub798\ud504\uc758 <strong>\uc0c1\ud558 \uc5ec\ubc31<\/strong>\uc744 \ubbf8\uc138 \uc870\uc815\ud569\ub2c8\ub2e4.<\/li>\n\n\n\n<li><code>plt.show()<\/code>: \uc644\uc131\ub41c \uadf8\ub798\ud504\ub97c <strong>\ud654\uba74\uc5d0 \ud45c\uc2dc<\/strong>\ud569\ub2c8\ub2e4.<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">Plotly\ub85c \ub300\ud654\ud615 \uc2dc\uac01\ud654 \ud558\uae30<\/h2>\n\n\n<style>.kb-image5116_07ef4e-0b .kb-image-has-overlay:after{opacity:0.3;border-top-left-radius:5px;border-top-right-radius:5px;border-bottom-right-radius:5px;border-bottom-left-radius:5px;}.kb-image5116_07ef4e-0b img.kb-img, .kb-image5116_07ef4e-0b .kb-img img{border-top-left-radius:5px;border-top-right-radius:5px;border-bottom-right-radius:5px;border-bottom-left-radius:5px;box-shadow:0px 0px 14px 0px rgba(0, 0, 0, 0.2);}<\/style>\n<div class=\"wp-block-kadence-image kb-image5116_07ef4e-0b\"><figure class=\"aligncenter size-full\"><img decoding=\"async\" width=\"1011\" height=\"595\" src=\"https:\/\/secondlife.lol\/wp-content\/uploads\/2025\/03\/image.jpg\" alt=\"plotly \uc774\uc6a9 \ub9e4\ucd9c \uc21c\uc774\uc775 \ube44\uad50 \uadf8\ub798\ud504\" class=\"kb-img wp-image-5120\" srcset=\"https:\/\/secondlife.lol\/wp-content\/uploads\/2025\/03\/image.jpg 1011w, https:\/\/secondlife.lol\/wp-content\/uploads\/2025\/03\/image-300x177.jpg 300w, https:\/\/secondlife.lol\/wp-content\/uploads\/2025\/03\/image-600x353.jpg 600w, https:\/\/secondlife.lol\/wp-content\/uploads\/2025\/03\/image-768x452.jpg 768w, https:\/\/secondlife.lol\/wp-content\/uploads\/2025\/03\/image-18x12.jpg 18w\" sizes=\"(max-width: 1011px) 100vw, 1011px\" \/><\/figure><\/div>\n\n\n\n<p class=\"wp-block-paragraph\">\uc774\ubc88\uc5d0\ub294 <strong>Plotly<\/strong>\ub97c \uc0ac\uc6a9\ud558\uc5ec \uac19\uc740 \ub370\uc774\ud130\ub97c \uc2dc\uac01\ud654\ud574\ubcf4\uaca0\uc2b5\ub2c8\ub2e4. Plotly\ub294 <strong>\ub300\ud654\ud615(interactive)<\/strong> \uadf8\ub798\ud504\ub97c \uc190\uc27d\uac8c \ub9cc\ub4e4 \uc218 \uc788\ub294 \ud30c\uc774\uc36c \ub77c\uc774\ube0c\ub7ec\ub9ac\uc785\ub2c8\ub2e4. Matplotlib\uc774 \uc815\uc801\uc778 \uc774\ubbf8\uc9c0 \uadf8\ub798\ud504\ub97c \uadf8\ub9b0\ub2e4\uba74, Plotly\ub294 \ub9c8\uc6b0\uc2a4\ub85c <strong>\uac12\uc744 \ud655\uc778<\/strong>\ud558\uac70\ub098 <strong>\uadf8\ub798\ud504 \uc601\uc5ed\uc744 \ud655\ub300<\/strong>\ud558\ub294 \ub4f1\uc758 \uc0c1\ud638\uc791\uc6a9\uc774 \uac00\ub2a5\ud55c \uadf8\ub798\ud504\ub97c \ub9cc\ub4e4\uc5b4\uc90d\ub2c8\ub2e4. <\/p>\n\n\n\n<pre class=\"wp-block-code language-python\"><code>import plotly.graph_objects as go\nfrom plotly.subplots import make_subplots\n\n# \ub370\uc774\ud130 \uc124\uc815 (\ub2e8\uc704: \ucc9c \ub2ec\ub7ec)\ncompanies = &#91;'Nvidia', 'Apple', 'Meta', 'Alphabet', 'Broadcom', 'Microsoft', 'Tesla', 'Amazon']\nrevenue_per_employee = &#91;3600, 2400, 2200, 1900, 1400, 1100, 777, 410]\nprofit_per_employee = &#91;2000, 572, 842, 546, 159, 387, 57, 38]\n\n# \uc11c\ube0c\ud50c\ub86f \uc0dd\uc131\nfig = make_subplots(\n    rows=1, cols=2,\n    subplot_titles=('Revenue Per Employee ($K)', 'Net Income Per Employee ($K)'),\n    shared_yaxes=True,\n    horizontal_spacing=0.05\n)\n\n# \uccab \ubc88\uc9f8 \uadf8\ub798\ud504: \uc9c1\uc6d0 1\uc778\ub2f9 \ub9e4\ucd9c\nfig.add_trace(\n    go.Bar(\n        y=companies,\n        x=revenue_per_employee,\n        orientation='h',\n        text=revenue_per_employee,\n        textposition='outside',\n        marker=dict(color='green', opacity=0.7),\n        hovertemplate='&lt;b>%{y}&lt;\/b>&lt;br>Revenue: $%{x}K per employee&lt;extra>&lt;\/extra>'\n    ),\n    row=1, col=1\n)\n\n# \ub450 \ubc88\uc9f8 \uadf8\ub798\ud504: \uc9c1\uc6d0 1\uc778\ub2f9 \uc21c\uc774\uc775\nfig.add_trace(\n    go.Bar(\n        y=companies,\n        x=profit_per_employee,\n        orientation='h',\n        text=profit_per_employee,\n        textposition='outside',\n        marker=dict(color='lightgreen', opacity=0.7),\n        hovertemplate='&lt;b>%{y}&lt;\/b>&lt;br>Net Income: $%{x}K per employee&lt;extra>&lt;\/extra>'\n    ),\n    row=1, col=2\n)\n\n# \uc804\uccb4 \ub808\uc774\uc544\uc6c3 \uc124\uc815\nfig.update_layout(\n    title=dict(\n        text='Tech Companies: Revenue and Net Income Per Employee (2024)',\n        font=dict(size=24, family='Arial', color='black'),\n        x=0.5\n    ),\n    height=600,\n    width=1000,\n    showlegend=False,\n    annotations=&#91;\n        dict(\n            text=\"Values shown in thousands of dollars ($K) per employee&lt;br>Data for 2024 fiscal year\",\n            showarrow=False,\n            xref=\"paper\",\n            yref=\"paper\",\n            x=0.5,\n            y=-0.15,\n            font=dict(size=12, style='italic')\n        )\n    ]\n)\n\n# X\ucd95 \uc124\uc815\nfig.update_xaxes(\n    range=&#91;0, 4000],\n    gridcolor='lightgray',\n    gridwidth=1,\n    griddash='dash',\n    showline=True,\n    linecolor='black',\n    row=1, col=1\n)\n\nfig.update_xaxes(\n    range=&#91;0, 4000],\n    gridcolor='lightgray',\n    gridwidth=1,\n    griddash='dash',\n    showline=True,\n    linecolor='black',\n    row=1, col=2\n)\n\n# Y\ucd95 \uc124\uc815 (\ud504\ub808\uc784 \uc81c\uac70)\nfig.update_yaxes(\n    showline=False,\n    showgrid=False,\n    zeroline=False,\n    autorange='reversed'  # \ub192\uc740 \uac12\uc774 \uc704\uc5d0 \uc624\ub3c4\ub85d \uc5ed\uc21c \uc815\ub82c\n)\n\n# \uadf8\ub798\ud504 \ud45c\uc2dc\nfig.show()<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\ucf54\ub4dc \ud574\uc124:<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><code>import plotly.graph_objects as go<\/code>: \ub300\ud654\ud615 \uc2dc\uac01\ud654\ub97c \uc704\ud55c <strong>Plotly \ub77c\uc774\ube0c\ub7ec\ub9ac<\/strong>\uc758 graph_objects \ubaa8\ub4c8\uc744 <code>go<\/code>\ub77c\ub294 \uc774\ub984\uc73c\ub85c \uac00\uc838\uc635\ub2c8\ub2e4.<\/li>\n\n\n\n<li><code>from plotly.subplots import make_subplots<\/code>: Plotly\uc5d0\uc11c <strong>\uc5ec\ub7ec \uac1c\uc758 \uc11c\ube0c\ud50c\ub86f<\/strong>\uc744 \ub9cc\ub4e4\uae30 \uc704\ud55c \ud568\uc218\ub97c \uac00\uc838\uc635\ub2c8\ub2e4.<\/li>\n\n\n\n<li><code>companies = ['Nvidia', 'Apple', ...]<\/code>: \uadf8\ub798\ud504\uc5d0 \ud45c\uc2dc\ud560 <strong>\uae30\uc220 \ud68c\uc0ac\ub4e4\uc758 \uc774\ub984<\/strong>\uc744 \ub9ac\uc2a4\ud2b8\ub85c \uc815\uc758\ud569\ub2c8\ub2e4.<\/li>\n\n\n\n<li><code>revenue_per_employee = [3600, 2400, ...]<\/code>: \uac01 \ud68c\uc0ac\ubcc4 <strong>\uc9c1\uc6d0 1\uc778\ub2f9 \ub9e4\ucd9c\uc561<\/strong>\uc744 \ucc9c \ub2ec\ub7ec \ub2e8\uc704\ub85c \uc800\uc7a5\ud55c \ub9ac\uc2a4\ud2b8\uc785\ub2c8\ub2e4.<\/li>\n\n\n\n<li><code>profit_per_employee = [2000, 572, ...]<\/code>: \uac01 \ud68c\uc0ac\ubcc4 <strong>\uc9c1\uc6d0 1\uc778\ub2f9 \uc21c\uc774\uc775<\/strong>\uc744 \ucc9c \ub2ec\ub7ec \ub2e8\uc704\ub85c \uc800\uc7a5\ud55c \ub9ac\uc2a4\ud2b8\uc785\ub2c8\ub2e4.<\/li>\n\n\n\n<li><code>fig = make_subplots(...)<\/code>: 1\ud589 2\uc5f4 \uad6c\uc870\uc758 <strong>\uc11c\ube0c\ud50c\ub86f<\/strong>\uc744 \uc0dd\uc131\ud569\ub2c8\ub2e4. <code>subplot_titles<\/code>\ub85c \uac01 \uadf8\ub798\ud504\uc758 \uc81c\ubaa9\uc744 \uc124\uc815\ud558\uace0, <code>shared_yaxes=True<\/code>\ub85c Y\ucd95\uc744 \uacf5\uc720\ud558\ub3c4\ub85d \ud569\ub2c8\ub2e4.<\/li>\n\n\n\n<li><code>fig.add_trace(go.Bar(...), row=1, col=1)<\/code>: \uccab \ubc88\uc9f8 \uc11c\ube0c\ud50c\ub86f\uc5d0 <strong>\uc218\ud3c9 \ub9c9\ub300 \uadf8\ub798\ud504<\/strong>\ub97c \ucd94\uac00\ud569\ub2c8\ub2e4. <code>orientation='h'<\/code>\ub85c \uc218\ud3c9 \ubc29\ud5a5\uc744 \uc9c0\uc815\ud558\uace0, <code>text<\/code>\uc640 <code>textposition<\/code>\uc73c\ub85c \uac12\uc744 \ub9c9\ub300 \ubc14\uae65\uc5d0 \ud45c\uc2dc\ud569\ub2c8\ub2e4.<\/li>\n\n\n\n<li><code>marker=dict(color='green', opacity=0.7)<\/code>: \ub9c9\ub300 \ucc28\ud2b8\uc758 <strong>\uc0c9\uc0c1<\/strong>\uacfc <strong>\ud22c\uba85\ub3c4<\/strong>\ub97c \uc124\uc815\ud569\ub2c8\ub2e4.<\/li>\n\n\n\n<li><code>hovertemplate='&lt;b>%{y}&lt;\/b>&lt;br>Revenue: $%{x}K per employee&lt;extra>&lt;\/extra>'<\/code>: \ub9c8\uc6b0\uc2a4\ub97c \uc62c\ub838\uc744 \ub54c \ud45c\uc2dc\ub418\ub294 <strong>\ud638\ubc84 \uc815\ubcf4<\/strong>\uc758 \ud615\uc2dd\uc744 \uc9c0\uc815\ud569\ub2c8\ub2e4.<\/li>\n\n\n\n<li><code>fig.add_trace(..., row=1, col=2)<\/code>: \ub450 \ubc88\uc9f8 \uc11c\ube0c\ud50c\ub86f\uc5d0 <strong>\uc21c\uc774\uc775 \ub370\uc774\ud130<\/strong>\ub97c \ub3d9\uc77c\ud55c \ubc29\uc2dd\uc73c\ub85c \ucd94\uac00\ud569\ub2c8\ub2e4.<\/li>\n\n\n\n<li><code>fig.update_layout(...)<\/code>: \uadf8\ub798\ud504\uc758 <strong>\uc804\uccb4 \ub808\uc774\uc544\uc6c3<\/strong>\uc744 \uc124\uc815\ud569\ub2c8\ub2e4. \uc81c\ubaa9, \ud06c\uae30, \ubc94\ub840 \ud45c\uc2dc \uc5ec\ubd80 \ub4f1\uc744 \uc9c0\uc815\ud569\ub2c8\ub2e4.<\/li>\n\n\n\n<li><code>annotations=[dict(...)]<\/code>: \uadf8\ub798\ud504 \ud558\ub2e8\uc5d0 <strong>\ubd80\uac00 \uc124\uba85<\/strong>\uc744 \ucd94\uac00\ud569\ub2c8\ub2e4. <code>xref=\"paper\"<\/code>\uc640 <code>yref=\"paper\"<\/code>\ub85c \uc804\uccb4 \uadf8\ub798\ud504 \uc601\uc5ed \uae30\uc900\uc73c\ub85c \uc704\uce58\ub97c \uc9c0\uc815\ud569\ub2c8\ub2e4.<\/li>\n\n\n\n<li><code>fig.update_xaxes(...)<\/code>: X\ucd95\uc758 <strong>\ubc94\uc704<\/strong>, <strong>\uaca9\uc790\uc120 \uc2a4\ud0c0\uc77c<\/strong>, <strong>\uc120 \uc0c9\uc0c1<\/strong> \ub4f1\uc744 \uc124\uc815\ud569\ub2c8\ub2e4. <code>griddash='dash'<\/code>\ub85c \uc810\uc120 \uaca9\uc790\ub97c \uad6c\ud604\ud569\ub2c8\ub2e4.<\/li>\n\n\n\n<li><code>fig.update_yaxes(showline=False, ...)<\/code>: Y\ucd95\uc758 <strong>\ud14c\ub450\ub9ac\uc120\uc744 \uc81c\uac70<\/strong>\ud558\uace0, \uaca9\uc790\uc120\uacfc \uc601\uc810\uc120\ub3c4 \uc228\uae41\ub2c8\ub2e4. <code>autorange='reversed'<\/code>\ub85c \ub370\uc774\ud130 \uac12\uc774 \ub192\uc740 \ud68c\uc0ac\uac00 \uc704\ucabd\uc5d0 \uc624\ub3c4\ub85d \uc5ed\uc21c \uc815\ub82c\ud569\ub2c8\ub2e4.<\/li>\n\n\n\n<li><code>fig.show()<\/code>: \uc644\uc131\ub41c <strong>\ub300\ud654\ud615 \uadf8\ub798\ud504<\/strong>\ub97c \ud45c\uc2dc\ud569\ub2c8\ub2e4. \uc774 \uadf8\ub798\ud504\ub294 \ub9c8\uc6b0\uc2a4 \ud638\ubc84 \uae30\ub2a5, \ud655\ub300\/\ucd95\uc18c, \uc774\ubbf8\uc9c0 \uc800\uc7a5 \ub4f1 Plotly\uc758 \ub300\ud654\ud615 \uae30\ub2a5\uc744 \ubaa8\ub450 \uc9c0\uc6d0\ud569\ub2c8\ub2e4.<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">\uacb0\ub860: \ub370\uc774\ud130 \uc2dc\uac01\ud654\uc758 \uc911\uc694\uc131<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">\ub9e4\ucd9c\uacfc \uc21c\uc774\uc775 \uac19\uc774 \uc911\uc694\ud55c \ube44\uc988\ub2c8\uc2a4 \uc9c0\ud45c\ub97c <strong>\uc2dc\uac01\ud654<\/strong>\ud558\uba74 \uc22b\uc790 \ud45c\ub9cc \ubcfc \ub54c\ubcf4\ub2e4 \ud6e8\uc52c \uc27d\uac8c \ub0b4\uc6a9\uc744 \uc774\ud574\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4. \uc704\uc5d0\uc11c \uc0b4\ud3b4\ubcf8 \uac83\ucc98\ub7fc Python\uc758 Matplotlib\uacfc Plotly\ub97c \uc774\uc6a9\ud558\uba74 \ucd08\ubcf4\uc790\ub3c4 \ube44\uad50\uc801 \uac04\ub2e8\ud55c \ucf54\ub4dc\ub85c \uba4b\uc9c4 \uadf8\ub798\ud504\ub97c \uadf8\ub9b4 \uc218 \uc788\uc2b5\ub2c8\ub2e4. <\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Matplotlib\uc740 <strong>\uc815\uc801 \uc774\ubbf8\uc9c0<\/strong>\ub85c\uc11c \ubcf4\uace0\uc11c\ub098 \ubb38\uc11c\uc5d0 \ub123\uae30 \uc88b\uace0, Plotly\ub294 <strong>\uc778\ud130\ub799\ud2f0\ube0c \ucc28\ud2b8<\/strong>\ub85c \uc6f9\uc5d0\uc11c \uc2e4\uc2dc\uac04 \ubd84\uc11d\uc5d0 \uc720\uc6a9\ud569\ub2c8\ub2e4. \ub458 \ub2e4 \uc7a5\ub2e8\uc810\uc774 \uc788\uc73c\ub2c8 \uc0c1\ud669\uc5d0 \ub9de\uac8c \ud65c\uc6a9\ud558\uba74 \uc88b\uaca0\uc2b5\ub2c8\ub2e4. \ud83d\ude42 \ub370\uc774\ud130 \uc2dc\uac01\ud654\ub294 \ub9ce\uc740 \uc591\uc758 \uc815\ubcf4\ub97c \ud6a8\uacfc\uc801\uc73c\ub85c \uc804\ub2ec\ud558\uace0 \uc778\uc0ac\uc774\ud2b8\ub97c \uc5bb\ub294 \uac15\ub825\ud55c \ub3c4\uad6c\uc785\ub2c8\ub2e4. <\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\uc55e\uc73c\ub85c \ub2e4\uc591\ud55c \ub370\uc774\ud130\uc5d0 \uc801\uc6a9\ud574 \ubcf4\uba74\uc11c \ub354 \ubcf5\uc7a1\ud55c \uadf8\ub798\ud504 \uadf8\ub9ac\uae30\ub098 \ub2e4\ub978 \ub77c\uc774\ube0c\ub7ec\ub9ac(\uc608: Seaborn, <a href=\"https:\/\/secondlife.lol\/ggplot2-intro\/\" data-type=\"post\" data-id=\"3055\">ggplot<\/a> \ub4f1)\ub3c4 \ub3c4\uc804\ud574 \ubcf4\uc138\uc694. <strong>\uc9c0\uc18d\uc801\uc778 \uc5f0\uc2b5\uc640 \ud559\uc2b5<\/strong>\uc774 \ub370\uc774\ud130\ub97c \uc774\ud574\ud558\ub294 \ub208\uc744 \ub354\uc6b1 \ud0a4\uc6cc\uc904 \uac83\uc785\ub2c8\ub2e4!<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">\uc6a9\uc5b4 \ud574\uc124<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>\ub9e4\ucd9c (Revenue)<\/strong>: \uae30\uc5c5\uc774 \uc81c\ud488\uc774\ub098 \uc11c\ube44\uc2a4\ub97c \ud310\ub9e4\ud558\uace0 \uc5bb\uc740 <strong>\ucd1d \uc218\uc785<\/strong>\uc785\ub2c8\ub2e4. \uc608\ub97c \ub4e4\uc5b4 \ubb3c\uac74\uc744 100\ub9cc \uc6d0\uc5b4\uce58 \ud314\uc558\ub2e4\uba74 \ub9e4\ucd9c\uc740 100\ub9cc \uc6d0\uc785\ub2c8\ub2e4.<\/li>\n\n\n\n<li><strong>\uc21c\uc774\uc775 (Net Profit)<\/strong>: \ub9e4\ucd9c\uc5d0\uc11c \ube44\uc6a9\uc744 \ubaa8\ub450 \ube7c\uace0 <strong>\ucd5c\uc885\uc801\uc73c\ub85c \ub0a8\ub294 \uc774\uc775<\/strong>\uc785\ub2c8\ub2e4. \uc21c\uc774\uc775\uc740 \ub9e4\ucd9c\uc5d0\uc11c \uc6d0\uac00, \uc6b4\uc601\ube44, \uc138\uae08 \ub4f1 \ubaa8\ub4e0 \uc9c0\ucd9c\uc744 \uc81c\uc678\ud55c \uae08\uc561\uc785\ub2c8\ub2e4.<\/li>\n\n\n\n<li><strong>\ub370\uc774\ud130 \uc2dc\uac01\ud654<\/strong>: \ub370\uc774\ud130\ub97c \ud45c\ub098 \ubb38\uc7a5\uc774 \uc544\ub2cc <strong>\ucc28\ud2b8\ub098 \uadf8\ub798\ud504 \ud615\ud0dc\ub85c \ud45c\ud604<\/strong>\ud558\ub294 \uac83\uc744 \ub9d0\ud569\ub2c8\ub2e4. \uc2dc\uac01\ud654\ub97c \ud1b5\ud574 \ubcf5\uc7a1\ud55c \ub370\uc774\ud130\ub3c4 \uc27d\uac8c \uc774\ud574\ud558\uace0 \uc778\uc0ac\uc774\ud2b8\ub97c \uc5bb\uc744 \uc218 \uc788\uc2b5\ub2c8\ub2e4.<\/li>\n\n\n\n<li><strong><a href=\"https:\/\/matplotlib.org\/\" target=\"_blank\" rel=\"noopener\">Matplotlib<\/a><\/strong>: \ud30c\uc774\uc36c\uc5d0\uc11c \uc0ac\uc6a9\ud558\ub294 <strong>\ub300\ud45c\uc801\uc778 \ub370\uc774\ud130 \uc2dc\uac01\ud654 \ub77c\uc774\ube0c\ub7ec\ub9ac<\/strong>\uc785\ub2c8\ub2e4. \uc120 \uadf8\ub798\ud504, \ub9c9\ub300 \uadf8\ub798\ud504 \ub4f1 \ub2e4\uc591\ud55c \ucc28\ud2b8\ub97c \uadf8\ub9b4 \uc218 \uc788\uc73c\uba70, \ud29c\ub2dd\uacfc \ucee4\uc2a4\ud130\ub9c8\uc774\uc9d5\uc774 \uc790\uc720\ub86d\uc2b5\ub2c8\ub2e4.<\/li>\n\n\n\n<li><strong><a href=\"https:\/\/plotly.com\/python\/\" target=\"_blank\" rel=\"noopener\">Plotly<\/a><\/strong>: <strong>\ub300\ud654\ud615 \ub370\uc774\ud130 \uc2dc\uac01\ud654 \ub77c\uc774\ube0c\ub7ec\ub9ac<\/strong>\uc758 \ud558\ub098\ub85c, \uc6f9 \uae30\ubc18\uc758 \uc778\ud130\ub799\ud2f0\ube0c \ucc28\ud2b8\ub97c \uc27d\uac8c \ub9cc\ub4e4 \uc218 \uc788\uc2b5\ub2c8\ub2e4. \uc90c\uc778\/\uc90c\uc544\uc6c3\uc774\ub098 \ub9c8\uc6b0\uc2a4\uc624\ubc84 \uc815\ubcf4 \ud45c\uc2dc \ub4f1 \uc0c1\ud638\uc791\uc6a9 \uae30\ub2a5\uc744 \uc81c\uacf5\ud558\uc5ec \ub370\uc774\ud130 \ubd84\uc11d \uacb0\uacfc\ub97c \ub3d9\uc801\uc73c\ub85c \ud0d0\uc0c9\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4.<\/li>\n<\/ul>\n\n\n<style>.kb-image4457_249bea-0c.kb-image-is-ratio-size, .kb-image4457_249bea-0c .kb-image-is-ratio-size{max-width:300px;width:100%;}.wp-block-kadence-column > .kt-inside-inner-col > .kb-image4457_249bea-0c.kb-image-is-ratio-size, .wp-block-kadence-column > .kt-inside-inner-col > .kb-image4457_249bea-0c .kb-image-is-ratio-size{align-self:unset;}.kb-image4457_249bea-0c figure{max-width:300px;}.kb-image4457_249bea-0c .image-is-svg, .kb-image4457_249bea-0c .image-is-svg img{width:100%;}.kb-image4457_249bea-0c .kb-image-has-overlay:after{opacity:0.3;}<\/style>\n<div class=\"wp-block-kadence-image kb-image4457_249bea-0c\"><figure class=\"aligncenter size-medium\"><img decoding=\"async\" width=\"300\" height=\"300\" src=\"https:\/\/secondlife.lol\/wp-content\/uploads\/2025\/01\/teri-coding-300x300.webp\" alt=\"\ud14c\ub9ac \uc774\ubaa8\ud2f0\ucf58\" class=\"kb-img wp-image-4456\" srcset=\"https:\/\/secondlife.lol\/wp-content\/uploads\/2025\/01\/teri-coding-300x300.webp 300w, https:\/\/secondlife.lol\/wp-content\/uploads\/2025\/01\/teri-coding-600x600.webp 600w, https:\/\/secondlife.lol\/wp-content\/uploads\/2025\/01\/teri-coding-150x150.webp 150w, https:\/\/secondlife.lol\/wp-content\/uploads\/2025\/01\/teri-coding-768x768.webp 768w, https:\/\/secondlife.lol\/wp-content\/uploads\/2025\/01\/teri-coding-12x12.webp 12w, https:\/\/secondlife.lol\/wp-content\/uploads\/2025\/01\/teri-coding.webp 1024w\" sizes=\"(max-width: 300px) 100vw, 300px\" \/><figcaption><strong>( \uc990\uac81\uac8c \ucf54\ub529\uc744 \ud569\uc2dc\ub2e4! )<\/strong><\/figcaption><\/figure><\/div>\n","protected":false},"excerpt":{"rendered":"<p>\uc548\ub155\ud558\uc138\uc694! \uc774\ubc88 \ud3ec\uc2a4\ud2b8\uc5d0\uc11c\ub294 \ub9e4\ucd9c \uc21c\uc774\uc775 \ube44\uad50 \ub370\uc774\ud130\ub97c \ud30c\uc774\uc36c \uc2dc\uac01\ud654\ub85c \uc27d\uac8c&#8230;<\/p>","protected":false},"author":3,"featured_media":5118,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_kad_blocks_custom_css":"","_kad_blocks_head_custom_js":"","_kad_blocks_body_custom_js":"","_kad_blocks_footer_custom_js":"","_kad_post_transparent":"","_kad_post_title":"","_kad_post_layout":"","_kad_post_sidebar_id":"","_kad_post_content_style":"","_kad_post_vertical_padding":"","_kad_post_feature":"","_kad_post_feature_position":"","_kad_post_header":false,"_kad_post_footer":false,"_kad_post_classname":"","footnotes":""},"categories":[3],"tags":[162,908,909,177,164,907,450],"class_list":["post-5116","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-python-coding","tag-matplotlib","tag-plotly","tag-909","tag-177","tag-164","tag-907","tag-450"],"taxonomy_info":{"category":[{"value":3,"label":"\ud30c\uc774\uc36c(Python)"}],"post_tag":[{"value":162,"label":"Matplotlib"},{"value":908,"label":"Plotly"},{"value":909,"label":"\uae30\uc5c5 \uc7ac\ubb34 \ubd84\uc11d"},{"value":177,"label":"\ub370\uc774\ud130 \ubd84\uc11d"},{"value":164,"label":"\ub370\uc774\ud130 \uc2dc\uac01\ud654"},{"value":907,"label":"\ub9e4\ucd9c \uc21c\uc774\uc775 \ube44\uad50"},{"value":450,"label":"\ud30c\uc774\uc36c \uc2dc\uac01\ud654"}]},"featured_image_src_large":["https:\/\/secondlife.lol\/wp-content\/uploads\/2025\/03\/\ub9e4\ucd9c-\uc21c\uc774\uc775-\ube44\uad50-\ud3ec\uc2a4\ud2b8-\uc378\ub124\uc77c-600x600.jpg",600,600,true],"author_info":{"display_name":"TERE","author_link":"https:\/\/secondlife.lol\/ja\/author\/tere\/"},"comment_info":0,"category_info":[{"term_id":3,"name":"\ud30c\uc774\uc36c(Python)","slug":"python-coding","term_group":0,"term_taxonomy_id":3,"taxonomy":"category","description":"","parent":20,"count":119,"filter":"raw","cat_ID":3,"category_count":119,"category_description":"","cat_name":"\ud30c\uc774\uc36c(Python)","category_nicename":"python-coding","category_parent":20}],"tag_info":[{"term_id":162,"name":"Matplotlib","slug":"matplotlib","term_group":0,"term_taxonomy_id":162,"taxonomy":"post_tag","description":"","parent":0,"count":19,"filter":"raw"},{"term_id":908,"name":"Plotly","slug":"plotly","term_group":0,"term_taxonomy_id":908,"taxonomy":"post_tag","description":"","parent":0,"count":1,"filter":"raw"},{"term_id":909,"name":"\uae30\uc5c5 \uc7ac\ubb34 \ubd84\uc11d","slug":"%ea%b8%b0%ec%97%85-%ec%9e%ac%eb%ac%b4-%eb%b6%84%ec%84%9d","term_group":0,"term_taxonomy_id":909,"taxonomy":"post_tag","description":"","parent":0,"count":1,"filter":"raw"},{"term_id":177,"name":"\ub370\uc774\ud130 \ubd84\uc11d","slug":"%eb%8d%b0%ec%9d%b4%ed%84%b0-%eb%b6%84%ec%84%9d","term_group":0,"term_taxonomy_id":177,"taxonomy":"post_tag","description":"","parent":0,"count":36,"filter":"raw"},{"term_id":164,"name":"\ub370\uc774\ud130 \uc2dc\uac01\ud654","slug":"%eb%8d%b0%ec%9d%b4%ed%84%b0-%ec%8b%9c%ea%b0%81%ed%99%94","term_group":0,"term_taxonomy_id":164,"taxonomy":"post_tag","description":"","parent":0,"count":52,"filter":"raw"},{"term_id":907,"name":"\ub9e4\ucd9c \uc21c\uc774\uc775 \ube44\uad50","slug":"%eb%a7%a4%ec%b6%9c-%ec%88%9c%ec%9d%b4%ec%9d%b5-%eb%b9%84%ea%b5%90","term_group":0,"term_taxonomy_id":907,"taxonomy":"post_tag","description":"","parent":0,"count":1,"filter":"raw"},{"term_id":450,"name":"\ud30c\uc774\uc36c \uc2dc\uac01\ud654","slug":"%ed%8c%8c%ec%9d%b4%ec%8d%ac-%ec%8b%9c%ea%b0%81%ed%99%94","term_group":0,"term_taxonomy_id":450,"taxonomy":"post_tag","description":"","parent":0,"count":18,"filter":"raw"}],"_links":{"self":[{"href":"https:\/\/secondlife.lol\/ja\/wp-json\/wp\/v2\/posts\/5116","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/secondlife.lol\/ja\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/secondlife.lol\/ja\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/secondlife.lol\/ja\/wp-json\/wp\/v2\/users\/3"}],"replies":[{"embeddable":true,"href":"https:\/\/secondlife.lol\/ja\/wp-json\/wp\/v2\/comments?post=5116"}],"version-history":[{"count":4,"href":"https:\/\/secondlife.lol\/ja\/wp-json\/wp\/v2\/posts\/5116\/revisions"}],"predecessor-version":[{"id":5123,"href":"https:\/\/secondlife.lol\/ja\/wp-json\/wp\/v2\/posts\/5116\/revisions\/5123"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/secondlife.lol\/ja\/wp-json\/wp\/v2\/media\/5118"}],"wp:attachment":[{"href":"https:\/\/secondlife.lol\/ja\/wp-json\/wp\/v2\/media?parent=5116"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/secondlife.lol\/ja\/wp-json\/wp\/v2\/categories?post=5116"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/secondlife.lol\/ja\/wp-json\/wp\/v2\/tags?post=5116"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}