{"id":476743,"date":"2026-04-21T05:36:34","date_gmt":"2026-04-21T05:36:34","guid":{"rendered":"https:\/\/savepearlharbor.com\/?p=476743"},"modified":"-0001-11-30T00:00:00","modified_gmt":"-0001-11-29T21:00:00","slug":"","status":"publish","type":"post","link":"https:\/\/savepearlharbor.com\/?p=476743","title":{"rendered":"\u0418\u043d\u0442\u0435\u0440\u0430\u043a\u0442\u0438\u0432\u043d\u044b\u0435 \u0433\u0440\u0430\u0444\u0438\u043a\u0438 \u0432 Python: \u0418\u0437\u0443\u0447\u0430\u0435\u043c \u043e\u0441\u043d\u043e\u0432\u043d\u044b\u0435 \u0444\u0438\u0448\u043a\u0438 Plotly"},"content":{"rendered":"<div xmlns=\"http:\/\/www.w3.org\/1999\/xhtml\">\n<h2>1. \u0412\u0432\u0435\u0434\u0435\u043d\u0438\u0435<\/h2>\n<p>\u041f\u043e\u043c\u043d\u0438\u0442\u0435, \u043a\u0430\u043a \u0432\u044b \u0432 \u043e\u0447\u0435\u0440\u0435\u0434\u043d\u043e\u0439 \u0440\u0430\u0437 \u0433\u0443\u0433\u043b\u0438\u043b\u0438, \u043a\u0430\u043a \u043f\u043e\u0432\u0435\u0440\u043d\u0443\u0442\u044c \u043f\u043e\u0434\u043f\u0438\u0441\u0438 \u043e\u0441\u0435\u0439 \u0432 Matplotlib \u043d\u0430 45 \u0433\u0440\u0430\u0434\u0443\u0441\u043e\u0432? \u0418\u043b\u0438 \u043a\u0430\u043a \u043d\u0430 \u0441\u043e\u0437\u0432\u043e\u043d\u0435 \u0432\u0430\u0441 \u043f\u0440\u043e\u0441\u0438\u043b\u0438 \u043e\u0431\u044a\u044f\u0441\u043d\u0438\u0442\u044c \u00ab\u0432\u043e\u043d \u0442\u0443 \u0430\u043d\u043e\u043c\u0430\u043b\u044c\u043d\u0443\u044e \u0442\u043e\u0447\u043a\u0443\u00bb \u043d\u0430 \u043a\u0440\u0430\u0441\u0438\u0432\u043e\u043c \u0433\u0440\u0430\u0444\u0438\u043a\u0435 Seaborn, \u0438 \u0432\u0430\u043c \u043f\u0440\u0438\u0445\u043e\u0434\u0438\u043b\u043e\u0441\u044c \u0441\u0443\u0434\u043e\u0440\u043e\u0436\u043d\u043e \u043b\u0435\u0437\u0442\u044c \u0432 Jupyter \u043f\u0438\u0441\u0430\u0442\u044c \u043d\u043e\u0432\u044b\u0435 \u0444\u0438\u043b\u044c\u0442\u0440\u044b, \u043f\u043e\u0442\u043e\u043c\u0443 \u0447\u0442\u043e \u0433\u0440\u0430\u0444\u0438\u043a \u2014 \u044d\u0442\u043e \u043f\u0440\u043e\u0441\u0442\u043e \u0441\u0442\u0430\u0442\u0438\u0447\u043d\u0430\u044f \u043a\u0430\u0440\u0442\u0438\u043d\u043a\u0430? \u0417\u043d\u0430\u043a\u043e\u043c\u0430\u044f \u0431\u043e\u043b\u044c.<\/p>\n<p>\u0410 \u0442\u0435\u043f\u0435\u0440\u044c \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u044c\u0442\u0435: \u0432\u044b \u043f\u0438\u0448\u0435\u0442\u0435 \u0432\u0441\u0435\u0433\u043e <em>\u043e\u0434\u043d\u0443<\/em> \u0441\u0442\u0440\u043e\u0447\u043a\u0443 \u043a\u043e\u0434\u0430, \u0438 \u0433\u0440\u0430\u0444\u0438\u043a \u043e\u0436\u0438\u0432\u0430\u0435\u0442 \u043f\u0440\u044f\u043c\u043e \u0432 \u0431\u0440\u0430\u0443\u0437\u0435\u0440\u0435. \u041d\u0430\u0432\u043e\u0434\u0438\u0442\u0435 \u043a\u0443\u0440\u0441\u043e\u0440 \u2014 \u043f\u043e\u044f\u0432\u043b\u044f\u044e\u0442\u0441\u044f \u0442\u043e\u0447\u043d\u044b\u0435 \u0446\u0438\u0444\u0440\u044b \u0438 \u043a\u0430\u0442\u0435\u0433\u043e\u0440\u0438\u0438. \u0412\u044b\u0434\u0435\u043b\u044f\u0435\u0442\u0435 \u043e\u0431\u043b\u0430\u0441\u0442\u044c \u043c\u044b\u0448\u043a\u043e\u0439 \u2014 \u0433\u0440\u0430\u0444\u0438\u043a \u043f\u0440\u0438\u0431\u043b\u0438\u0436\u0430\u0435\u0442\u0441\u044f. \u041a\u043b\u0438\u043a\u0430\u0435\u0442\u0435 \u043f\u043e \u043b\u0435\u0433\u0435\u043d\u0434\u0435 \u2014 \u0441\u043a\u0440\u044b\u0432\u0430\u044e\u0442\u0441\u044f \u043b\u0438\u0448\u043d\u0438\u0435 \u0434\u0430\u043d\u043d\u044b\u0435.<\/p>\n<p>\u0412\u0441\u0451 \u044d\u0442\u043e \u0443\u043c\u0435\u0435\u0442 <strong>Plotly<\/strong>.<\/p>\n<p>\u0412 \u044d\u0442\u043e\u0439 \u0441\u0442\u0430\u0442\u044c\u0435 \u043d\u0435 \u0431\u0443\u0434\u0435\u0442 \u0430\u043a\u0430\u0434\u0435\u043c\u0438\u0447\u0435\u0441\u043a\u043e\u0439 \u0432\u043e\u0434\u044b \u0438 \u0431\u0435\u0441\u043a\u043e\u043d\u0435\u0447\u043d\u043e\u0439 \u0442\u0435\u043e\u0440\u0438\u0438. \u041c\u044b \u043f\u0440\u043e\u0441\u0442\u043e \u0432\u043e\u0437\u044c\u043c\u0435\u043c \u0438 \u043f\u0440\u043e\u0439\u0434\u0435\u043c \u043f\u0443\u0442\u044c \u043e\u0442 \u0431\u0430\u0437\u043e\u0432\u044b\u0445 \u0432\u0438\u0437\u0443\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0439 \u0434\u043e \u043c\u043e\u0449\u043d\u044b\u0445 \u0430\u043d\u0438\u043c\u0430\u0446\u0438\u0439 \u0441 \u043f\u043e\u043b\u0437\u0443\u043d\u043a\u0430\u043c\u0438 \u0438 \u043a\u043d\u043e\u043f\u043a\u0430\u043c\u0438. \u042f \u0441\u043e\u0431\u0440\u0430\u043b \u043a\u043e\u043d\u0446\u0435\u043d\u0442\u0440\u0430\u0442 \u0444\u0438\u0448\u0435\u043a, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0437\u0430\u043a\u0440\u043e\u044e\u0442 95% \u0432\u0430\u0448\u0438\u0445 \u043f\u043e\u0432\u0441\u0435\u0434\u043d\u0435\u0432\u043d\u044b\u0445 \u0437\u0430\u0434\u0430\u0447.<\/p>\n<p>\u0421\u043a\u043e\u0440\u0435\u0435 \u0432\u0441\u0435\u0433\u043e, \u043f\u043e\u0441\u043b\u0435 \u044d\u0442\u043e\u0433\u043e \u0442\u0443\u0442\u043e\u0440\u0438\u0430\u043b\u0430 \u0432\u044b \u0431\u043e\u043b\u044c\u0448\u0435 \u043d\u0435 \u0437\u0430\u0445\u043e\u0442\u0438\u0442\u0435 \u043f\u0438\u0441\u0430\u0442\u044c <code>import matplotlib.pyplot as plt<\/code>. \u041f\u043e\u0435\u0445\u0430\u043b\u0438!<\/p>\n<h2>2. \u041f\u043e\u0434\u0433\u043e\u0442\u043e\u0432\u043a\u0430 \u0438 \u0411\u0430\u0437\u0430: \u0414\u0432\u0435 \u0441\u0442\u043e\u0440\u043e\u043d\u044b \u043e\u0434\u043d\u043e\u0439 \u043c\u0435\u0434\u0430\u043b\u0438<\/h2>\n<p>\u0413\u043b\u0430\u0432\u043d\u043e\u0435 \u043f\u0440\u0430\u0432\u0438\u043b\u043e \u0445\u043e\u0440\u043e\u0448\u0435\u0433\u043e \u0442\u0443\u0442\u043e\u0440\u0438\u0430\u043b\u0430 \u2014 \u043a\u043e\u0434 \u0434\u043e\u043b\u0436\u0435\u043d \u0437\u0430\u043f\u0443\u0441\u043a\u0430\u0442\u044c\u0441\u044f \u0443 \u0447\u0438\u0442\u0430\u0442\u0435\u043b\u044f \u0441\u0440\u0430\u0437\u0443, \u0431\u0435\u0437 \u0442\u0430\u043d\u0446\u0435\u0432 \u0441 \u0431\u0443\u0431\u043d\u043e\u043c \u0438 \u0441\u043a\u0430\u0447\u0438\u0432\u0430\u043d\u0438\u044f \u043c\u0443\u0442\u043d\u044b\u0445 CSV-\u0444\u0430\u0439\u043b\u043e\u0432. \u041f\u043e\u044d\u0442\u043e\u043c\u0443 \u043c\u044b \u0431\u0443\u0434\u0435\u043c \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0432\u0441\u0442\u0440\u043e\u0435\u043d\u043d\u044b\u0435 \u0434\u0430\u0442\u0430\u0441\u0435\u0442\u044b.<\/p>\n<p>\u0414\u043b\u044f \u043d\u0430\u0447\u0430\u043b\u0430 \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u043c \u0432\u0441\u0451 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e\u0435. \u0415\u0441\u043b\u0438 \u0432\u044b \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442\u0435 \u0432 Jupyter Notebook \u0438\u043b\u0438 Google Colab, \u0432\u0430\u043c \u043f\u043e\u043d\u0430\u0434\u043e\u0431\u044f\u0442\u0441\u044f:<\/p>\n<pre><code class=\"bash\">pip install plotly pandas<\/code><div class=\"code-explainer\"><a href=\"https:\/\/sourcecraft.dev\/\" class=\"tm-button code-explainer__link\" style=\"visibility: hidden;\"><img style=\"width:87px;height:14px;object-fit:cover;object-position:left;\"\/><\/a><\/div><\/pre>\n<p><em>(\u041f\u0440\u0438\u043c\u0435\u0447\u0430\u043d\u0438\u0435: \u0432 \u0441\u043e\u0432\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0445 \u0432\u0435\u0440\u0441\u0438\u044f\u0445 Colab Plotly \u0443\u0436\u0435 \u043f\u0440\u0435\u0434\u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043b\u0435\u043d, \u043c\u043e\u0436\u043d\u043e \u0441\u0440\u0430\u0437\u0443 \u0438\u043c\u043f\u043e\u0440\u0442\u0438\u0440\u043e\u0432\u0430\u0442\u044c).<\/em><\/p>\n<p>\u0422\u0435\u043f\u0435\u0440\u044c \u0434\u0430\u0432\u0430\u0439\u0442\u0435 \u0440\u0430\u0437\u0431\u0435\u0440\u0435\u043c \u0433\u043b\u0430\u0432\u043d\u044b\u0439 \u043a\u043e\u043d\u0446\u0435\u043f\u0442\u0443\u0430\u043b\u044c\u043d\u044b\u0439 \u0441\u0435\u043a\u0440\u0435\u0442 Plotly. \u0412\u0441\u044f \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0430 \u0441\u0442\u0440\u043e\u0438\u0442\u0441\u044f \u0432\u043e\u043a\u0440\u0443\u0433 \u0434\u0432\u0443\u0445 \u043e\u0441\u043d\u043e\u0432\u043d\u044b\u0445 \u043c\u043e\u0434\u0443\u043b\u0435\u0439, \u0438 \u0432\u0430\u0436\u043d\u043e \u0441\u0440\u0430\u0437\u0443 \u043f\u043e\u043d\u0438\u043c\u0430\u0442\u044c \u0440\u0430\u0437\u043d\u0438\u0446\u0443 \u043c\u0435\u0436\u0434\u0443 \u043d\u0438\u043c\u0438:<\/p>\n<ol>\n<li>\n<p><strong>Plotly Express (<\/strong><code><strong>import plotly.express as px<\/strong><\/code><strong>)<\/strong> \u2014 \u044d\u0442\u043e \u0432\u0430\u0448\u0430 \u0432\u043e\u043b\u0448\u0435\u0431\u043d\u0430\u044f \u043f\u0430\u043b\u043e\u0447\u043a\u0430. \u041e\u0431\u0435\u0440\u0442\u043a\u0430 \u0432\u044b\u0441\u043e\u043a\u043e\u0433\u043e \u0443\u0440\u043e\u0432\u043d\u044f, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \u0441\u0442\u0440\u043e\u0438\u0442\u044c \u0441\u043b\u043e\u0436\u043d\u0435\u0439\u0448\u0438\u0435 \u0433\u0440\u0430\u0444\u0438\u043a\u0438 \u0432 \u043e\u0434\u043d\u0443 \u0441\u0442\u0440\u043e\u043a\u0443 \u043a\u043e\u0434\u0430. \u041e\u043d\u0430 \u0431\u0435\u0440\u0435\u0442 \u043d\u0430 \u0441\u0435\u0431\u044f \u0432\u0441\u044e \u0433\u0440\u044f\u0437\u043d\u0443\u044e \u0440\u0430\u0431\u043e\u0442\u0443 (\u0446\u0432\u0435\u0442\u0430, \u043b\u0435\u0433\u0435\u043d\u0434\u044b, \u043e\u0441\u0438) \u0438 \u0438\u0434\u0435\u0430\u043b\u044c\u043d\u043e \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442 \u0441 Pandas DataFrame. \u0412 95% \u043f\u043e\u0432\u0441\u0435\u0434\u043d\u0435\u0432\u043d\u044b\u0445 \u0437\u0430\u0434\u0430\u0447 \u0432\u0430\u043c \u043d\u0443\u0436\u0435\u043d \u0438\u043c\u0435\u043d\u043d\u043e Express.<\/p>\n<\/li>\n<li>\n<p><strong>Graph Objects (<\/strong><code><strong>import plotly.graph_objects as go<\/strong><\/code><strong>)<\/strong> \u2014 \u044d\u0442\u043e \u043a\u043e\u043d\u0441\u0442\u0440\u0443\u043a\u0442\u043e\u0440 Lego \u0434\u043b\u044f \u0445\u0430\u0440\u0434\u043a\u043e\u0440\u0449\u0438\u043a\u043e\u0432. \u0417\u0434\u0435\u0441\u044c \u0432\u044b \u0432\u0440\u0443\u0447\u043d\u0443\u044e \u0441\u043e\u0431\u0438\u0440\u0430\u0435\u0442\u0435 \u0433\u0440\u0430\u0444\u0438\u043a \u043f\u043e \u043a\u0443\u0441\u043e\u0447\u043a\u0430\u043c: \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u043e \u0441\u043e\u0437\u0434\u0430\u0435\u0442\u0435 \u0444\u0438\u0433\u0443\u0440\u0443 (<code>Figure<\/code>), \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u043e \u0434\u043e\u0431\u0430\u0432\u043b\u044f\u0435\u0442\u0435 \u043d\u0430 \u043d\u0435\u0435 \u0441\u043b\u043e\u0438-\u0442\u0440\u0430\u0441\u0441\u044b (<code>add_trace<\/code>), \u0432\u0440\u0443\u0447\u043d\u0443\u044e \u043d\u0430\u0441\u0442\u0440\u0430\u0438\u0432\u0430\u0435\u0442\u0435 \u043c\u0430\u043a\u0435\u0442 (<code>Layout<\/code>). \u041a\u043e\u0434\u0430 \u043f\u043e\u043b\u0443\u0447\u0430\u0435\u0442\u0441\u044f \u0431\u043e\u043b\u044c\u0448\u0435, \u043d\u043e \u0437\u0430\u0442\u043e \u0432\u044b \u043c\u043e\u0436\u0435\u0442\u0435 \u043a\u0430\u0441\u0442\u043e\u043c\u0438\u0437\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0430\u0431\u0441\u043e\u043b\u044e\u0442\u043d\u043e \u043b\u044e\u0431\u043e\u0439 \u043f\u0438\u043a\u0441\u0435\u043b\u044c.<\/p>\n<\/li>\n<\/ol>\n<p>\u0412 \u044d\u0442\u043e\u0439 \u0441\u0442\u0430\u0442\u044c\u0435 \u043c\u044b \u0431\u0443\u0434\u0435\u043c \u0432\u044b\u0436\u0438\u043c\u0430\u0442\u044c \u043c\u0430\u043a\u0441\u0438\u043c\u0443\u043c \u0438\u0437 <strong>Plotly Express<\/strong>, \u043f\u043e\u0442\u043e\u043c\u0443 \u0447\u0442\u043e \u043c\u044b \u0445\u043e\u0442\u0438\u043c \u043f\u0438\u0441\u0430\u0442\u044c \u043c\u0435\u043d\u044c\u0448\u0435, \u0430 \u043f\u043e\u043b\u0443\u0447\u0430\u0442\u044c \u0431\u043e\u043b\u044c\u0448\u0435. \u041a <code>Graph Objects<\/code> \u043c\u044b \u043e\u0431\u0440\u0430\u0442\u0438\u043c\u0441\u044f \u0442\u043e\u043b\u044c\u043a\u043e \u0442\u043e\u0433\u0434\u0430, \u043a\u043e\u0433\u0434\u0430 \u043d\u0430\u043c \u043f\u043e\u043d\u0430\u0434\u043e\u0431\u044f\u0442\u0441\u044f \u043a\u0430\u0441\u0442\u043e\u043c\u043d\u044b\u0435 \u044d\u043b\u0435\u043c\u0435\u043d\u0442\u044b \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044f.<\/p>\n<h3>\u0414\u0430\u043d\u043d\u044b\u0435 \u0434\u043b\u044f \u044d\u043a\u0441\u043f\u0435\u0440\u0438\u043c\u0435\u043d\u0442\u043e\u0432<\/h3>\n<p>\u0427\u0442\u043e\u0431\u044b \u043d\u0435 \u0441\u043a\u0443\u0447\u0430\u0442\u044c \u043d\u0430 \u0441\u0438\u043d\u0442\u0435\u0442\u0438\u0447\u0435\u0441\u043a\u0438\u0445 <code>[1, 2, 3]<\/code>, \u0432\u043e\u0437\u044c\u043c\u0435\u043c \u0437\u043d\u0430\u043c\u0435\u043d\u0438\u0442\u044b\u0439 \u0434\u0430\u0442\u0430\u0441\u0435\u0442 <strong>Gapminder<\/strong>, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0432\u0441\u0442\u0440\u043e\u0435\u043d \u043f\u0440\u044f\u043c\u043e \u0432 Plotly. \u041e\u043d \u0441\u043e\u0434\u0435\u0440\u0436\u0438\u0442 \u0438\u0441\u0442\u043e\u0440\u0438\u0447\u0435\u0441\u043a\u0438\u0435 \u0434\u0430\u043d\u043d\u044b\u0435 \u043f\u043e \u0441\u0442\u0440\u0430\u043d\u0430\u043c: \u0412\u0412\u041f \u043d\u0430 \u0434\u0443\u0448\u0443 \u043d\u0430\u0441\u0435\u043b\u0435\u043d\u0438\u044f, \u043e\u0436\u0438\u0434\u0430\u0435\u043c\u0430\u044f \u043f\u0440\u043e\u0434\u043e\u043b\u0436\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u044c \u0436\u0438\u0437\u043d\u0438 \u0438 \u0447\u0438\u0441\u043b\u0435\u043d\u043d\u043e\u0441\u0442\u044c \u043d\u0430\u0441\u0435\u043b\u0435\u043d\u0438\u044f.<\/p>\n<p>\u0418\u043c\u043f\u043e\u0440\u0442\u0438\u0440\u0443\u0435\u043c \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0438 \u0438 \u0441\u043c\u043e\u0442\u0440\u0438\u043c \u043d\u0430 \u0434\u0430\u043d\u043d\u044b\u0435:<\/p>\n<pre><code class=\"python\">import plotly.express as pximport pandas as pd# \u0417\u0430\u0433\u0440\u0443\u0436\u0430\u0435\u043c \u0432\u0441\u0442\u0440\u043e\u0435\u043d\u043d\u044b\u0439 \u0434\u0430\u0442\u0430\u0441\u0435\u0442df = px.data.gapminder()# \u041f\u043e\u0441\u043c\u043e\u0442\u0440\u0438\u043c \u043d\u0430 \u043f\u0435\u0440\u0432\u044b\u0435 5 \u0441\u0442\u0440\u043e\u043a \u0437\u0430 2007 \u0433\u043e\u0434df_2007 = df[df['year'] == 2007]print(df_2007.head())<\/code><div class=\"code-explainer\"><a href=\"https:\/\/sourcecraft.dev\/\" class=\"tm-button code-explainer__link\" style=\"visibility: hidden;\"><img style=\"width:14px;height:14px;object-fit:cover;object-position:left;\"\/><\/a><\/div><\/pre>\n<p>\u0412 \u043e\u0442\u0432\u0435\u0442 \u043c\u044b \u043f\u043e\u043b\u0443\u0447\u0438\u043c \u0430\u043a\u043a\u0443\u0440\u0430\u0442\u043d\u044b\u0439 DataFrame, \u0433\u0434\u0435 \u043a\u0430\u0436\u0434\u0430\u044f \u0441\u0442\u0440\u043e\u043a\u0430 \u2014 \u044d\u0442\u043e \u0441\u0442\u0440\u0430\u043d\u0430 \u0432 \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u043d\u043e\u043c \u0433\u043e\u0434\u0443. \u0414\u0430\u043d\u043d\u044b\u0435 \u0433\u043e\u0442\u043e\u0432\u044b.<\/p>\n<p>\u0422\u0435\u043f\u0435\u0440\u044c \u0434\u0430\u0432\u0430\u0439\u0442\u0435 \u043d\u0430\u0440\u0438\u0441\u0443\u0435\u043c \u043d\u0430\u0448 \u043f\u0435\u0440\u0432\u044b\u0439 \u0433\u0440\u0430\u0444\u0438\u043a \u0438 \u043f\u043e\u0441\u043c\u043e\u0442\u0440\u0438\u043c, \u0447\u0442\u043e \u0442\u0430\u043a\u043e\u0435 \u00ab\u0438\u043d\u0442\u0435\u0440\u0430\u043a\u0442\u0438\u0432\u043d\u043e\u0441\u0442\u044c \u0438\u0437 \u043a\u043e\u0440\u043e\u0431\u043a\u0438\u00bb.<\/p>\n<h2>\u0424\u0438\u0448\u043a\u0430 \u21161: \u0418\u043d\u0442\u0435\u0440\u0430\u043a\u0442\u0438\u0432\u043d\u043e\u0441\u0442\u044c \u00ab\u0438\u0437 \u043a\u043e\u0440\u043e\u0431\u043a\u0438\u00bb (\u0411\u0435\u0437 \u0443\u0441\u0438\u043b\u0438\u0439)<\/h2>\n<p>\u0414\u0430\u0432\u0430\u0439\u0442\u0435 \u043f\u043e\u0441\u0442\u0440\u043e\u0438\u043c \u0431\u0430\u0437\u043e\u0432\u044b\u0439 \u0442\u043e\u0447\u0435\u0447\u043d\u044b\u0439 \u0433\u0440\u0430\u0444\u0438\u043a (scatter plot). \u041f\u043e\u0441\u043c\u043e\u0442\u0440\u0438\u043c, \u043a\u0430\u043a \u0437\u0430\u0432\u0438\u0441\u0438\u0442 \u043e\u0436\u0438\u0434\u0430\u0435\u043c\u0430\u044f \u043f\u0440\u043e\u0434\u043e\u043b\u0436\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u044c \u0436\u0438\u0437\u043d\u0438 (<code>lifeExp<\/code>) \u043e\u0442 \u0412\u0412\u041f \u043d\u0430 \u0434\u0443\u0448\u0443 \u043d\u0430\u0441\u0435\u043b\u0435\u043d\u0438\u044f (<code>gdpPercap<\/code>) \u0432 2007 \u0433\u043e\u0434\u0443.<\/p>\n<p>\u0412 Matplotlib \u043d\u0430\u043c \u043f\u0440\u0438\u0448\u043b\u043e\u0441\u044c \u0431\u044b \u0441\u043e\u0437\u0434\u0430\u0432\u0430\u0442\u044c <code>figure<\/code>, \u0432\u044b\u0437\u044b\u0432\u0430\u0442\u044c <code>scatter<\/code>, \u043f\u043e\u0434\u043f\u0438\u0441\u044b\u0432\u0430\u0442\u044c \u043e\u0441\u0438\u2026 \u0412 Plotly Express \u044d\u0442\u043e \u0434\u0435\u043b\u0430\u0435\u0442\u0441\u044f \u043e\u0434\u043d\u043e\u0439 \u0441\u0442\u0440\u043e\u043a\u043e\u0439:<\/p>\n<pre><code class=\"python\"># \u0421\u0442\u0440\u043e\u0438\u043c \u0431\u0430\u0437\u043e\u0432\u044b\u0439 \u0433\u0440\u0430\u0444\u0438\u043afig = px.scatter(    df_2007,     x=\"gdpPercap\",     y=\"lifeExp\",     title=\"\u0412\u0412\u041f vs \u041f\u0440\u043e\u0434\u043e\u043b\u0436\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u044c \u0436\u0438\u0437\u043d\u0438 (2007)\")# \u041e\u0442\u0440\u0438\u0441\u043e\u0432\u044b\u0432\u0430\u0435\u043cfig.show()<\/code><div class=\"code-explainer\"><a href=\"https:\/\/sourcecraft.dev\/\" class=\"tm-button code-explainer__link\" style=\"visibility: hidden;\"><img style=\"width:14px;height:14px;object-fit:cover;object-position:left;\"\/><\/a><\/div><\/pre>\n<figure class=\"\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/\/post_images\/58b\/23e\/643\/58b23e643b8dc9b4a7f3dee1ad8ad472.jpg\" sizes=\"(max-width: 780px) 100vw, 50vw\" srcset=\"https:\/\/habrastorage.org\/r\/w780\/getpro\/habr\/\/post_images\/58b\/23e\/643\/58b23e643b8dc9b4a7f3dee1ad8ad472.jpg 780w,&#10;       https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/\/post_images\/58b\/23e\/643\/58b23e643b8dc9b4a7f3dee1ad8ad472.jpg 781w\" loading=\"lazy\" decode=\"async\"\/><\/figure>\n<p>\u0415\u0441\u043b\u0438 \u0432\u044b \u0437\u0430\u043f\u0443\u0441\u0442\u0438\u0442\u0435 \u044d\u0442\u043e\u0442 \u043a\u043e\u0434, \u0442\u043e \u0443\u0432\u0438\u0434\u0438\u0442\u0435 \u043d\u0435 \u043f\u0440\u043e\u0441\u0442\u043e \u0441\u0442\u0430\u0442\u0438\u0447\u043d\u0443\u044e \u043a\u0430\u0440\u0442\u0438\u043d\u043a\u0443. \u041e\u0431\u0440\u0430\u0442\u0438\u0442\u0435 \u0432\u043d\u0438\u043c\u0430\u043d\u0438\u0435 \u043d\u0430 \u043f\u0440\u0430\u0432\u044b\u0439 \u0432\u0435\u0440\u0445\u043d\u0438\u0439 \u0443\u0433\u043e\u043b \u0433\u0440\u0430\u0444\u0438\u043a\u0430 \u2014 \u0442\u0430\u043c \u043f\u043e\u044f\u0432\u0438\u0442\u0441\u044f \u043d\u0435\u043f\u0440\u0438\u043c\u0435\u0442\u043d\u0430\u044f, \u043d\u043e \u043d\u0435\u0432\u0435\u0440\u043e\u044f\u0442\u043d\u043e \u043f\u043e\u043b\u0435\u0437\u043d\u0430\u044f \u043f\u0430\u043d\u0435\u043b\u044c \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u043e\u0432 (Modebar).<\/p>\n<p><strong>\u0427\u0442\u043e \u0432\u044b \u043f\u043e\u043b\u0443\u0447\u0430\u0435\u0442\u0435 \u0431\u0435\u0441\u043f\u043b\u0430\u0442\u043d\u043e, \u043d\u0430\u043f\u0438\u0441\u0430\u0432 \u0432\u0441\u0435\u0433\u043e \u043e\u0434\u043d\u0443 \u0441\u0442\u0440\u043e\u0447\u043a\u0443 \u043a\u043e\u0434\u0430:<\/strong><\/p>\n<ul>\n<li>\n<p><strong>\u0417\u0443\u043c (Zoom):<\/strong> \u0417\u0430\u0436\u043c\u0438\u0442\u0435 \u043b\u0435\u0432\u0443\u044e \u043a\u043d\u043e\u043f\u043a\u0443 \u043c\u044b\u0448\u0438 \u0438 \u0432\u044b\u0434\u0435\u043b\u0438\u0442\u0435 \u043f\u0440\u044f\u043c\u043e\u0443\u0433\u043e\u043b\u044c\u043d\u0438\u043a\u043e\u043c \u0441\u043a\u043e\u043f\u043b\u0435\u043d\u0438\u0435 \u0442\u043e\u0447\u0435\u043a \u0432 \u043b\u0435\u0432\u043e\u043c \u043d\u0438\u0436\u043d\u0435\u043c \u0443\u0433\u043b\u0443. \u0413\u0440\u0430\u0444\u0438\u043a \u043c\u0433\u043d\u043e\u0432\u0435\u043d\u043d\u043e \u043f\u0440\u0438\u0431\u043b\u0438\u0437\u0438\u0442\u0441\u044f. \u0427\u0442\u043e\u0431\u044b \u0432\u0435\u0440\u043d\u0443\u0442\u044c \u0432\u0441\u0451 \u043a\u0430\u043a \u0431\u044b\u043b\u043e, \u043f\u0440\u043e\u0441\u0442\u043e \u043a\u043b\u0438\u043a\u043d\u0438\u0442\u0435 \u043f\u043e \u0433\u0440\u0430\u0444\u0438\u043a\u0443 \u0434\u0432\u0430 \u0440\u0430\u0437\u0430.<\/p>\n<\/li>\n<li>\n<p><strong>\u041f\u0430\u043d\u043e\u0440\u0430\u043c\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 (Pan):<\/strong> \u0412\u044b\u0431\u0435\u0440\u0438\u0442\u0435 \u0438\u043a\u043e\u043d\u043a\u0443 \u043a\u0440\u0435\u0441\u0442\u0438\u043a\u0430 \u043d\u0430 \u043f\u0430\u043d\u0435\u043b\u0438 \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u043e\u0432, \u0438 \u0432\u044b \u0441\u043c\u043e\u0436\u0435\u0442\u0435 \u201c\u0442\u0430\u0441\u043a\u0430\u0442\u044c\u201d \u0433\u0440\u0430\u0444\u0438\u043a \u043c\u044b\u0448\u043a\u043e\u0439 \u0432 \u043b\u044e\u0431\u044b\u0435 \u0441\u0442\u043e\u0440\u043e\u043d\u044b.<\/p>\n<\/li>\n<li>\n<p><strong>\u0421\u043e\u0445\u0440\u0430\u043d\u0435\u043d\u0438\u0435 \u0432 PNG:<\/strong> \u0418\u043a\u043e\u043d\u043a\u0430 \u0444\u043e\u0442\u043e\u0430\u043f\u043f\u0430\u0440\u0430\u0442\u0430 \u0441\u043a\u0430\u0447\u0438\u0432\u0430\u0435\u0442 \u0442\u043e, \u0447\u0442\u043e \u0432\u044b \u0441\u0435\u0439\u0447\u0430\u0441 \u0432\u0438\u0434\u0438\u0442\u0435 \u043d\u0430 \u044d\u043a\u0440\u0430\u043d\u0435, \u0432 \u0432\u0438\u0434\u0435 \u0430\u043a\u043a\u0443\u0440\u0430\u0442\u043d\u043e\u0439 \u043a\u0430\u0440\u0442\u0438\u043d\u043a\u0438. \u0418\u0434\u0435\u0430\u043b\u044c\u043d\u043e \u0434\u043b\u044f \u0442\u043e\u0433\u043e, \u0447\u0442\u043e\u0431\u044b \u0431\u044b\u0441\u0442\u0440\u043e \u0432\u0441\u0442\u0430\u0432\u0438\u0442\u044c \u0433\u0440\u0430\u0444\u0438\u043a \u0432 \u043f\u0440\u0435\u0437\u0435\u043d\u0442\u0430\u0446\u0438\u044e.<\/p>\n<\/li>\n<\/ul>\n<p>\u041d\u043e \u0438 \u044d\u0442\u043e \u0435\u0449\u0451 \u043d\u0435 \u0432\u0441\u0451. \u041d\u0430\u0432\u0435\u0434\u0438\u0442\u0435 \u043a\u0443\u0440\u0441\u043e\u0440 \u043d\u0430 \u043b\u044e\u0431\u0443\u044e \u0442\u043e\u0447\u043a\u0443. \u0412\u044b \u0443\u0432\u0438\u0434\u0438\u0442\u0435 \u0432\u0441\u043f\u043b\u044b\u0432\u0430\u044e\u0449\u0443\u044e \u043f\u043e\u0434\u0441\u043a\u0430\u0437\u043a\u0443 (\u0442\u0443\u043b\u0442\u0438\u043f) \u0441 \u0442\u043e\u0447\u043d\u044b\u043c\u0438 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f\u043c\u0438 X \u0438 Y. \u042d\u0442\u043e \u043a\u0440\u0443\u0442\u043e, \u043d\u043e\u2026 \u043d\u0435\u0434\u043e\u0441\u0442\u0430\u0442\u043e\u0447\u043d\u043e.<\/p>\n<p><strong>\u041c\u0430\u0433\u0438\u044f <\/strong><code><strong>hover_data<\/strong><\/code><\/p>\n<p>\u0413\u043b\u044f\u0434\u044f \u043d\u0430 \u0433\u0440\u0430\u0444\u0438\u043a, \u043c\u044b \u0432\u0438\u0434\u0438\u043c \u043e\u0434\u0438\u043d\u043e\u043a\u0443\u044e \u0442\u043e\u0447\u043a\u0443 \u0434\u0430\u043b\u0435\u043a\u043e \u0441\u043f\u0440\u0430\u0432\u0430 (\u043e\u0433\u0440\u043e\u043c\u043d\u044b\u0439 \u0412\u0412\u041f, \u0441\u0440\u0435\u0434\u043d\u044f\u044f \u043f\u0440\u043e\u0434\u043e\u043b\u0436\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u044c \u0436\u0438\u0437\u043d\u0438). \u0427\u0442\u043e \u044d\u0442\u043e \u0437\u0430 \u0441\u0442\u0440\u0430\u043d\u0430?<\/p>\n<p>\u0412 \u043a\u043b\u0430\u0441\u0441\u0438\u0447\u0435\u0441\u043a\u0438\u0445 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0430\u0445 \u0432\u0430\u043c \u043f\u0440\u0438\u0448\u043b\u043e\u0441\u044c \u0431\u044b \u0432\u0435\u0448\u0430\u0442\u044c \u0442\u0435\u043a\u0441\u0442\u043e\u0432\u044b\u0435 \u044f\u0440\u043b\u044b\u043a\u0438 \u043d\u0430 \u043a\u0430\u0436\u0434\u0443\u044e \u0442\u043e\u0447\u043a\u0443, \u043f\u0440\u0435\u0432\u0440\u0430\u0449\u0430\u044f \u0433\u0440\u0430\u0444\u0438\u043a \u0432 \u043d\u0435\u0447\u0438\u0442\u0430\u0435\u043c\u0443\u044e \u043a\u0430\u0448\u0443 \u0438\u0437 \u0431\u0443\u043a\u0432. \u0412 Plotly \u043c\u044b \u043f\u0440\u043e\u0441\u0442\u043e \u0434\u043e\u0431\u0430\u0432\u043b\u044f\u0435\u043c \u0434\u0430\u043d\u043d\u044b\u0435 \u0432\u043e \u0432\u0441\u043f\u043b\u044b\u0432\u0430\u044e\u0449\u0443\u044e \u043f\u043e\u0434\u0441\u043a\u0430\u0437\u043a\u0443!<\/p>\n<p>\u0414\u0430\u0432\u0430\u0439\u0442\u0435 \u043f\u0440\u043e\u043a\u0430\u0447\u0430\u0435\u043c \u043d\u0430\u0448 \u0433\u0440\u0430\u0444\u0438\u043a \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u043e\u0432 <code>hover_name<\/code> (\u0441\u0434\u0435\u043b\u0430\u0435\u0442 \u0442\u0435\u043a\u0441\u0442 \u0436\u0438\u0440\u043d\u044b\u043c \u0437\u0430\u0433\u043e\u043b\u043e\u0432\u043a\u043e\u043c \u0442\u0443\u043b\u0442\u0438\u043f\u0430) \u0438 <code>hover_data<\/code> (\u0434\u043e\u0431\u0430\u0432\u0438\u0442 \u043b\u044e\u0431\u044b\u0435 \u043d\u0443\u0436\u043d\u044b\u0435 \u043a\u043e\u043b\u043e\u043d\u043a\u0438 \u0438\u0437 \u0434\u0430\u0442\u0430\u0444\u0440\u0435\u0439\u043c\u0430):<\/p>\n<pre><code class=\"python\">fig = px.scatter(    df_2007,     x=\"gdpPercap\",     y=\"lifeExp\",     title=\"\u0412\u0412\u041f vs \u041f\u0440\u043e\u0434\u043e\u043b\u0436\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u044c \u0436\u0438\u0437\u043d\u0438 (2007)\",    hover_name=\"country\", # \u0418\u043c\u044f \u0441\u0442\u0440\u0430\u043d\u044b \u0431\u0443\u0434\u0435\u0442 \u0437\u0430\u0433\u043e\u043b\u043e\u0432\u043a\u043e\u043c \u043f\u043e\u0434\u0441\u043a\u0430\u0437\u043a\u0438    hover_data=[\"continent\", \"pop\"] # \u0414\u043e\u0431\u0430\u0432\u043b\u044f\u0435\u043c \u043a\u043e\u043d\u0442\u0438\u043d\u0435\u043d\u0442 \u0438 \u043d\u0430\u0441\u0435\u043b\u0435\u043d\u0438\u0435)fig.show()<\/code><div class=\"code-explainer\"><a href=\"https:\/\/sourcecraft.dev\/\" class=\"tm-button code-explainer__link\" style=\"visibility: hidden;\"><img style=\"width:14px;height:14px;object-fit:cover;object-position:left;\"\/><\/a><\/div><\/pre>\n<figure class=\"\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/\/post_images\/eab\/2fa\/bf5\/eab2fabf5b800521cb20a8932bd14ad0.jpg\" sizes=\"(max-width: 780px) 100vw, 50vw\" srcset=\"https:\/\/habrastorage.org\/r\/w780\/getpro\/habr\/\/post_images\/eab\/2fa\/bf5\/eab2fabf5b800521cb20a8932bd14ad0.jpg 780w,&#10;       https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/\/post_images\/eab\/2fa\/bf5\/eab2fabf5b800521cb20a8932bd14ad0.jpg 781w\" loading=\"lazy\" decode=\"async\"\/><\/figure>\n<p>\u0422\u0435\u043f\u0435\u0440\u044c, \u043d\u0430\u0432\u0435\u0434\u044f \u043c\u044b\u0448\u043a\u0443 \u043d\u0430 \u0442\u0443 \u0441\u0430\u043c\u0443\u044e \u043e\u0442\u043e\u0440\u0432\u0430\u0432\u0448\u0443\u044e\u0441\u044f \u0442\u043e\u0447\u043a\u0443 \u0441\u043f\u0440\u0430\u0432\u0430, \u043c\u044b \u0441\u0440\u0430\u0437\u0443 \u0432\u0438\u0434\u0438\u043c: \u044d\u0442\u043e \u041d\u043e\u0440\u0432\u0435\u0433\u0438\u044f, \u043d\u0430\u0441\u0435\u043b\u0435\u043d\u0438\u0435 \u043e\u043a\u043e\u043b\u043e 4.6 \u043c\u043b\u043d \u0447\u0435\u043b\u043e\u0432\u0435\u043a, \u043a\u043e\u043d\u0442\u0438\u043d\u0435\u043d\u0442 \u0415\u0432\u0440\u043e\u043f\u0430. \u0418 \u043f\u0440\u0438 \u044d\u0442\u043e\u043c \u0441\u0430\u043c \u0433\u0440\u0430\u0444\u0438\u043a \u043e\u0441\u0442\u0430\u043b\u0441\u044f \u0430\u0431\u0441\u043e\u043b\u044e\u0442\u043d\u043e \u0447\u0438\u0441\u0442\u044b\u043c \u0438 \u043d\u0435 \u043f\u0435\u0440\u0435\u0433\u0440\u0443\u0436\u0435\u043d\u043d\u044b\u043c \u0442\u0435\u043a\u0441\u0442\u043e\u043c. \u0418\u0434\u0435\u0430\u043b\u044c\u043d\u043e \u0434\u043b\u044f \u0440\u0430\u0437\u0432\u0435\u0434\u043e\u0447\u043d\u043e\u0433\u043e \u0430\u043d\u0430\u043b\u0438\u0437\u0430 \u0434\u0430\u043d\u043d\u044b\u0445 (EDA)!<\/p>\n<h2>\u0424\u0438\u0448\u043a\u0430 \u21162: \u0413\u0440\u0443\u043f\u043f\u0438\u0440\u043e\u0432\u043a\u0430 \u0438 \u0441\u0442\u0438\u043b\u0438\u0437\u0430\u0446\u0438\u044f \u0432 \u043e\u0434\u043d\u0443 \u0441\u0442\u0440\u043e\u043a\u0443<\/h2>\n<p>\u041d\u0430\u0448 \u043f\u0440\u0435\u0434\u044b\u0434\u0443\u0449\u0438\u0439 \u0433\u0440\u0430\u0444\u0438\u043a \u0431\u044b\u043b \u0445\u043e\u0440\u043e\u0448, \u043d\u043e \u043f\u043e\u043a\u0430 \u044d\u0442\u043e \u043f\u0440\u043e\u0441\u0442\u043e \u0441\u043a\u043e\u043f\u043b\u0435\u043d\u0438\u0435 \u043e\u0434\u0438\u043d\u0430\u043a\u043e\u0432\u044b\u0445 \u0441\u0438\u043d\u0438\u0445 \u0442\u043e\u0447\u0435\u043a. \u0427\u0442\u043e, \u0435\u0441\u043b\u0438 \u043c\u044b \u0445\u043e\u0442\u0438\u043c \u0443\u0432\u0438\u0434\u0435\u0442\u044c \u043d\u0430 \u043d\u0451\u043c \u043d\u0435 \u0434\u0432\u0435 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0435 (\u0412\u0412\u041f \u0438 \u043f\u0440\u043e\u0434\u043e\u043b\u0436\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u044c \u0436\u0438\u0437\u043d\u0438), \u0430 \u0441\u0440\u0430\u0437\u0443 \u0447\u0435\u0442\u044b\u0440\u0435? \u0412 Matplotlib \u0432\u0430\u043c \u043f\u0440\u0438\u0448\u043b\u043e\u0441\u044c \u0431\u044b \u043f\u0438\u0441\u0430\u0442\u044c \u0446\u0438\u043a\u043b\u044b \u0434\u043b\u044f \u043f\u0435\u0440\u0435\u0431\u043e\u0440\u0430 \u043a\u0430\u0442\u0435\u0433\u043e\u0440\u0438\u0439, \u0432\u0440\u0443\u0447\u043d\u0443\u044e \u0437\u0430\u0434\u0430\u0432\u0430\u0442\u044c \u043f\u0430\u043b\u0438\u0442\u0440\u044b \u0438 \u0434\u043e\u043b\u0433\u043e \u043c\u0443\u0447\u0438\u0442\u044c\u0441\u044f \u0441 \u043b\u0435\u0433\u0435\u043d\u0434\u043e\u0439.<\/p>\n<p>\u0412 Plotly Express \u0432\u0441\u0451 \u0441\u0432\u043e\u0434\u0438\u0442\u0441\u044f \u043a \u0434\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u0438\u044e \u043f\u0430\u0440\u044b \u0430\u0440\u0433\u0443\u043c\u0435\u043d\u0442\u043e\u0432 \u0432 \u0442\u0443 \u0436\u0435 \u0441\u0430\u043c\u0443\u044e \u0444\u0443\u043d\u043a\u0446\u0438\u044e. \u0412\u0441\u0442\u0440\u0435\u0447\u0430\u0439\u0442\u0435 \u0441\u0432\u044f\u0437\u043a\u0443 <code>color<\/code>, <code>size<\/code> \u0438 <code>symbol<\/code>.<\/p>\n<p>\u0418, \u0440\u0430\u0437 \u0443\u0436 \u043c\u044b \u043f\u0438\u0448\u0435\u043c \u0441\u0442\u0430\u0442\u044c\u044e \u0434\u043b\u044f \u0425\u0430\u0431\u0440\u0430, \u0434\u0430\u0432\u0430\u0439\u0442\u0435 \u0441\u0440\u0430\u0437\u0443 \u0441\u0434\u0435\u043b\u0430\u0435\u043c \u0433\u0440\u0430\u0444\u0438\u043a \u0441\u0442\u0438\u043b\u044c\u043d\u044b\u043c \u0438 \u043f\u0435\u0440\u0435\u043a\u043b\u044e\u0447\u0438\u043c \u0435\u0433\u043e \u043d\u0430 \u0442\u0451\u043c\u043d\u0443\u044e \u0442\u0435\u043c\u0443!<\/p>\n<pre><code class=\"python\">fig = px.scatter(    df_2007,     x=\"gdpPercap\",     y=\"lifeExp\",    color=\"continent\",      # 1. \u041a\u0440\u0430\u0441\u0438\u043c \u0442\u043e\u0447\u043a\u0438 \u0432 \u0437\u0430\u0432\u0438\u0441\u0438\u043c\u043e\u0441\u0442\u0438 \u043e\u0442 \u043a\u043e\u043d\u0442\u0438\u043d\u0435\u043d\u0442\u0430    size=\"pop\",             # 2. \u0420\u0430\u0437\u043c\u0435\u0440 \u0442\u043e\u0447\u043a\u0438 \u0437\u0430\u0432\u0438\u0441\u0438\u0442 \u043e\u0442 \u043d\u0430\u0441\u0435\u043b\u0435\u043d\u0438\u044f \u0441\u0442\u0440\u0430\u043d\u044b    size_max=50,            # \u041e\u0433\u0440\u0430\u043d\u0438\u0447\u0438\u0432\u0430\u0435\u043c \u043c\u0430\u043a\u0441\u0438\u043c\u0430\u043b\u044c\u043d\u044b\u0439 \u0440\u0430\u0437\u043c\u0435\u0440 \"\u043f\u0443\u0437\u044b\u0440\u044c\u043a\u0430\"    symbol=\"continent\",     # 3. \u0420\u0430\u0437\u043d\u044b\u0435 \u0433\u0435\u043e\u043c\u0435\u0442\u0440\u0438\u0447\u0435\u0441\u043a\u0438\u0435 \u0444\u0438\u0433\u0443\u0440\u044b \u0434\u043b\u044f \u0440\u0430\u0437\u043d\u044b\u0445 \u043a\u043e\u043d\u0442\u0438\u043d\u0435\u043d\u0442\u043e\u0432    hover_name=\"country\",    template=\"plotly_dark\", # 4. \u0412\u043a\u043b\u044e\u0447\u0430\u0435\u043c \u0442\u0435\u043c\u043d\u0443\u044e \u0442\u0435\u043c\u0443!    title=\"\u0412\u0412\u041f, \u041f\u0440\u043e\u0434\u043e\u043b\u0436\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u044c \u0436\u0438\u0437\u043d\u0438 \u0438 \u041d\u0430\u0441\u0435\u043b\u0435\u043d\u0438\u0435 \u043f\u043e \u043a\u043e\u043d\u0442\u0438\u043d\u0435\u043d\u0442\u0430\u043c (2007)\")fig.show()<\/code><div class=\"code-explainer\"><a href=\"https:\/\/sourcecraft.dev\/\" class=\"tm-button code-explainer__link\" style=\"visibility: hidden;\"><img style=\"width:14px;height:14px;object-fit:cover;object-position:left;\"\/><\/a><\/div><\/pre>\n<figure class=\"\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/\/post_images\/c57\/fff\/d28\/c57fffd282d5a09efa7f171865c34b1a.jpg\" sizes=\"(max-width: 780px) 100vw, 50vw\" srcset=\"https:\/\/habrastorage.org\/r\/w780\/getpro\/habr\/\/post_images\/c57\/fff\/d28\/c57fffd282d5a09efa7f171865c34b1a.jpg 780w,&#10;       https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/\/post_images\/c57\/fff\/d28\/c57fffd282d5a09efa7f171865c34b1a.jpg 781w\" loading=\"lazy\" decode=\"async\"\/><\/figure>\n<p>\u0417\u0430\u043f\u0443\u0441\u043a\u0430\u0435\u043c \u043a\u043e\u0434 \u0438 \u0432\u0438\u0434\u0438\u043c, \u043a\u0430\u043a \u0441\u043a\u0443\u0447\u043d\u044b\u0439 <em>scatter plot<\/em> \u043c\u043e\u043c\u0435\u043d\u0442\u0430\u043b\u044c\u043d\u043e \u043f\u0440\u0435\u0432\u0440\u0430\u0442\u0438\u043b\u0441\u044f \u0432 \u0441\u043e\u0447\u043d\u044b\u0439 \u043c\u043d\u043e\u0433\u043e\u043c\u0435\u0440\u043d\u044b\u0439 <em>bubble chart<\/em> (\u043f\u0443\u0437\u044b\u0440\u044c\u043a\u043e\u0432\u0443\u044e \u0434\u0438\u0430\u0433\u0440\u0430\u043c\u043c\u0443). \u0414\u0430\u0432\u0430\u0439\u0442\u0435 \u0440\u0430\u0437\u0431\u0435\u0440\u0435\u043c \u043c\u0430\u0433\u0438\u044e \u0430\u0440\u0433\u0443\u043c\u0435\u043d\u0442\u043e\u0432:<\/p>\n<ul>\n<li>\n<p><code><strong>color=\"continent\"<\/strong><\/code>: Plotly \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u0438 \u0441\u0433\u0440\u0443\u043f\u043f\u0438\u0440\u043e\u0432\u0430\u043b \u0434\u0430\u043d\u043d\u044b\u0435 \u043f\u043e \u0441\u0442\u043e\u043b\u0431\u0446\u0443 <code>continent<\/code>, \u043f\u043e\u0434\u043e\u0431\u0440\u0430\u043b \u043a\u043e\u043d\u0442\u0440\u0430\u0441\u0442\u043d\u0443\u044e \u043f\u0430\u043b\u0438\u0442\u0440\u0443 \u0438 \u0441\u0430\u043c \u0441\u043e\u0437\u0434\u0430\u043b \u0430\u043a\u043a\u0443\u0440\u0430\u0442\u043d\u0443\u044e \u043b\u0435\u0433\u0435\u043d\u0434\u0443 \u0441\u043f\u0440\u0430\u0432\u0430. <\/p>\n<ul>\n<li>\n<p><em>\u0421\u043a\u0440\u044b\u0442\u0430\u044f \u0438\u043d\u0442\u0435\u0440\u0430\u043a\u0442\u0438\u0432\u043d\u043e\u0441\u0442\u044c:<\/em> \u041f\u043e\u043f\u0440\u043e\u0431\u0443\u0439\u0442\u0435 \u043a\u043b\u0438\u043a\u043d\u0443\u0442\u044c \u043d\u0430 \u043d\u0430\u0437\u0432\u0430\u043d\u0438\u0435 \u043b\u044e\u0431\u043e\u0433\u043e \u043a\u043e\u043d\u0442\u0438\u043d\u0435\u043d\u0442\u0430 \u0432 \u043b\u0435\u0433\u0435\u043d\u0434\u0435! Plotly \u0441\u043a\u0440\u043e\u0435\u0442 \u044d\u0442\u0438 \u0442\u043e\u0447\u043a\u0438 \u0441 \u0433\u0440\u0430\u0444\u0438\u043a\u0430. \u0410 \u0434\u0432\u043e\u0439\u043d\u043e\u0439 \u043a\u043b\u0438\u043a \u0438\u0437\u043e\u043b\u0438\u0440\u0443\u0435\u0442 \u0432\u044b\u0431\u0440\u0430\u043d\u043d\u044b\u0439 \u043a\u043e\u043d\u0442\u0438\u043d\u0435\u043d\u0442, \u0441\u043f\u0440\u044f\u0442\u0430\u0432 \u0432\u0441\u0435 \u043e\u0441\u0442\u0430\u043b\u044c\u043d\u044b\u0435. \u042d\u0442\u043e \u043d\u0435\u0432\u0435\u0440\u043e\u044f\u0442\u043d\u043e \u0443\u0434\u043e\u0431\u043d\u043e, \u043a\u043e\u0433\u0434\u0430 \u0442\u043e\u0447\u043a\u0438 \u043f\u0435\u0440\u0435\u043a\u0440\u044b\u0432\u0430\u044e\u0442 \u0434\u0440\u0443\u0433 \u0434\u0440\u0443\u0433\u0430.<\/p>\n<\/li>\n<\/ul>\n<\/li>\n<li>\n<p><code><strong>size=\"pop\"<\/strong><\/code>: \u041c\u044b \u0434\u043e\u0431\u0430\u0432\u0438\u043b\u0438 \u0442\u0440\u0435\u0442\u044c\u0435 \u0438\u0437\u043c\u0435\u0440\u0435\u043d\u0438\u0435. \u0422\u0435\u043f\u0435\u0440\u044c \u043e\u0433\u0440\u043e\u043c\u043d\u044b\u0435 \u043f\u0443\u0437\u044b\u0440\u0438 \u0410\u0437\u0438\u0438 (\u041a\u0438\u0442\u0430\u0439 \u0438 \u0418\u043d\u0434\u0438\u044f) \u0432\u0438\u0437\u0443\u0430\u043b\u044c\u043d\u043e \u0434\u043e\u043c\u0438\u043d\u0438\u0440\u0443\u044e\u0442 \u043d\u0430 \u0433\u0440\u0430\u0444\u0438\u043a\u0435, \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u044f \u0441 \u043f\u0435\u0440\u0432\u043e\u0433\u043e \u0432\u0437\u0433\u043b\u044f\u0434\u0430 \u043e\u0446\u0435\u043d\u0438\u0442\u044c \u043c\u0430\u0441\u0448\u0442\u0430\u0431.<\/p>\n<\/li>\n<li>\n<p><code><strong>symbol=\"continent\"<\/strong><\/code>: \u0414\u043e\u0431\u0430\u0432\u043b\u044f\u0435\u0442 \u0447\u0435\u0442\u0432\u0435\u0440\u0442\u043e\u0435 \u0438\u0437\u043c\u0435\u0440\u0435\u043d\u0438\u0435 (\u0438\u043b\u0438 \u0434\u0443\u0431\u043b\u0438\u0440\u0443\u0435\u0442 <code>color<\/code> \u0434\u043b\u044f \u043d\u0430\u0434\u0435\u0436\u043d\u043e\u0441\u0442\u0438). \u0415\u0432\u0440\u043e\u043f\u0430 \u0442\u0435\u043f\u0435\u0440\u044c \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u0435\u043d\u0430 \u0440\u043e\u043c\u0431\u0430\u043c\u0438, \u0410\u0437\u0438\u044f \u2014 \u043a\u0440\u0443\u0433\u0430\u043c\u0438, \u0410\u043c\u0435\u0440\u0438\u043a\u0430 \u2014 \u043a\u0432\u0430\u0434\u0440\u0430\u0442\u0430\u043c\u0438. \u042d\u0442\u043e \u043e\u0442\u043b\u0438\u0447\u043d\u044b\u0439 \u0442\u043e\u043d (accessibility), \u0442\u0430\u043a \u043a\u0430\u043a \u0432\u0430\u0448 \u0433\u0440\u0430\u0444\u0438\u043a \u043e\u0441\u0442\u0430\u043d\u0435\u0442\u0441\u044f \u0447\u0438\u0442\u0430\u0435\u043c\u044b\u043c \u0434\u0430\u0436\u0435 \u043f\u0440\u0438 \u0447\u0435\u0440\u043d\u043e-\u0431\u0435\u043b\u043e\u0439 \u043f\u0435\u0447\u0430\u0442\u0438 \u0438\u043b\u0438 \u0434\u043b\u044f \u043b\u044e\u0434\u0435\u0439 \u0441 \u0434\u0430\u043b\u044c\u0442\u043e\u043d\u0438\u0437\u043c\u043e\u043c.<\/p>\n<\/li>\n<li>\n<p><code><strong>template=\"plotly_dark\"<\/strong><\/code>: \u041c\u0435\u043d\u044f\u0435\u0442 \u0432\u0435\u0441\u044c \u0434\u0438\u0437\u0430\u0439\u043d \u0433\u0440\u0430\u0444\u0438\u043a\u0430 \u0437\u0430 \u0441\u0435\u043a\u0443\u043d\u0434\u0443. Plotly \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0435\u0442 \u043c\u043d\u043e\u0436\u0435\u0441\u0442\u0432\u043e \u0432\u0441\u0442\u0440\u043e\u0435\u043d\u043d\u044b\u0445 \u0442\u0435\u043c: <code>plotly_white<\/code> \u0434\u043b\u044f \u0441\u0442\u0440\u043e\u0433\u0438\u0445 \u043e\u0442\u0447\u0435\u0442\u043e\u0432, <code>ggplot2<\/code> \u0434\u043b\u044f \u0444\u0430\u043d\u0430\u0442\u043e\u0432 \u044f\u0437\u044b\u043a\u0430 R, <code>seaborn<\/code> \u0438 \u0434\u0440\u0443\u0433\u0438\u0435.<\/p>\n<\/li>\n<\/ul>\n<p>\u0412 \u0438\u0442\u043e\u0433\u0435, \u043d\u0430\u043f\u0438\u0441\u0430\u0432 \u0432\u0441\u0435\u0433\u043e \u043e\u0434\u0438\u043d \u0432\u044b\u0437\u043e\u0432 \u0444\u0443\u043d\u043a\u0446\u0438\u0438, \u043c\u044b \u0443\u043c\u0435\u0441\u0442\u0438\u043b\u0438 \u043d\u0430 \u043f\u043b\u043e\u0441\u043a\u043e\u043c \u044d\u043a\u0440\u0430\u043d\u0435 \u043c\u0430\u043a\u0441\u0438\u043c\u0443\u043c \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u0438, \u0441\u0434\u0435\u043b\u0430\u043b\u0438 \u044d\u0442\u043e \u043a\u0440\u0430\u0441\u0438\u0432\u043e \u0438 \u0441\u043e\u0445\u0440\u0430\u043d\u0438\u043b\u0438 \u043f\u043e\u043b\u043d\u0443\u044e \u0438\u043d\u0442\u0435\u0440\u0430\u043a\u0442\u0438\u0432\u043d\u043e\u0441\u0442\u044c.<\/p>\n<h2>\u0424\u0438\u0448\u043a\u0430 \u21163: Subplots (\u0424\u0430\u0441\u0435\u0442\u043d\u044b\u0435 \u0433\u0440\u0430\u0444\u0438\u043a\u0438) \u0438 \u0431\u043e\u0440\u044c\u0431\u0430 \u0441\u043e \u00ab\u0441\u043f\u0430\u0433\u0435\u0442\u0442\u0438\u00bb<\/h2>\n<p>\u041f\u0440\u0435\u0434\u044b\u0434\u0443\u0449\u0438\u0439 \u0441\u043f\u043e\u0441\u043e\u0431 \u0441 \u0433\u0440\u0443\u043f\u043f\u0438\u0440\u043e\u0432\u043a\u043e\u0439 \u043f\u043e \u0446\u0432\u0435\u0442\u0443 \u043e\u0442\u043b\u0438\u0447\u043d\u043e \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442, \u043a\u043e\u0433\u0434\u0430 \u0443 \u0432\u0430\u0441 3\u20135 \u043a\u0430\u0442\u0435\u0433\u043e\u0440\u0438\u0439. \u041d\u043e \u0447\u0442\u043e \u0434\u0435\u043b\u0430\u0442\u044c, \u0435\u0441\u043b\u0438 \u0438\u0445 \u0434\u0435\u0441\u044f\u0442\u043a\u0438?<\/p>\n<p>\u0414\u0430\u0432\u0430\u0439\u0442\u0435 \u043f\u043e\u043f\u0440\u043e\u0431\u0443\u0435\u043c \u043f\u043e\u0441\u0442\u0440\u043e\u0438\u0442\u044c \u043b\u0438\u043d\u0435\u0439\u043d\u044b\u0439 \u0433\u0440\u0430\u0444\u0438\u043a \u0434\u0438\u043d\u0430\u043c\u0438\u043a\u0438 \u0412\u0412\u041f (<code>gdpPercap<\/code>) \u043f\u043e \u0433\u043e\u0434\u0430\u043c (<code>year<\/code>) \u0434\u043b\u044f <em>\u0432\u0441\u0435\u0445<\/em> \u0441\u0442\u0440\u0430\u043d \u0438\u0437 \u043d\u0430\u0448\u0435\u0433\u043e \u0434\u0430\u0442\u0430\u0441\u0435\u0442\u0430. \u0415\u0441\u043b\u0438 \u043c\u044b \u043f\u0440\u043e\u0441\u0442\u043e \u0443\u043a\u0430\u0436\u0435\u043c <code>color=\"country\"<\/code>, \u0442\u043e \u043f\u043e\u043b\u0443\u0447\u0438\u043c \u043a\u043b\u0430\u0441\u0441\u0438\u0447\u0435\u0441\u043a\u0438\u0439 \u00ab\u0441\u043f\u0430\u0433\u0435\u0442\u0442\u0438-\u0433\u0440\u0430\u0444\u0438\u043a\u00bb \u2014 \u043d\u0435\u0447\u0438\u0442\u0430\u0435\u043c\u0443\u044e \u043a\u0430\u0448\u0443 \u0438\u0437 142 \u043f\u0435\u0440\u0435\u0441\u0435\u043a\u0430\u044e\u0449\u0438\u0445\u0441\u044f \u043b\u0438\u043d\u0438\u0439, \u0432 \u043a\u043e\u0442\u043e\u0440\u043e\u0439 \u043d\u0435\u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e \u043d\u0438\u0447\u0435\u0433\u043e \u0440\u0430\u0437\u043e\u0431\u0440\u0430\u0442\u044c.<\/p>\n<p>\u0412 Matplotlib \u0434\u043b\u044f \u0440\u0435\u0448\u0435\u043d\u0438\u044f \u044d\u0442\u043e\u0439 \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u044b \u043f\u0440\u0438\u0448\u043b\u043e\u0441\u044c \u0431\u044b \u0441\u043e\u0437\u0434\u0430\u0432\u0430\u0442\u044c \u0441\u0435\u0442\u043a\u0443 \u0441\u0430\u0431\u043f\u043b\u043e\u0442\u043e\u0432 \u0447\u0435\u0440\u0435\u0437 <code>plt.subplots()<\/code>, \u043f\u0438\u0441\u0430\u0442\u044c \u0432\u043b\u043e\u0436\u0435\u043d\u043d\u044b\u0435 \u0446\u0438\u043a\u043b\u044b <code>for<\/code>, \u0444\u0438\u043b\u044c\u0442\u0440\u043e\u0432\u0430\u0442\u044c \u0434\u0430\u043d\u043d\u044b\u0435 \u043d\u0430 \u043a\u0430\u0436\u0434\u043e\u043c \u0448\u0430\u0433\u0435 \u0438 \u0432\u0440\u0443\u0447\u043d\u0443\u044e \u0432\u044b\u0440\u0430\u0432\u043d\u0438\u0432\u0430\u0442\u044c \u043e\u0441\u0438.<\/p>\n<p>\u0412 Plotly Express \u043c\u044b \u043f\u0440\u043e\u0441\u0442\u043e \u0434\u043e\u0431\u0430\u0432\u043b\u044f\u0435\u043c \u043c\u0430\u0433\u0438\u0447\u0435\u0441\u043a\u0438\u0439 \u0430\u0440\u0433\u0443\u043c\u0435\u043d\u0442 <code><strong>facet_col<\/strong><\/code> (\u0438\u043b\u0438 <code><strong>facet_row<\/strong><\/code>):<\/p>\n<pre><code class=\"python\"># \u0421\u0442\u0440\u043e\u0438\u043c \u043b\u0438\u043d\u0435\u0439\u043d\u044b\u0439 \u0433\u0440\u0430\u0444\u0438\u043a \u0434\u043b\u044f \u0432\u0441\u0435\u0445 \u0441\u0442\u0440\u0430\u043d \u0441\u0440\u0430\u0437\u0443fig = px.line(    df,     x=\"year\",     y=\"gdpPercap\",     color=\"country\",     facet_col=\"continent\", # \u0420\u0430\u0437\u0431\u0438\u0432\u0430\u0435\u043c \u0433\u0440\u0430\u0444\u0438\u043a \u043d\u0430 \u043a\u043e\u043b\u043e\u043d\u043a\u0438 \u043f\u043e \u043a\u043e\u043d\u0442\u0438\u043d\u0435\u043d\u0442\u0430\u043c    facet_col_wrap=3,      # \u041f\u0435\u0440\u0435\u043d\u043e\u0441\u0438\u043c \u043d\u0430 \u043d\u043e\u0432\u0443\u044e \u0441\u0442\u0440\u043e\u043a\u0443 \u043f\u043e\u0441\u043b\u0435 3 \u043a\u043e\u043b\u043e\u043d\u043e\u043a (\u0434\u043b\u044f \u043a\u0440\u0430\u0441\u043e\u0442\u044b)    template=\"plotly_dark\",    title=\"\u0414\u0438\u043d\u0430\u043c\u0438\u043a\u0430 \u0412\u0412\u041f \u043f\u043e \u0441\u0442\u0440\u0430\u043d\u0430\u043c (\u0440\u0430\u0437\u0431\u0438\u0432\u043a\u0430 \u043f\u043e \u043a\u043e\u043d\u0442\u0438\u043d\u0435\u043d\u0442\u0430\u043c)\")# \u041e\u0442\u043a\u043b\u044e\u0447\u0430\u0435\u043c \u043b\u0435\u0433\u0435\u043d\u0434\u0443, \u0442\u0430\u043a \u043a\u0430\u043a 142 \u043d\u0430\u0437\u0432\u0430\u043d\u0438\u044f \u0441\u0442\u0440\u0430\u043d \u0442\u0443\u0434\u0430 \u0432\u0441\u0451 \u0440\u0430\u0432\u043d\u043e \u043d\u0435 \u0432\u043b\u0435\u0437\u0443\u0442fig.update_layout(showlegend=False)fig.show()<\/code><div class=\"code-explainer\"><a href=\"https:\/\/sourcecraft.dev\/\" class=\"tm-button code-explainer__link\" style=\"visibility: hidden;\"><img style=\"width:14px;height:14px;object-fit:cover;object-position:left;\"\/><\/a><\/div><\/pre>\n<figure class=\"\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/\/post_images\/7bb\/159\/4af\/7bb1594afa0e2dbcae78e8f179dccf7f.jpg\" sizes=\"(max-width: 780px) 100vw, 50vw\" srcset=\"https:\/\/habrastorage.org\/r\/w780\/getpro\/habr\/\/post_images\/7bb\/159\/4af\/7bb1594afa0e2dbcae78e8f179dccf7f.jpg 780w,&#10;       https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/\/post_images\/7bb\/159\/4af\/7bb1594afa0e2dbcae78e8f179dccf7f.jpg 781w\" loading=\"lazy\" decode=\"async\"\/><\/figure>\n<p><strong>\u0427\u0442\u043e \u043f\u0440\u043e\u0438\u0437\u043e\u0448\u043b\u043e \u043f\u043e\u0434 \u043a\u0430\u043f\u043e\u0442\u043e\u043c:<\/strong><\/p>\n<ol>\n<li>\n<p><strong>\u041c\u0433\u043d\u043e\u0432\u0435\u043d\u043d\u0430\u044f \u0441\u0435\u0442\u043a\u0430:<\/strong> Plotly \u0441\u0430\u043c \u0440\u0430\u0437\u0431\u0438\u043b \u043d\u0430\u0448 \u043e\u0433\u0440\u043e\u043c\u043d\u044b\u0439 \u0434\u0430\u0442\u0430\u0444\u0440\u0435\u0439\u043c \u043d\u0430 5 \u0447\u0430\u0441\u0442\u0435\u0439 (\u043f\u043e \u0447\u0438\u0441\u043b\u0443 \u043a\u043e\u043d\u0442\u0438\u043d\u0435\u043d\u0442\u043e\u0432) \u0438 \u043f\u043e\u0441\u0442\u0440\u043e\u0438\u043b \u0434\u043b\u044f \u043a\u0430\u0436\u0434\u043e\u0433\u043e \u0441\u0432\u043e\u0439 \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u044b\u0439 \u043c\u0438\u043d\u0438-\u0433\u0440\u0430\u0444\u0438\u043a. \u041f\u0430\u0440\u0430\u043c\u0435\u0442\u0440 <code>facet_col_wrap=3<\/code> \u0430\u043a\u043a\u0443\u0440\u0430\u0442\u043d\u043e \u043f\u0435\u0440\u0435\u043d\u0435\u0441 \u043b\u0438\u0448\u043d\u0438\u0435 \u0433\u0440\u0430\u0444\u0438\u043a\u0438 \u043d\u0430 \u043d\u043e\u0432\u0443\u044e \u0441\u0442\u0440\u043e\u043a\u0443, \u0447\u0442\u043e\u0431\u044b \u043e\u043d\u0438 \u043d\u0435 \u0441\u043f\u043b\u044e\u0449\u0438\u0432\u0430\u043b\u0438\u0441\u044c.<\/p>\n<\/li>\n<li>\n<p><strong>\u0421\u0438\u043d\u0445\u0440\u043e\u043d\u0438\u0437\u0430\u0446\u0438\u044f \u043e\u0441\u0435\u0439 (\u041a\u0438\u043b\u043b\u0435\u0440-\u0444\u0438\u0447\u0430):<\/strong> \u0415\u0441\u043b\u0438 \u0432\u044b \u0437\u0430\u043f\u0443\u0441\u0442\u0438\u0442\u0435 \u044d\u0442\u043e\u0442 \u043a\u043e\u0434 \u0438 \u043f\u043e\u043f\u0440\u043e\u0431\u0443\u0435\u0442\u0435 \u043f\u0440\u0438\u0431\u043b\u0438\u0437\u0438\u0442\u044c (Zoom) \u043a\u0430\u043a\u043e\u0439-\u043d\u0438\u0431\u0443\u0434\u044c \u0438\u043d\u0442\u0435\u0440\u0435\u0441\u043d\u044b\u0439 \u0432\u0441\u043f\u043b\u0435\u0441\u043a \u043d\u0430 \u0433\u0440\u0430\u0444\u0438\u043a\u0435 \u0415\u0432\u0440\u043e\u043f\u044b, \u0432\u044b \u0437\u0430\u043c\u0435\u0442\u0438\u0442\u0435 \u043f\u043e\u0442\u0440\u044f\u0441\u0430\u044e\u0449\u0443\u044e \u0432\u0435\u0449\u044c. <strong>\u041e\u0441\u0438 \u043d\u0430 \u0432\u0441\u0435\u0445 \u043e\u0441\u0442\u0430\u043b\u044c\u043d\u044b\u0445 \u0433\u0440\u0430\u0444\u0438\u043a\u0430\u0445 \u0438\u0437\u043c\u0435\u043d\u044f\u0442\u0441\u044f \u0441\u0438\u043d\u0445\u0440\u043e\u043d\u043d\u043e!<\/strong> 3. <strong>\u0427\u0438\u0441\u0442\u043e\u0442\u0430 \u043a\u043e\u0434\u0430:<\/strong> \u041d\u0438\u043a\u0430\u043a\u0438\u0445 \u0446\u0438\u043a\u043b\u043e\u0432. \u041d\u0438\u043a\u0430\u043a\u043e\u0439 \u0432\u043e\u0437\u043d\u0438 \u0441 \u043e\u0441\u044f\u043c\u0438 X \u0438 Y \u0434\u043b\u044f \u043a\u0430\u0436\u0434\u043e\u0433\u043e \u0441\u0430\u0431\u043f\u043b\u043e\u0442\u0430.<\/p>\n<\/li>\n<\/ol>\n<p>\u042d\u0442\u043e \u043d\u0435\u0432\u0435\u0440\u043e\u044f\u0442\u043d\u043e \u043c\u043e\u0449\u043d\u044b\u0439 \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442 \u0434\u043b\u044f \u0440\u0430\u0437\u0432\u0435\u0434\u043e\u0447\u043d\u043e\u0433\u043e \u0430\u043d\u0430\u043b\u0438\u0437\u0430. \u0412\u044b \u043c\u043e\u0436\u0435\u0442\u0435 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c <code>facet_col<\/code> \u0434\u043b\u044f \u043e\u0434\u043d\u043e\u0439 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u043e\u0439, \u0430 <code>facet_row<\/code> \u0434\u043b\u044f \u0434\u0440\u0443\u0433\u043e\u0439, \u0441\u043e\u0437\u0434\u0430\u0432\u0430\u044f \u0446\u0435\u043b\u044b\u0435 \u043c\u0430\u0442\u0440\u0438\u0446\u044b \u0433\u0440\u0430\u0444\u0438\u043a\u043e\u0432 (Trellis chart) \u0431\u0443\u043a\u0432\u0430\u043b\u044c\u043d\u043e \u0432 \u043f\u043e\u043b\u0442\u043e\u0440\u044b \u0441\u0442\u0440\u043e\u043a\u0438 \u043a\u043e\u0434\u0430, \u0441\u043e\u0445\u0440\u0430\u043d\u044f\u044f \u043f\u0440\u0438 \u044d\u0442\u043e\u043c \u043f\u043e\u043b\u043d\u0443\u044e \u0438\u043d\u0442\u0435\u0440\u0430\u043a\u0442\u0438\u0432\u043d\u043e\u0441\u0442\u044c \u043a\u0430\u0436\u0434\u043e\u0439 \u043d\u0430\u0440\u0438\u0441\u043e\u0432\u0430\u043d\u043d\u043e\u0439 \u043b\u0438\u043d\u0438\u0438.<\/p>\n<h2>\u0424\u0438\u0448\u043a\u0430 \u21164: \u0410\u043d\u0438\u043c\u0430\u0446\u0438\u0438 (\u0412\u0430\u0443-\u044d\u0444\u0444\u0435\u043a\u0442)<\/h2>\n<p>\u0421\u0442\u0430\u0442\u0438\u0447\u043d\u044b\u0435 \u0433\u0440\u0430\u0444\u0438\u043a\u0438 \u2014 \u044d\u0442\u043e \u043e\u0442\u043b\u0438\u0447\u043d\u043e. \u0424\u0430\u0441\u0435\u0442\u043d\u044b\u0435 \u0433\u0440\u0430\u0444\u0438\u043a\u0438 \u2014 \u0435\u0449\u0435 \u043b\u0443\u0447\u0448\u0435. \u041d\u043e \u0435\u0441\u043b\u0438 \u0432\u044b \u0445\u043e\u0442\u0438\u0442\u0435 \u0441\u043e\u0440\u0432\u0430\u0442\u044c \u0430\u043f\u043b\u043e\u0434\u0438\u0441\u043c\u0435\u043d\u0442\u044b \u043d\u0430 \u043f\u0440\u0435\u0437\u0435\u043d\u0442\u0430\u0446\u0438\u0438 \u0438\u043b\u0438 \u0437\u0430\u0441\u0442\u0430\u0432\u0438\u0442\u044c \u0437\u0430\u043a\u0430\u0437\u0447\u0438\u043a\u0430 \u0437\u0430\u043b\u0438\u043f\u043d\u0443\u0442\u044c \u0432 \u0434\u0430\u0448\u0431\u043e\u0440\u0434 \u043d\u0430 10 \u043c\u0438\u043d\u0443\u0442, \u0432\u0430\u043c \u043d\u0443\u0436\u043d\u0430 \u0434\u0438\u043d\u0430\u043c\u0438\u043a\u0430.<\/p>\n<p>\u041f\u043e\u043c\u043d\u0438\u0442\u0435 \u0437\u043d\u0430\u043c\u0435\u043d\u0438\u0442\u043e\u0435 \u0432\u044b\u0441\u0442\u0443\u043f\u043b\u0435\u043d\u0438\u0435 \u0425\u0430\u043d\u0441\u0430 \u0420\u043e\u0441\u043b\u0438\u043d\u0433\u0430 \u043d\u0430 TED, \u0433\u0434\u0435 \u043e\u043d \u043f\u043e\u043a\u0430\u0437\u044b\u0432\u0430\u043b \u044d\u0432\u043e\u043b\u044e\u0446\u0438\u044e \u0441\u0442\u0440\u0430\u043d \u043c\u0438\u0440\u0430 \u0432 \u0432\u0438\u0434\u0435 \u0434\u0432\u0438\u0436\u0443\u0449\u0438\u0445\u0441\u044f \u043f\u0443\u0437\u044b\u0440\u0435\u0439? \u0421 \u043f\u043e\u043c\u043e\u0449\u044c\u044e Plotly Express \u043c\u044b \u0432\u043e\u0441\u0441\u043e\u0437\u0434\u0430\u0434\u0438\u043c \u044d\u0442\u043e\u0442 \u0448\u0435\u0434\u0435\u0432\u0440.<\/p>\n<p>\u0414\u043b\u044f \u044d\u0442\u043e\u0433\u043e \u043d\u0430\u043c \u0431\u043e\u043b\u044c\u0448\u0435 \u043d\u0435 \u043d\u0443\u0436\u043d\u043e \u0444\u0438\u043b\u044c\u0442\u0440\u043e\u0432\u0430\u0442\u044c \u0434\u0430\u0442\u0430\u0441\u0435\u0442 \u043f\u043e \u043e\u0434\u043d\u043e\u043c\u0443 \u0433\u043e\u0434\u0443. \u041c\u044b \u0431\u0435\u0440\u0435\u043c \u0432\u0435\u0441\u044c \u043d\u0430\u0448 <code>df<\/code> \u0446\u0435\u043b\u0438\u043a\u043e\u043c \u0438 \u0434\u043e\u0431\u0430\u0432\u043b\u044f\u0435\u043c \u0432\u0441\u0435\u0433\u043e \u0434\u0432\u0430 \u043c\u0430\u0433\u0438\u0447\u0435\u0441\u043a\u0438\u0445 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u0430: <code>animation_frame<\/code> \u0438 <code>animation_group<\/code>.<\/p>\n<pre><code class=\"python\"># \u0421\u0442\u0440\u043e\u0438\u043c \u0430\u043d\u0438\u043c\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0439 \u0433\u0440\u0430\u0444\u0438\u043a \u043f\u043e \u0432\u0441\u0435\u043c\u0443 \u0434\u0430\u0442\u0430\u0441\u0435\u0442\u0443 (\u0441 1952 \u043f\u043e 2007 \u0433\u043e\u0434)fig = px.scatter(    df,     x=\"gdpPercap\",     y=\"lifeExp\",     size=\"pop\",     color=\"continent\",     hover_name=\"country\",    animation_frame=\"year\",       # 1. \u0422\u043e, \u0447\u0442\u043e \u0431\u0443\u0434\u0435\u0442 \u043c\u0435\u043d\u044f\u0442\u044c\u0441\u044f (\u043a\u0430\u0434\u0440\u044b \u0430\u043d\u0438\u043c\u0430\u0446\u0438\u0438)    animation_group=\"country\",    # 2. \u0421\u0443\u0449\u043d\u043e\u0441\u0442\u044c, \u0437\u0430 \u043a\u043e\u0442\u043e\u0440\u043e\u0439 \u043c\u044b \u0441\u043b\u0435\u0434\u0438\u043c \u043c\u0435\u0436\u0434\u0443 \u043a\u0430\u0434\u0440\u0430\u043c\u0438    log_x=True,                   # \u041b\u043e\u0433\u0430\u0440\u0438\u0444\u043c\u0438\u0447\u0435\u0441\u043a\u0430\u044f \u0448\u043a\u0430\u043b\u0430 \u0434\u043b\u044f \u0412\u0412\u041f    size_max=55,     range_x=[100,100000], range_y=[25,90], # 3. \u0416\u0415\u0421\u0422\u041a\u041e \u0424\u0418\u041a\u0421\u0418\u0420\u0423\u0415\u041c \u041e\u0421\u0418!    template=\"plotly_dark\",    title=\"\u042d\u0432\u043e\u043b\u044e\u0446\u0438\u044f \u043c\u0438\u0440\u0430: \u0412\u0412\u041f vs \u041f\u0440\u043e\u0434\u043e\u043b\u0436\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u044c \u0436\u0438\u0437\u043d\u0438 (1952 - 2007)\")fig.show()<\/code><div class=\"code-explainer\"><a href=\"https:\/\/sourcecraft.dev\/\" class=\"tm-button code-explainer__link\" style=\"visibility: hidden;\"><img style=\"width:14px;height:14px;object-fit:cover;object-position:left;\"\/><\/a><\/div><\/pre>\n<figure class=\"\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/\/post_images\/3ee\/f9d\/aed\/3eef9daed0370708b8299085f6a2b3c5.jpg\" sizes=\"(max-width: 780px) 100vw, 50vw\" srcset=\"https:\/\/habrastorage.org\/r\/w780\/getpro\/habr\/\/post_images\/3ee\/f9d\/aed\/3eef9daed0370708b8299085f6a2b3c5.jpg 780w,&#10;       https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/\/post_images\/3ee\/f9d\/aed\/3eef9daed0370708b8299085f6a2b3c5.jpg 781w\" loading=\"lazy\" decode=\"async\"\/><\/figure>\n<p><strong>\u0427\u0442\u043e \u0437\u0434\u0435\u0441\u044c \u043f\u0440\u043e\u0438\u0441\u0445\u043e\u0434\u0438\u0442 \u0438 \u043f\u043e\u0447\u0435\u043c\u0443 \u044d\u0442\u043e \u043a\u0440\u0443\u0442\u043e:<\/strong><\/p>\n<ol>\n<li>\n<p><code><strong>animation_frame=\"year\"<\/strong><\/code><strong>:<\/strong> Plotly \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u0438 \u0441\u043e\u0437\u0434\u0430\u0435\u0442 \u0441\u043b\u0430\u0439\u0434\u0435\u0440 \u0441 \u0433\u043e\u0434\u0430\u043c\u0438 \u0432\u043d\u0438\u0437\u0443 \u0433\u0440\u0430\u0444\u0438\u043a\u0430 \u0438 \u0434\u043e\u0431\u0430\u0432\u043b\u044f\u0435\u0442 \u043a\u043d\u043e\u043f\u043a\u0438 <strong>\u00abPlay\u00bb<\/strong> \u0438 <strong>\u00abPause\u00bb<\/strong>. \u041f\u043e \u043a\u043b\u0438\u043a\u0443 \u043d\u0430 Play \u0434\u0430\u043d\u043d\u044b\u0435 \u043d\u0430\u0447\u0438\u043d\u0430\u044e\u0442 \u043e\u0436\u0438\u0432\u0430\u0442\u044c, \u043f\u043e\u043a\u0430\u0437\u044b\u0432\u0430\u044f \u043f\u043e\u043b\u0435\u0442 \u0442\u043e\u0447\u0435\u043a \u0441\u043a\u0432\u043e\u0437\u044c \u0434\u0435\u0441\u044f\u0442\u0438\u043b\u0435\u0442\u0438\u044f.<\/p>\n<\/li>\n<li>\n<p><code><strong>animation_group=\"country\"<\/strong><\/code><strong>:<\/strong> \u042d\u0442\u043e \u0432\u0430\u0436\u043d\u0435\u0439\u0448\u0438\u0439 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440. \u0411\u0435\u0437 \u043d\u0435\u0433\u043e Plotly \u043f\u0440\u043e\u0441\u0442\u043e \u043f\u0435\u0440\u0435\u0440\u0438\u0441\u043e\u0432\u044b\u0432\u0430\u043b \u0431\u044b \u043d\u043e\u0432\u044b\u0435 \u0442\u043e\u0447\u043a\u0438 \u043a\u0430\u0436\u0434\u044b\u0439 \u043a\u0430\u0434\u0440. \u0423\u043a\u0430\u0437\u0430\u0432 <code>country<\/code>, \u043c\u044b \u0433\u043e\u0432\u043e\u0440\u0438\u043c \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0435: <em>\u00ab\u0422\u043e\u0447\u043a\u0430 \u041a\u0438\u0442\u0430\u044f \u0432 1952 \u0433\u043e\u0434\u0443 \u0438 \u0442\u043e\u0447\u043a\u0430 \u041a\u0438\u0442\u0430\u044f \u0432 1957 \u0433\u043e\u0434\u0443 \u2014 \u044d\u0442\u043e \u043e\u0434\u0438\u043d \u0438 \u0442\u043e\u0442 \u0436\u0435 \u043e\u0431\u044a\u0435\u043a\u0442\u00bb<\/em>. \u0411\u043b\u0430\u0433\u043e\u0434\u0430\u0440\u044f \u044d\u0442\u043e\u043c\u0443 Plotly \u043f\u043b\u0430\u0432\u043d\u043e \u0438\u043d\u0442\u0435\u0440\u043f\u043e\u043b\u0438\u0440\u0443\u0435\u0442 (\u0430\u043d\u0438\u043c\u0438\u0440\u0443\u0435\u0442) \u0434\u0432\u0438\u0436\u0435\u043d\u0438\u0435 \u043f\u0443\u0437\u044b\u0440\u044c\u043a\u043e\u0432 \u043e\u0442 \u043a\u0430\u0434\u0440\u0430 \u043a \u043a\u0430\u0434\u0440\u0443, \u0430 \u043d\u0435 \u0437\u0430\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u0442 \u0438\u0445 \u0434\u0435\u0440\u0433\u0430\u043d\u043e \u0442\u0435\u043b\u0435\u043f\u043e\u0440\u0442\u0438\u0440\u043e\u0432\u0430\u0442\u044c\u0441\u044f.<\/p>\n<\/li>\n<li>\n<p><strong>\u041f\u0440\u043e-\u0441\u043e\u0432\u0435\u0442 (<\/strong><code><strong>range_x<\/strong><\/code><strong> \u0438 <\/strong><code><strong>range_y<\/strong><\/code><strong>):<\/strong> \u041e\u0431\u0440\u0430\u0442\u0438\u0442\u0435 \u0432\u043d\u0438\u043c\u0430\u043d\u0438\u0435, \u0447\u0442\u043e \u043c\u044b \u0436\u0435\u0441\u0442\u043a\u043e \u0437\u0430\u0444\u0438\u043a\u0441\u0438\u0440\u043e\u0432\u0430\u043b\u0438 \u0433\u0440\u0430\u043d\u0438\u0446\u044b \u043e\u0441\u0435\u0439. \u0415\u0441\u043b\u0438 \u044d\u0442\u043e\u0433\u043e \u043d\u0435 \u0441\u0434\u0435\u043b\u0430\u0442\u044c, Plotly \u0431\u0443\u0434\u0435\u0442 \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u0438 \u043f\u0435\u0440\u0435\u0441\u0447\u0438\u0442\u044b\u0432\u0430\u0442\u044c \u043c\u0430\u0441\u0448\u0442\u0430\u0431 \u043e\u0441\u0435\u0439 \u043f\u043e\u0434 \u043a\u0430\u0436\u0434\u044b\u0439 \u043a\u0430\u0434\u0440. \u0412 \u0438\u0442\u043e\u0433\u0435 \u043e\u0441\u0438 \u0431\u0443\u0434\u0443\u0442 \u201c\u043f\u0440\u044b\u0433\u0430\u0442\u044c\u201d, \u0430 \u0430\u043d\u0438\u043c\u0430\u0446\u0438\u044f \u043f\u043e\u0442\u0435\u0440\u044f\u0435\u0442 \u0432\u0441\u044f\u043a\u0438\u0439 \u0441\u043c\u044b\u0441\u043b. \u041f\u0440\u0438 \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u0438 \u0430\u043d\u0438\u043c\u0430\u0446\u0438\u0439 <em>\u0432\u0441\u0435\u0433\u0434\u0430<\/em> \u0444\u0438\u043a\u0441\u0438\u0440\u0443\u0439\u0442\u0435 \u043e\u0441\u0438!<\/p>\n<\/li>\n<\/ol>\n<p>\u0418\u0442\u043e\u0433: \u043c\u044b \u043d\u0430\u043f\u0438\u0441\u0430\u043b\u0438 \u043e\u0434\u043d\u0443 \u0444\u0443\u043d\u043a\u0446\u0438\u044e, \u0430 \u043f\u043e\u043b\u0443\u0447\u0438\u043b\u0438 \u043f\u043e\u043b\u043d\u043e\u0446\u0435\u043d\u043d\u044b\u0439 \u0438\u043d\u0442\u0435\u0440\u0430\u043a\u0442\u0438\u0432\u043d\u044b\u0439 \u043f\u043b\u0435\u0435\u0440 \u0438\u0441\u0442\u043e\u0440\u0438\u0447\u0435\u0441\u043a\u0438\u0445 \u0434\u0430\u043d\u043d\u044b\u0445. \u041d\u0438\u043a\u0430\u043a\u043e\u0433\u043e Adobe After Effects, \u0442\u043e\u043b\u044c\u043a\u043e Python!<\/p>\n<h2>\u0424\u0438\u0448\u043a\u0430 \u21165: \u042d\u043b\u0435\u043c\u0435\u043d\u0442\u044b \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044f (\u041a\u043d\u043e\u043f\u043a\u0438 \u0438 \u0441\u043b\u0430\u0439\u0434\u0435\u0440\u044b \u0431\u0435\u0437 Dash\/Streamlit)<\/h2>\n<p>\u0414\u043e\u043f\u0443\u0441\u0442\u0438\u043c, \u0432\u044b \u043f\u043e\u0441\u0442\u0440\u043e\u0438\u043b\u0438 \u043e\u0442\u043b\u0438\u0447\u043d\u044b\u0439 \u0433\u0440\u0430\u0444\u0438\u043a, \u043d\u043e \u0442\u0435\u043f\u0435\u0440\u044c \u0437\u0430\u043a\u0430\u0437\u0447\u0438\u043a \u0433\u043e\u0432\u043e\u0440\u0438\u0442: <em>\u00ab\u0410 \u043c\u043e\u0436\u043d\u043e \u0434\u043e\u0431\u0430\u0432\u0438\u0442\u044c \u043a\u043d\u043e\u043f\u043e\u0447\u043a\u0438, \u0447\u0442\u043e\u0431\u044b \u044f \u0441\u0430\u043c \u043f\u0435\u0440\u0435\u043a\u043b\u044e\u0447\u0430\u043b \u043c\u0435\u0442\u0440\u0438\u043a\u0438? \u0418 \u043f\u043e\u043b\u0437\u0443\u043d\u043e\u043a \u0434\u043b\u044f \u0432\u044b\u0431\u043e\u0440\u0430 \u0434\u0430\u0442?\u00bb<\/em>.<\/p>\n<p>\u041e\u0431\u044b\u0447\u043d\u043e \u0432 \u044d\u0442\u043e\u0442 \u043c\u043e\u043c\u0435\u043d\u0442 Python-\u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a \u0442\u044f\u0436\u0435\u043b\u043e \u0432\u0437\u0434\u044b\u0445\u0430\u0435\u0442 \u0438 \u0438\u0434\u0435\u0442 \u0440\u0430\u0437\u0432\u043e\u0440\u0430\u0447\u0438\u0432\u0430\u0442\u044c \u0442\u044f\u0436\u0435\u043b\u044b\u0435 \u0444\u0440\u0435\u0439\u043c\u0432\u043e\u0440\u043a\u0438 \u0432\u0440\u043e\u0434\u0435 Dash \u0438\u043b\u0438 Streamlit, \u043f\u0438\u0441\u0430\u0442\u044c \u043a\u043e\u043b\u043b\u0431\u044d\u043a\u0438 \u0438 \u043f\u043e\u0434\u043d\u0438\u043c\u0430\u0442\u044c \u0441\u0435\u0440\u0432\u0435\u0440. \u041d\u043e Plotly \u0443\u043c\u0435\u0435\u0442 \u0432\u0441\u0442\u0440\u0430\u0438\u0432\u0430\u0442\u044c \u0431\u0430\u0437\u043e\u0432\u044b\u0435 \u044d\u043b\u0435\u043c\u0435\u043d\u0442\u044b \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044f (\u0432\u0438\u0434\u0436\u0435\u0442\u044b) <strong>\u043f\u0440\u044f\u043c\u043e \u0432 \u0441\u0430\u043c \u0433\u0440\u0430\u0444\u0438\u043a<\/strong>, \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044f JavaScript \u043f\u043e\u0434 \u043a\u0430\u043f\u043e\u0442\u043e\u043c. \u041d\u0438\u043a\u0430\u043a\u043e\u0433\u043e \u0431\u044d\u043a\u0435\u043d\u0434\u0430 \u043d\u0435 \u043d\u0443\u0436\u043d\u043e \u2014 HTML-\u0444\u0430\u0439\u043b \u043e\u0441\u0442\u0430\u043d\u0435\u0442\u0441\u044f \u0430\u0432\u0442\u043e\u043d\u043e\u043c\u043d\u044b\u043c!<\/p>\n<p>\u0417\u0434\u0435\u0441\u044c \u043c\u044b \u043d\u0435\u043c\u043d\u043e\u0433\u043e \u043f\u0440\u0438\u043a\u043e\u0441\u043d\u0435\u043c\u0441\u044f \u043a \u043a\u043e\u043d\u0446\u0435\u043f\u0446\u0438\u0438 <strong>Graph Objects (go)<\/strong>. \u0414\u0430\u0436\u0435 \u0435\u0441\u043b\u0438 \u043c\u044b \u0441\u043e\u0437\u0434\u0430\u0435\u043c \u0433\u0440\u0430\u0444\u0438\u043a \u0447\u0435\u0440\u0435\u0437 Express, \u043c\u044b \u0432\u0441\u0435\u0433\u0434\u0430 \u043c\u043e\u0436\u0435\u043c \u00ab\u043f\u0440\u043e\u0432\u0430\u043b\u0438\u0442\u044c\u0441\u044f\u00bb \u043d\u0430 \u0443\u0440\u043e\u0432\u0435\u043d\u044c \u043d\u0438\u0436\u0435 \u0438 \u043c\u043e\u0434\u0438\u0444\u0438\u0446\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0435\u0433\u043e \u043c\u0430\u043a\u0435\u0442 (layout) \u0447\u0435\u0440\u0435\u0437 \u043c\u0435\u0442\u043e\u0434\u044b <code>update_layout<\/code> \u0438\u043b\u0438 <code>update_xaxes<\/code>.<\/p>\n<p>\u0414\u043b\u044f \u044d\u0442\u043e\u0433\u043e \u043f\u0440\u0438\u043c\u0435\u0440\u0430 \u0434\u0430\u0442\u0430\u0441\u0435\u0442 \u0441 \u0433\u043e\u0434\u0430\u043c\u0438 \u043d\u0430\u043c \u043d\u0435 \u043f\u043e\u0434\u043e\u0439\u0434\u0435\u0442, \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u0432\u043e\u0437\u044c\u043c\u0435\u043c \u0434\u0440\u0443\u0433\u043e\u0439 \u0432\u0441\u0442\u0440\u043e\u0435\u043d\u043d\u044b\u0439 \u043d\u0430\u0431\u043e\u0440 \u0434\u0430\u043d\u043d\u044b\u0445 \u2014 \u043a\u043e\u0442\u0438\u0440\u043e\u0432\u043a\u0438 \u0430\u043a\u0446\u0438\u0439 (<code>px.data.stocks()<\/code>).<\/p>\n<p><strong>1. Range Slider (\u041f\u043e\u043b\u0437\u0443\u043d\u043e\u043a \u0434\u0430\u0442) \u0438 \u043a\u043d\u043e\u043f\u043a\u0438 \u043f\u0435\u0440\u0438\u043e\u0434\u043e\u0432<\/strong><\/p>\n<p>\u042d\u0442\u043e \u0430\u0431\u0441\u043e\u043b\u044e\u0442\u043d\u044b\u0439 \u043c\u0430\u0441\u0442-\u0445\u044d\u0432 \u0434\u043b\u044f \u043b\u044e\u0431\u044b\u0445 \u0432\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0445 \u0440\u044f\u0434\u043e\u0432 (time-series). \u041c\u044b \u043f\u043e\u0441\u0442\u0440\u043e\u0438\u043c \u0433\u0440\u0430\u0444\u0438\u043a \u0430\u043a\u0446\u0438\u0439 \u0438 \u0434\u043e\u0431\u0430\u0432\u0438\u043c \u043a \u043d\u0435\u043c\u0443 \u0444\u0438\u043d\u0430\u043d\u0441\u043e\u0432\u044b\u0435 \u043a\u043d\u043e\u043f\u043a\u0438 \u043c\u0430\u0441\u0448\u0442\u0430\u0431\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f (1 \u043c\u0435\u0441\u044f\u0446, 6 \u043c\u0435\u0441\u044f\u0446\u0435\u0432, \u0432\u0435\u0441\u044c \u043f\u0435\u0440\u0438\u043e\u0434).<\/p>\n<pre><code class=\"python\"># \u0417\u0430\u0433\u0440\u0443\u0436\u0430\u0435\u043c \u0434\u0430\u043d\u043d\u044b\u0435 \u043f\u043e \u0430\u043a\u0446\u0438\u044f\u043cdf_stocks = px.data.stocks()# \u0421\u0442\u0440\u043e\u0438\u043c \u0431\u0430\u0437\u043e\u0432\u044b\u0439 \u043b\u0438\u043d\u0435\u0439\u043d\u044b\u0439 \u0433\u0440\u0430\u0444\u0438\u043afig = px.line(    df_stocks,     x='date',     y='GOOG',     title='\u0414\u0438\u043d\u0430\u043c\u0438\u043a\u0430 \u0430\u043a\u0446\u0438\u0439 Google: Range Slider \u0438 \u043a\u043d\u043e\u043f\u043a\u0438',    template=\"plotly_dark\")# \u0414\u043e\u0431\u0430\u0432\u043b\u044f\u0435\u043c \u043c\u0430\u0433\u0438\u044e \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u043e\u0441\u044c\u044e Xfig.update_xaxes(    rangeslider_visible=True, # \u0412\u043a\u043b\u044e\u0447\u0430\u0435\u043c \u043d\u0438\u0436\u043d\u0438\u0439 \u043f\u043e\u043b\u0437\u0443\u043d\u043e\u043a    rangeselector=dict(       # \u0414\u043e\u0431\u0430\u0432\u043b\u044f\u0435\u043c \u043a\u043d\u043e\u043f\u043a\u0438 \u0431\u044b\u0441\u0442\u0440\u043e\u0433\u043e \u0432\u044b\u0431\u043e\u0440\u0430        buttons=list([            dict(count=1, label=\"1 \u043c\u0435\u0441\", step=\"month\", stepmode=\"backward\"),            dict(count=6, label=\"6 \u043c\u0435\u0441\", step=\"month\", stepmode=\"backward\"),            dict(step=\"all\", label=\"\u0412\u0441\u0451 \u0432\u0440\u0435\u043c\u044f\")        ]),        bgcolor=\"#1f2937\" # \u0421\u0442\u0438\u043b\u0438\u0437\u0443\u0435\u043c \u0444\u043e\u043d \u043a\u043d\u043e\u043f\u043e\u043a \u043f\u043e\u0434 \u0442\u0435\u043c\u043d\u0443\u044e \u0442\u0435\u043c\u0443    ))fig.show()<\/code><div class=\"code-explainer\"><a href=\"https:\/\/sourcecraft.dev\/\" class=\"tm-button code-explainer__link\" style=\"visibility: hidden;\"><img style=\"width:14px;height:14px;object-fit:cover;object-position:left;\"\/><\/a><\/div><\/pre>\n<figure class=\"\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/\/post_images\/19f\/90c\/e18\/19f90ce184f6fd0d065d1ce9b0926081.jpg\" sizes=\"(max-width: 780px) 100vw, 50vw\" srcset=\"https:\/\/habrastorage.org\/r\/w780\/getpro\/habr\/\/post_images\/19f\/90c\/e18\/19f90ce184f6fd0d065d1ce9b0926081.jpg 780w,&#10;       https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/\/post_images\/19f\/90c\/e18\/19f90ce184f6fd0d065d1ce9b0926081.jpg 781w\" loading=\"lazy\" decode=\"async\"\/><\/figure>\n<p>\u0422\u0435\u043f\u0435\u0440\u044c \u043f\u043e\u0434 \u043e\u0441\u043d\u043e\u0432\u043d\u044b\u043c \u0433\u0440\u0430\u0444\u0438\u043a\u043e\u043c \u043f\u043e\u044f\u0432\u0438\u043b\u0430\u0441\u044c \u043c\u0438\u043d\u0438-\u043a\u0430\u0440\u0442\u0430 (\u043a\u0430\u043a \u0432 \u0444\u0438\u043d\u0430\u043d\u0441\u043e\u0432\u044b\u0445 \u0442\u0435\u0440\u043c\u0438\u043d\u0430\u043b\u0430\u0445), \u0437\u0430 \u043a\u0440\u0430\u044f \u043a\u043e\u0442\u043e\u0440\u043e\u0439 \u043c\u043e\u0436\u043d\u043e \u0442\u044f\u043d\u0443\u0442\u044c. \u0410 \u0432 \u043b\u0435\u0432\u043e\u043c \u0432\u0435\u0440\u0445\u043d\u0435\u043c \u0443\u0433\u043b\u0443 \u2014 \u043a\u043b\u0438\u043a\u0430\u0431\u0435\u043b\u044c\u043d\u044b\u0435 \u043a\u043d\u043e\u043f\u043a\u0438, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043c\u0433\u043d\u043e\u0432\u0435\u043d\u043d\u043e \u0437\u0443\u043c\u0438\u0440\u0443\u044e\u0442 \u0433\u0440\u0430\u0444\u0438\u043a \u0434\u043e \u043d\u0443\u0436\u043d\u043e\u0433\u043e \u043f\u0435\u0440\u0438\u043e\u0434\u0430.<\/p>\n<p><strong>2. \u0412\u044b\u043f\u0430\u0434\u0430\u044e\u0449\u0438\u0439 \u0441\u043f\u0438\u0441\u043e\u043a (Dropdown Menu)<\/strong><\/p>\n<p>\u0410 \u0442\u0435\u043f\u0435\u0440\u044c \u0434\u0430\u0432\u0430\u0439\u0442\u0435 \u0434\u043e\u0431\u0430\u0432\u0438\u043c \u0432\u044b\u043f\u0430\u0434\u0430\u044e\u0449\u0435\u0435 \u043c\u0435\u043d\u044e, \u043a\u043e\u0442\u043e\u0440\u043e\u0435 \u043f\u043e\u0437\u0432\u043e\u043b\u0438\u0442 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044e \u043d\u0430 \u043b\u0435\u0442\u0443 \u043c\u0435\u043d\u044f\u0442\u044c \u0442\u0438\u043f \u0433\u0440\u0430\u0444\u0438\u043a\u0430, \u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u043f\u0435\u0440\u0435\u043a\u043b\u044e\u0447\u0430\u0442\u044c\u0441\u044f \u0441 \u043f\u0440\u0438\u0432\u044b\u0447\u043d\u044b\u0445 \u043b\u0438\u043d\u0438\u0439 \u043d\u0430 \u0441\u0442\u043e\u043b\u0431\u0447\u0430\u0442\u0443\u044e \u0434\u0438\u0430\u0433\u0440\u0430\u043c\u043c\u0443 (Bar chart).<\/p>\n<p>\u0414\u043b\u044f \u044d\u0442\u043e\u0433\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440 <code>updatemenus<\/code> \u0432 \u043c\u0430\u043a\u0435\u0442\u0435 \u0433\u0440\u0430\u0444\u0438\u043a\u0430:<\/p>\n<pre><code class=\"python\">fig.update_layout(    updatemenus=[        dict(            buttons=list([                # \u041a\u043d\u043e\u043f\u043a\u0430 1: \u0434\u0435\u043b\u0430\u0435\u0442 \u0433\u0440\u0430\u0444\u0438\u043a \u043b\u0438\u043d\u0435\u0439\u043d\u044b\u043c                dict(label=\"\u041b\u0438\u043d\u0435\u0439\u043d\u044b\u0439 \u0433\u0440\u0430\u0444\u0438\u043a\",                      method=\"restyle\",                      args=[\"type\", \"scatter\"]),                                     # \u041a\u043d\u043e\u043f\u043a\u0430 2: \u043f\u0440\u0435\u0432\u0440\u0430\u0449\u0430\u0435\u0442 \u0433\u0440\u0430\u0444\u0438\u043a \u0432 \u0441\u0442\u043e\u043b\u0431\u0446\u044b                dict(label=\"\u0421\u0442\u043e\u043b\u0431\u0438\u043a\u0438 (Bar)\",                      method=\"restyle\",                      args=[\"type\", \"bar\"]),            ]),            direction=\"down\", # \u041c\u0435\u043d\u044e \u0432\u044b\u043f\u0430\u0434\u0430\u0435\u0442 \u0432\u043d\u0438\u0437            showactive=True,  # \u041f\u043e\u0434\u0441\u0432\u0435\u0447\u0438\u0432\u0430\u0442\u044c \u0432\u044b\u0431\u0440\u0430\u043d\u043d\u044b\u0439 \u043f\u0443\u043d\u043a\u0442            x=0.01,           # \u041f\u043e\u0437\u0438\u0446\u0438\u044f \u043f\u043e \u043e\u0441\u0438 X            y=1.15            # \u041f\u043e\u0437\u0438\u0446\u0438\u044f \u043f\u043e \u043e\u0441\u0438 Y (\u0447\u0443\u0442\u044c \u0432\u044b\u0448\u0435 \u0433\u0440\u0430\u0444\u0438\u043a\u0430)        )    ])fig.show()<\/code><div class=\"code-explainer\"><a href=\"https:\/\/sourcecraft.dev\/\" class=\"tm-button code-explainer__link\" style=\"visibility: hidden;\"><img style=\"width:14px;height:14px;object-fit:cover;object-position:left;\"\/><\/a><\/div><\/pre>\n<figure class=\"\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/\/post_images\/292\/606\/02a\/29260602aa243aa40f15657b97832afc.jpg\" sizes=\"(max-width: 780px) 100vw, 50vw\" srcset=\"https:\/\/habrastorage.org\/r\/w780\/getpro\/habr\/\/post_images\/292\/606\/02a\/29260602aa243aa40f15657b97832afc.jpg 780w,&#10;       https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/\/post_images\/292\/606\/02a\/29260602aa243aa40f15657b97832afc.jpg 781w\" loading=\"lazy\" decode=\"async\"\/><\/figure>\n<p><strong>\u041a\u0430\u043a \u044d\u0442\u043e \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442:<\/strong> \u0421\u0435\u043a\u0440\u0435\u0442 \u043a\u0440\u043e\u0435\u0442\u0441\u044f \u0432 \u0430\u0440\u0433\u0443\u043c\u0435\u043d\u0442\u0435 <code>method=\"restyle\"<\/code>. \u041a\u043e\u0433\u0434\u0430 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044c \u0432\u044b\u0431\u0438\u0440\u0430\u0435\u0442 \u043f\u0443\u043d\u043a\u0442 \u0432 \u043c\u0435\u043d\u044e, Plotly \u043d\u0435 \u043f\u0435\u0440\u0435\u0440\u0438\u0441\u043e\u0432\u044b\u0432\u0430\u0435\u0442 \u0433\u0440\u0430\u0444\u0438\u043a \u0441 \u043d\u0443\u043b\u044f \u0438 \u043d\u0435 \u043e\u0431\u0440\u0430\u0449\u0430\u0435\u0442\u0441\u044f \u043a Python. \u041e\u043d \u043f\u0440\u043e\u0441\u0442\u043e \u0431\u0435\u0440\u0435\u0442 \u0442\u0435\u043a\u0443\u0449\u0438\u0435 \u0434\u0430\u043d\u043d\u044b\u0435 \u0438 \u043f\u0440\u0438\u043c\u0435\u043d\u044f\u0435\u0442 \u043a \u043d\u0438\u043c \u043d\u043e\u0432\u043e\u0435 \u0441\u0432\u043e\u0439\u0441\u0442\u0432\u043e (\u0432 \u043d\u0430\u0448\u0435\u043c \u0441\u043b\u0443\u0447\u0430\u0435 \u043c\u0435\u043d\u044f\u0435\u0442 <code>type<\/code> \u043d\u0430 <code>scatter<\/code> \u0438\u043b\u0438 <code>bar<\/code>) \u0441\u0438\u043b\u0430\u043c\u0438 \u0431\u0440\u0430\u0443\u0437\u0435\u0440\u0430.<\/p>\n<p>\u041f\u043e\u043c\u0438\u043c\u043e <code>restyle<\/code> (\u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u0435 \u0432\u043d\u0435\u0448\u043d\u0435\u0433\u043e \u0432\u0438\u0434\u0430), \u0435\u0441\u0442\u044c \u043c\u0435\u0442\u043e\u0434 <code>update<\/code> (\u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u0435 \u0438 \u0434\u0430\u043d\u043d\u044b\u0445, \u0438 \u0432\u043d\u0435\u0448\u043d\u0435\u0433\u043e \u0432\u0438\u0434\u0430 \u043e\u0434\u043d\u043e\u0432\u0440\u0435\u043c\u0435\u043d\u043d\u043e), \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u043a\u043e\u0442\u043e\u0440\u043e\u0433\u043e \u0432 \u0432\u044b\u043f\u0430\u0434\u0430\u044e\u0449\u0438\u0439 \u0441\u043f\u0438\u0441\u043e\u043a \u043c\u043e\u0436\u043d\u043e \u0437\u0430\u0448\u0438\u0442\u044c \u043f\u0435\u0440\u0435\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0435 \u043c\u0435\u0436\u0434\u0443 \u0440\u0430\u0437\u043d\u044b\u043c\u0438 \u043a\u043e\u043b\u043e\u043d\u043a\u0430\u043c\u0438 \u0434\u0430\u0442\u0430\u0441\u0435\u0442\u0430 (\u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u043f\u0435\u0440\u0435\u043a\u043b\u044e\u0447\u0430\u0442\u044c \u0433\u0440\u0430\u0444\u0438\u043a \u0441 \u0430\u043a\u0446\u0438\u0439 Google \u043d\u0430 Apple).<\/p>\n<p>\u0422\u0430\u043a\u0438\u043c \u043e\u0431\u0440\u0430\u0437\u043e\u043c, \u043c\u044b \u0441\u043e\u0431\u0440\u0430\u043b\u0438 \u043f\u043e\u043b\u043d\u043e\u0446\u0435\u043d\u043d\u044b\u0439 \u0438\u043d\u0442\u0435\u0440\u0430\u043a\u0442\u0438\u0432\u043d\u044b\u0439 \u043c\u0438\u043d\u0438-\u0434\u0430\u0448\u0431\u043e\u0440\u0434 \u0432 \u043e\u0434\u043d\u043e\u043c \u043e\u043a\u043d\u0435, \u043d\u0435 \u043d\u0430\u043f\u0438\u0441\u0430\u0432 \u043d\u0438 \u0441\u0442\u0440\u043e\u0447\u043a\u0438 \u0431\u044d\u043a\u0435\u043d\u0434-\u043a\u043e\u0434\u0430.<\/p>\n<h2>\u0424\u0438\u0448\u043a\u0430 \u21166: \u041a\u0430\u0440\u0442\u044b \u0438 3D (\u0412\u044b\u0433\u043b\u044f\u0434\u0438\u0442 \u0434\u043e\u0440\u043e\u0433\u043e)<\/h2>\n<p>\u0415\u0441\u043b\u0438 \u043f\u043e\u0441\u043b\u0435 \u0432\u0441\u0435\u0445 \u043f\u0440\u0435\u0434\u044b\u0434\u0443\u0449\u0438\u0445 \u0444\u0438\u0448\u0435\u043a \u0432\u0430\u0448 \u0442\u0438\u043c\u043b\u0438\u0434, \u043f\u0440\u043e\u0434\u0430\u043a\u0442 \u0438\u043b\u0438 \u0437\u0430\u043a\u0430\u0437\u0447\u0438\u043a \u0432\u0441\u0451 \u0435\u0449\u0451 \u043d\u0435 \u0441\u043a\u0430\u0437\u0430\u043b \u00abWow!\u00bb, \u043f\u043e\u0440\u0430 \u0434\u043e\u0441\u0442\u0430\u0432\u0430\u0442\u044c \u0438\u0437 \u0440\u0443\u043a\u0430\u0432\u0430 \u043a\u043e\u0437\u044b\u0440\u0438. \u0411\u0438\u0437\u043d\u0435\u0441 \u043e\u0431\u043e\u0436\u0430\u0435\u0442 \u043a\u0430\u0440\u0442\u044b. \u041b\u044e\u0431\u043e\u0439 \u043e\u0442\u0447\u0435\u0442 \u0441 \u0433\u0435\u043e\u0433\u0440\u0430\u0444\u0438\u0447\u0435\u0441\u043a\u043e\u0439 \u043a\u0430\u0440\u0442\u043e\u0439 \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u0438 \u0432\u044b\u0433\u043b\u044f\u0434\u0438\u0442 \u0432 \u0434\u0432\u0430 \u0440\u0430\u0437\u0430 \u043f\u0440\u043e\u0444\u0435\u0441\u0441\u0438\u043e\u043d\u0430\u043b\u044c\u043d\u0435\u0435.<\/p>\n<p>\u0412 Plotly Express \u0432\u0441\u0442\u0440\u043e\u0435\u043d\u0430 \u043c\u043e\u0449\u043d\u0430\u044f \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0430 \u043a\u0430\u0440\u0442 (\u0447\u0435\u0440\u0435\u0437 Mapbox \u0438\u043b\u0438 \u0432\u0441\u0442\u0440\u043e\u0435\u043d\u043d\u044b\u0435 \u0433\u0435\u043e-\u0434\u0430\u043d\u043d\u044b\u0435). \u0414\u0430\u0432\u0430\u0439\u0442\u0435 \u0432\u0435\u0440\u043d\u0435\u043c\u0441\u044f \u043a \u043d\u0430\u0448\u0435\u043c\u0443 \u0434\u0430\u0442\u0430\u0441\u0435\u0442\u0443 Gapminder \u0438 \u043f\u043e\u0441\u0442\u0440\u043e\u0438\u043c \u0442\u0435\u043f\u043b\u043e\u0432\u0443\u044e \u043a\u0430\u0440\u0442\u0443 \u043c\u0438\u0440\u0430 (Choropleth map), \u043f\u043e\u043a\u0430\u0437\u0430\u0432 \u0412\u0412\u041f \u0441\u0442\u0440\u0430\u043d \u0432 2007 \u0433\u043e\u0434\u0443.<\/p>\n<p>\u0412\u0430\u043c \u043d\u0435 \u043d\u0443\u0436\u043d\u043e \u0438\u0441\u043a\u0430\u0442\u044c \u0448\u0435\u0439\u043f-\u0444\u0430\u0439\u043b\u044b (shapefiles) \u0438\u043b\u0438 \u043a\u043e\u043e\u0440\u0434\u0438\u043d\u0430\u0442\u044b \u043f\u043e\u043b\u0438\u0433\u043e\u043d\u043e\u0432 \u0434\u043b\u044f \u0441\u0442\u0440\u0430\u043d. Plotly \u0432\u0441\u0451 \u0441\u0434\u0435\u043b\u0430\u0435\u0442 \u0441\u0430\u043c, \u0435\u0441\u043b\u0438 \u0443 \u0432\u0430\u0441 \u0435\u0441\u0442\u044c \u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u043d\u044b\u0439 \u0442\u0440\u0435\u0445\u0431\u0443\u043a\u0432\u0435\u043d\u043d\u044b\u0439 \u043a\u043e\u0434 \u0441\u0442\u0440\u0430\u043d\u044b (ISO Alpha), \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0443\u0434\u0430\u0447\u043d\u043e \u0435\u0441\u0442\u044c \u0432 \u043d\u0430\u0448\u0435\u043c \u0434\u0430\u0442\u0430\u0441\u0435\u0442\u0435.<\/p>\n<pre><code class=\"python\"># \u0421\u0442\u0440\u043e\u0438\u043c \u0442\u0435\u043f\u043b\u043e\u0432\u0443\u044e \u0433\u0435\u043e-\u043a\u0430\u0440\u0442\u0443 (Choropleth)fig = px.choropleth(    df_2007,    locations=\"iso_alpha\",   # \u041a\u043e\u043b\u043e\u043d\u043a\u0430 \u0441 \u043a\u043e\u0434\u0430\u043c\u0438 \u0441\u0442\u0440\u0430\u043d (\u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, RUS, USA)    color=\"gdpPercap\",       # \u041e\u0442 \u0446\u0432\u0435\u0442\u0430 \u0437\u0430\u0432\u0438\u0441\u0438\u0442 \u0412\u0412\u041f    hover_name=\"country\",    # \u041f\u0440\u0438 \u043d\u0430\u0432\u0435\u0434\u0435\u043d\u0438\u0438 \u043f\u043e\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u043c \u043d\u0430\u0437\u0432\u0430\u043d\u0438\u0435 \u0441\u0442\u0440\u0430\u043d\u044b    color_continuous_scale=px.colors.sequential.Plasma, # \u041a\u0440\u0430\u0441\u0438\u0432\u0430\u044f \u043f\u0430\u043b\u0438\u0442\u0440\u0430    projection=\"natural earth\", # \u0414\u0435\u043b\u0430\u0435\u043c \u043a\u0430\u0440\u0442\u0443 \u043f\u043b\u043e\u0441\u043a\u043e\u0439, \u043d\u043e \u043e\u043a\u0440\u0443\u0433\u043b\u043e\u0439 (\u0430 \u043d\u0435 \u043f\u0440\u044f\u043c\u043e\u0443\u0433\u043e\u043b\u044c\u043d\u043e\u0439)    title=\"\u0412\u0412\u041f \u043d\u0430 \u0434\u0443\u0448\u0443 \u043d\u0430\u0441\u0435\u043b\u0435\u043d\u0438\u044f \u043f\u043e \u0441\u0442\u0440\u0430\u043d\u0430\u043c \u043c\u0438\u0440\u0430 (2007)\",    template=\"plotly_dark\")fig.show()<\/code><div class=\"code-explainer\"><a href=\"https:\/\/sourcecraft.dev\/\" class=\"tm-button code-explainer__link\" style=\"visibility: hidden;\"><img style=\"width:14px;height:14px;object-fit:cover;object-position:left;\"\/><\/a><\/div><\/pre>\n<figure class=\"\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/\/post_images\/456\/185\/c4c\/456185c4c5ce1104485f1da04c2fdee4.jpg\" sizes=\"(max-width: 780px) 100vw, 50vw\" srcset=\"https:\/\/habrastorage.org\/r\/w780\/getpro\/habr\/\/post_images\/456\/185\/c4c\/456185c4c5ce1104485f1da04c2fdee4.jpg 780w,&#10;       https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/\/post_images\/456\/185\/c4c\/456185c4c5ce1104485f1da04c2fdee4.jpg 781w\" loading=\"lazy\" decode=\"async\"\/><\/figure>\n<p>\u0417\u0430\u043f\u0443\u0441\u0442\u0438\u0432 \u044d\u0442\u043e, \u0432\u044b \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u0435 \u043f\u043e\u0442\u0440\u044f\u0441\u0430\u044e\u0449\u0443\u044e \u0438\u043d\u0442\u0435\u0440\u0430\u043a\u0442\u0438\u0432\u043d\u0443\u044e \u043a\u0430\u0440\u0442\u0443 \u043c\u0438\u0440\u0430. \u0412\u044b \u043c\u043e\u0436\u0435\u0442\u0435 \u043f\u0440\u0438\u0431\u043b\u0438\u0436\u0430\u0442\u044c \u0435\u0451 \u043a\u043e\u043b\u0435\u0441\u0438\u043a\u043e\u043c \u043c\u044b\u0448\u0438, \u0434\u0432\u0438\u0433\u0430\u0442\u044c \u043a\u043e\u043d\u0442\u0438\u043d\u0435\u043d\u0442\u044b \u0438 \u043d\u0430\u0432\u043e\u0434\u0438\u0442\u044c \u043a\u0443\u0440\u0441\u043e\u0440 \u043d\u0430 \u0441\u0442\u0440\u0430\u043d\u044b, \u0447\u0442\u043e\u0431\u044b \u0443\u0437\u043d\u0430\u0442\u044c \u0442\u043e\u0447\u043d\u044b\u0435 \u0446\u0438\u0444\u0440\u044b.<\/p>\n<p><strong>\u0410 \u0447\u0442\u043e \u043d\u0430\u0441\u0447\u0435\u0442 3D?<\/strong><\/p>\n<p>\u0415\u0441\u043b\u0438 \u0432\u0430\u0448\u0438 \u0434\u0430\u043d\u043d\u044b\u0435 \u043d\u0435 \u043f\u0440\u0438\u0432\u044f\u0437\u0430\u043d\u044b \u043a \u0433\u0435\u043e\u0433\u0440\u0430\u0444\u0438\u0438, \u043d\u043e \u0443 \u0432\u0430\u0441 \u0435\u0441\u0442\u044c \u0442\u0440\u0438 \u0432\u0430\u0436\u043d\u044b\u0445 \u043d\u0435\u043f\u0440\u0435\u0440\u044b\u0432\u043d\u044b\u0445 \u043f\u0440\u0438\u0437\u043d\u0430\u043a\u0430, \u043f\u0435\u0440\u0435\u0445\u043e\u0434\u0438\u0442\u0435 \u0432 3D. \u042d\u0442\u043e \u0434\u0435\u043b\u0430\u0435\u0442\u0441\u044f \u0431\u0443\u043a\u0432\u0430\u043b\u044c\u043d\u043e \u0437\u0430\u043c\u0435\u043d\u043e\u0439 \u0441\u043b\u043e\u0432\u0430 <code>scatter<\/code> \u043d\u0430 <code>scatter_3d<\/code>:<\/p>\n<pre><code class=\"python\"># \u0422\u0440\u0435\u0445\u043c\u0435\u0440\u043d\u044b\u0439 \u0433\u0440\u0430\u0444\u0438\u043afig = px.scatter_3d(    df_2007,     x='gdpPercap',     y='lifeExp',     z='pop',               # \u041f\u043e\u044f\u0432\u0438\u043b\u0430\u0441\u044c \u043e\u0441\u044c Z!    color='continent',     size='pop',     hover_name='country',    template=\"plotly_dark\",    title=\"3D: \u0412\u0412\u041f, \u041f\u0440\u043e\u0434\u043e\u043b\u0436\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u044c \u0436\u0438\u0437\u043d\u0438 \u0438 \u041d\u0430\u0441\u0435\u043b\u0435\u043d\u0438\u0435\")fig.show()<\/code><div class=\"code-explainer\"><a href=\"https:\/\/sourcecraft.dev\/\" class=\"tm-button code-explainer__link\" style=\"visibility: hidden;\"><img style=\"width:14px;height:14px;object-fit:cover;object-position:left;\"\/><\/a><\/div><\/pre>\n<figure class=\"\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/\/post_images\/9f7\/466\/1a3\/9f74661a3320a675e16a3f6012ca6445.jpg\" sizes=\"(max-width: 780px) 100vw, 50vw\" srcset=\"https:\/\/habrastorage.org\/r\/w780\/getpro\/habr\/\/post_images\/9f7\/466\/1a3\/9f74661a3320a675e16a3f6012ca6445.jpg 780w,&#10;       https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/\/post_images\/9f7\/466\/1a3\/9f74661a3320a675e16a3f6012ca6445.jpg 781w\" loading=\"lazy\" decode=\"async\"\/><\/figure>\n<p>\u0412 \u0431\u0440\u0430\u0443\u0437\u0435\u0440\u0435 \u043e\u0442\u0440\u0435\u043d\u0434\u0435\u0440\u0438\u0442\u0441\u044f \u043f\u043e\u043b\u043d\u043e\u0446\u0435\u043d\u043d\u0430\u044f 3D-\u0441\u0446\u0435\u043d\u0430. \u0412\u044b \u043c\u043e\u0436\u0435\u0442\u0435 \u0432\u0440\u0430\u0449\u0430\u0442\u044c \u044d\u0442\u043e\u0442 \u043a\u0443\u0431 \u0434\u0430\u043d\u043d\u044b\u0445 \u043c\u044b\u0448\u043a\u043e\u0439 \u043f\u043e\u0434 \u043b\u044e\u0431\u044b\u043c \u0443\u0433\u043b\u043e\u043c, \u043e\u0442\u0434\u0430\u043b\u044f\u0442\u044c \u0438 \u043f\u0440\u0438\u0431\u043b\u0438\u0436\u0430\u0442\u044c \u0435\u0433\u043e. \u0413\u043b\u0430\u0432\u043d\u043e\u0435 \u043f\u0440\u0430\u0432\u0438\u043b\u043e 3D-\u0433\u0440\u0430\u0444\u0438\u043a\u043e\u0432: \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0439\u0442\u0435 \u0438\u0445 \u0441 \u043e\u0441\u0442\u043e\u0440\u043e\u0436\u043d\u043e\u0441\u0442\u044c\u044e, \u0447\u0442\u043e\u0431\u044b \u043d\u0435 \u043f\u0435\u0440\u0435\u0433\u0440\u0443\u0437\u0438\u0442\u044c \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f, \u043d\u043e \u0434\u043b\u044f \u043f\u0440\u0435\u0437\u0435\u043d\u0442\u0430\u0446\u0438\u0439 \u2014 \u044d\u0442\u043e \u0441\u0442\u043e\u043f\u0440\u043e\u0446\u0435\u043d\u0442\u043d\u044b\u0439 \u0445\u0438\u0442.<\/p>\n<h2>4. \u042d\u043a\u0441\u043f\u043e\u0440\u0442 \u0438 \u0448\u0435\u0440\u0438\u043d\u0433: \u041a\u0430\u043a \u043f\u043e\u043a\u0430\u0437\u0430\u0442\u044c \u044d\u0442\u043e \u043a\u043e\u043b\u043b\u0435\u0433\u0430\u043c?<\/h2>\n<p>\u0412\u044b \u043d\u0430\u043f\u0438\u0441\u0430\u043b\u0438 \u0438\u0434\u0435\u0430\u043b\u044c\u043d\u044b\u0439 \u043a\u043e\u0434, \u043f\u043e\u0434\u043e\u0431\u0440\u0430\u043b\u0438 \u043f\u0430\u043b\u0438\u0442\u0440\u0443, \u043d\u0430\u0441\u0442\u0440\u043e\u0438\u043b\u0438 \u0430\u043d\u0438\u043c\u0430\u0446\u0438\u0438 \u0438 \u0442\u0435\u043f\u0435\u0440\u044c \u0445\u043e\u0442\u0438\u0442\u0435 \u043f\u043e\u043a\u0430\u0437\u0430\u0442\u044c \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442 \u0442\u0438\u043c\u043b\u0438\u0434\u0443 \u0438\u043b\u0438 \u0437\u0430\u043a\u0430\u0437\u0447\u0438\u043a\u0443. \u041d\u043e \u0443 \u043d\u0438\u0445, \u0441\u043a\u043e\u0440\u0435\u0435 \u0432\u0441\u0435\u0433\u043e, \u043d\u0435 \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043b\u0435\u043d Python, \u043d\u0435\u0442 Jupyter Notebook, \u0438 \u043e\u043d\u0438 \u0442\u043e\u0447\u043d\u043e \u043d\u0435 \u0431\u0443\u0434\u0443\u0442 \u0437\u0430\u043f\u0443\u0441\u043a\u0430\u0442\u044c \u0432\u0430\u0448 \u0441\u043a\u0440\u0438\u043f\u0442 \u0447\u0435\u0440\u0435\u0437 \u0442\u0435\u0440\u043c\u0438\u043d\u0430\u043b.<\/p>\n<p>\u0417\u0434\u0435\u0441\u044c Plotly \u043f\u0440\u0435\u0434\u043b\u0430\u0433\u0430\u0435\u0442 \u0434\u0432\u0430 \u044d\u043b\u0435\u0433\u0430\u043d\u0442\u043d\u044b\u0445 \u043f\u0443\u0442\u0438: \u0441\u043e\u0445\u0440\u0430\u043d\u0438\u0442\u044c \u0433\u0440\u0430\u0444\u0438\u043a \u043a\u0430\u043a \u043f\u043e\u043b\u043d\u043e\u0446\u0435\u043d\u043d\u043e\u0435 \u0438\u043d\u0442\u0435\u0440\u0430\u043a\u0442\u0438\u0432\u043d\u043e\u0435 \u0432\u0435\u0431-\u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0435 \u0438\u043b\u0438 \u0441\u0434\u0435\u043b\u0430\u0442\u044c \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0435\u043d\u043d\u0443\u044e \u0441\u0442\u0430\u0442\u0438\u0447\u043d\u0443\u044e \u043a\u0430\u0440\u0442\u0438\u043d\u043a\u0443 \u0434\u043b\u044f \u043f\u0440\u0435\u0437\u0435\u043d\u0442\u0430\u0446\u0438\u0438.<\/p>\n<h3>\u041f\u0443\u0442\u044c 1: \u0410\u0432\u0442\u043e\u043d\u043e\u043c\u043d\u044b\u0439 HTML (\u0421\u043e\u0445\u0440\u0430\u043d\u044f\u0435\u043c \u0438\u043d\u0442\u0435\u0440\u0430\u043a\u0442\u0438\u0432\u043d\u043e\u0441\u0442\u044c)<\/h3>\n<p>\u042d\u0442\u043e \u0441\u0430\u043c\u0430\u044f \u043a\u0438\u043b\u043b\u0435\u0440-\u0444\u0438\u0447\u0430 Plotly \u0434\u043b\u044f \u043a\u043e\u043c\u043c\u0443\u043d\u0438\u043a\u0430\u0446\u0438\u0438. \u0412\u044b \u043c\u043e\u0436\u0435\u0442\u0435 \u0441\u043e\u0445\u0440\u0430\u043d\u0438\u0442\u044c \u0441\u0432\u043e\u0439 \u0433\u0440\u0430\u0444\u0438\u043a \u0432 \u043e\u0431\u044b\u0447\u043d\u044b\u0439 <code>.html<\/code> \u0444\u0430\u0439\u043b.<\/p>\n<pre><code class=\"python\"># \u0421\u043e\u0445\u0440\u0430\u043d\u044f\u0435\u043c \u043d\u0430\u0448 \u043f\u043e\u0442\u0440\u044f\u0441\u0430\u044e\u0449\u0438\u0439 3D-\u0433\u0440\u0430\u0444\u0438\u043a \u0438\u043b\u0438 \u0430\u043d\u0438\u043c\u0430\u0446\u0438\u044efig.write_html(\"my_awesome_graph.html\")<\/code><div class=\"code-explainer\"><a href=\"https:\/\/sourcecraft.dev\/\" class=\"tm-button code-explainer__link\" style=\"visibility: hidden;\"><img style=\"width:14px;height:14px;object-fit:cover;object-position:left;\"\/><\/a><\/div><\/pre>\n<p><strong>\u0412 \u0447\u0435\u043c \u043c\u0430\u0433\u0438\u044f?<\/strong> Plotly \u0437\u0430\u043f\u0430\u043a\u0443\u0435\u0442 \u0432\u043d\u0443\u0442\u0440\u044c \u044d\u0442\u043e\u0433\u043e \u0444\u0430\u0439\u043b\u0430 \u0438 \u0432\u0430\u0448\u0438 \u0434\u0430\u043d\u043d\u044b\u0435, \u0438 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u044b\u0439 JavaScript-\u043a\u043e\u0434 \u0434\u043b\u044f \u043e\u0442\u0440\u0438\u0441\u043e\u0432\u043a\u0438. \u041d\u0430 \u0432\u044b\u0445\u043e\u0434\u0435 \u043f\u043e\u043b\u0443\u0447\u0430\u0435\u0442\u0441\u044f \u0430\u0431\u0441\u043e\u043b\u044e\u0442\u043d\u043e \u0430\u0432\u0442\u043e\u043d\u043e\u043c\u043d\u044b\u0439 \u0444\u0430\u0439\u043b \u0440\u0430\u0437\u043c\u0435\u0440\u043e\u043c \u0432 \u043f\u0430\u0440\u0443 \u043c\u0435\u0433\u0430\u0431\u0430\u0439\u0442. \u0412\u044b \u043c\u043e\u0436\u0435\u0442\u0435 \u043e\u0442\u043f\u0440\u0430\u0432\u0438\u0442\u044c \u0435\u0433\u043e \u043a\u043e\u043b\u043b\u0435\u0433\u0435 \u0432 Telegram \u0438\u043b\u0438 \u043f\u043e \u043f\u043e\u0447\u0442\u0435.<\/p>\n<p>\u041a\u043e\u043b\u043b\u0435\u0433\u0430 \u043f\u0440\u043e\u0441\u0442\u043e \u043a\u043b\u0438\u043a\u0430\u0435\u0442 \u043f\u043e \u0444\u0430\u0439\u043b\u0443, \u043e\u043d \u043e\u0442\u043a\u0440\u044b\u0432\u0430\u0435\u0442\u0441\u044f \u0432 \u043b\u044e\u0431\u043e\u043c \u0431\u0440\u0430\u0443\u0437\u0435\u0440\u0435 (Chrome, Safari, Edge), \u0438 \u0442\u0430\u043c \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442 <strong>\u0430\u0431\u0441\u043e\u043b\u044e\u0442\u043d\u043e \u0432\u0441\u0451<\/strong>: \u0437\u0443\u043c, \u0432\u0441\u043f\u043b\u044b\u0432\u0430\u044e\u0449\u0438\u0435 \u043f\u043e\u0434\u0441\u043a\u0430\u0437\u043a\u0438, \u043a\u043d\u043e\u043f\u043a\u0438, \u0430\u043d\u0438\u043c\u0430\u0446\u0438\u0438 \u0438 3D-\u0432\u0440\u0430\u0449\u0435\u043d\u0438\u0435. \u041d\u0438\u043a\u0430\u043a\u0438\u0445 \u0441\u0435\u0440\u0432\u0435\u0440\u043e\u0432 \u0438 \u0431\u044d\u043a\u0435\u043d\u0434\u0430 \u043f\u043e\u0434\u043d\u0438\u043c\u0430\u0442\u044c \u043d\u0435 \u043d\u0443\u0436\u043d\u043e!<\/p>\n<h3>\u041f\u0443\u0442\u044c 2: \u0421\u0442\u0430\u0442\u0438\u043a\u0430 \u0434\u043b\u044f \u043f\u0440\u0435\u0437\u0435\u043d\u0442\u0430\u0446\u0438\u0439 (PNG, JPEG, SVG)<\/h3>\n<p>\u0418\u043d\u043e\u0433\u0434\u0430 \u0438\u043d\u0442\u0435\u0440\u0430\u043a\u0442\u0438\u0432\u043d\u043e\u0441\u0442\u044c \u043d\u0435 \u043d\u0443\u0436\u043d\u0430. \u0415\u0441\u043b\u0438 \u0432\u0430\u043c \u043d\u0443\u0436\u043d\u043e \u043f\u0440\u043e\u0441\u0442\u043e \u0432\u0441\u0442\u0430\u0432\u0438\u0442\u044c \u0433\u0440\u0430\u0444\u0438\u043a \u0432 PowerPoint, Google Slides \u0438\u043b\u0438 \u0441\u043a\u0443\u0447\u043d\u044b\u0439 PDF-\u043e\u0442\u0447\u0435\u0442, \u0433\u0440\u0430\u0444\u0438\u043a \u043d\u0443\u0436\u043d\u043e \u0440\u0430\u0441\u0442\u0435\u0440\u0438\u0437\u043e\u0432\u0430\u0442\u044c.<\/p>\n<p>\u0414\u043b\u044f \u044d\u0442\u043e\u0433\u043e \u0432 Plotly \u0435\u0441\u0442\u044c \u043c\u0435\u0442\u043e\u0434 <code>write_image()<\/code>. \u041d\u043e \u0442\u0443\u0442 \u0435\u0441\u0442\u044c \u043e\u0434\u0438\u043d <strong>\u0432\u0430\u0436\u043d\u044b\u0439 \u043d\u044e\u0430\u043d\u0441<\/strong>, \u043e \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0447\u0430\u0441\u0442\u043e \u0441\u043f\u043e\u0442\u044b\u043a\u0430\u044e\u0442\u0441\u044f \u043d\u043e\u0432\u0438\u0447\u043a\u0438: \u0447\u0442\u043e\u0431\u044b \u043f\u0440\u0435\u0432\u0440\u0430\u0442\u0438\u0442\u044c \u0432\u0435\u0431-\u0433\u0440\u0430\u0444\u0438\u043a \u0432 \u043a\u0430\u0440\u0442\u0438\u043d\u043a\u0443 \u0431\u0435\u0437 \u043e\u0442\u043a\u0440\u044b\u0442\u0438\u044f \u0431\u0440\u0430\u0443\u0437\u0435\u0440\u0430, \u043f\u043e\u0434 \u043a\u0430\u043f\u043e\u0442\u043e\u043c Python \u043d\u0443\u0436\u0435\u043d \u0441\u043f\u0435\u0446\u0438\u0430\u043b\u044c\u043d\u044b\u0439 \u0434\u0432\u0438\u0436\u043e\u043a. \u0420\u0430\u043d\u044c\u0448\u0435 \u0434\u043b\u044f \u044d\u0442\u043e\u0433\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043b\u0438 \u0442\u044f\u0436\u0435\u043b\u044b\u0439 <em>orca<\/em>, \u0441\u0435\u0439\u0447\u0430\u0441 \u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u043e\u043c \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f <strong>Kaleido<\/strong>.<\/p>\n<p>\u0421\u043d\u0430\u0447\u0430\u043b\u0430 \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u0435 \u0435\u0433\u043e \u0447\u0435\u0440\u0435\u0437 \u0442\u0435\u0440\u043c\u0438\u043d\u0430\u043b:<\/p>\n<pre><code class=\"bash\">pip install -U kaleido<\/code><div class=\"code-explainer\"><a href=\"https:\/\/sourcecraft.dev\/\" class=\"tm-button code-explainer__link\" style=\"visibility: hidden;\"><img style=\"width:14px;height:14px;object-fit:cover;object-position:left;\"\/><\/a><\/div><\/pre>\n<p>\u0410 \u0437\u0430\u0442\u0435\u043c \u043f\u0440\u043e\u0441\u0442\u043e \u0441\u043e\u0445\u0440\u0430\u043d\u044f\u0439\u0442\u0435 \u0433\u0440\u0430\u0444\u0438\u043a\u0438 \u0432 \u043b\u044e\u0431\u043e\u043c \u043d\u0443\u0436\u043d\u043e\u043c \u0444\u043e\u0440\u043c\u0430\u0442\u0435:<\/p>\n<pre><code class=\"python\"># \u041e\u0431\u044b\u0447\u043d\u044b\u0439 PNGfig.write_image(\"graph.png\")# \u0425\u043e\u0442\u0438\u0442\u0435 \u0438\u0434\u0435\u0430\u043b\u044c\u043d\u043e\u0435 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u043e \u0434\u043b\u044f \u043f\u0435\u0447\u0430\u0442\u0438? \u0421\u043e\u0445\u0440\u0430\u043d\u044f\u0435\u043c \u0432 \u0432\u0435\u043a\u0442\u043e\u0440!fig.write_image(\"graph.svg\")# \u041c\u043e\u0436\u043d\u043e \u0434\u0430\u0436\u0435 \u043d\u0430\u0441\u0442\u0440\u043e\u0438\u0442\u044c \u043c\u0430\u0441\u0448\u0442\u0430\u0431 \u0438 \u0440\u0430\u0437\u0440\u0435\u0448\u0435\u043d\u0438\u0435 \u043d\u0430 \u043b\u0435\u0442\u0443fig.write_image(\"graph_high_res.png\", scale=2, width=1920, height=1080)<\/code><div class=\"code-explainer\"><a href=\"https:\/\/sourcecraft.dev\/\" class=\"tm-button code-explainer__link\" style=\"visibility: hidden;\"><img style=\"width:14px;height:14px;object-fit:cover;object-position:left;\"\/><\/a><\/div><\/pre>\n<p>\u0412\u0435\u043a\u0442\u043e\u0440\u043d\u044b\u0439 \u0444\u043e\u0440\u043c\u0430\u0442 (<code>.svg<\/code>) \u043e\u0441\u043e\u0431\u0435\u043d\u043d\u043e \u0445\u043e\u0440\u043e\u0448: \u0432\u044b \u043c\u043e\u0436\u0435\u0442\u0435 \u0437\u0430\u043a\u0438\u043d\u0443\u0442\u044c \u0435\u0433\u043e \u0432 Figma \u0438\u043b\u0438 Illustrator \u0438 \u043f\u0440\u0438 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e\u0441\u0442\u0438 \u0434\u043e\u043f\u0438\u043b\u0438\u0442\u044c \u0434\u0438\u0437\u0430\u0439\u043d \u0440\u0443\u043a\u0430\u043c\u0438 \u0434\u043e \u043f\u0438\u043a\u0441\u0435\u043b\u044c\u043d\u043e\u0433\u043e \u0438\u0434\u0435\u0430\u043b\u0430.<\/p>\n<h2>5. \u0417\u0430\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0435: \u0412\u044b\u0432\u043e\u0434\u044b \u0438 \u043d\u0435\u043c\u043d\u043e\u0433\u043e \u0447\u0435\u0441\u0442\u043d\u043e\u0441\u0442\u0438<\/h2>\n<p>\u041c\u044b \u0441 \u0432\u0430\u043c\u0438 \u043f\u0440\u043e\u0448\u043b\u0438 \u043f\u0443\u0442\u044c \u043e\u0442 \u043f\u0440\u043e\u0441\u0442\u043e\u0433\u043e \u0432\u044b\u0432\u043e\u0434\u0430 <code>print(df)<\/code> \u0434\u043e \u0438\u043d\u0442\u0435\u0440\u0430\u043a\u0442\u0438\u0432\u043d\u044b\u0445 3D-\u0441\u0446\u0435\u043d \u0438 \u0430\u0432\u0442\u043e\u043d\u043e\u043c\u043d\u044b\u0445 \u0434\u0430\u0448\u0431\u043e\u0440\u0434\u043e\u0432 \u0432 HTML. \u0418 \u0432\u0441\u0451 \u044d\u0442\u043e \u0431\u0435\u0437 \u0437\u043d\u0430\u043d\u0438\u044f \u0444\u0440\u043e\u043d\u0442\u0435\u043d\u0434\u0430, JavaScript \u0438\u043b\u0438 \u0441\u043b\u043e\u0436\u043d\u044b\u0445 \u0444\u0440\u0435\u0439\u043c\u0432\u043e\u0440\u043a\u043e\u0432.<\/p>\n<p><strong>\u041a\u0440\u0430\u0442\u043a\u043e\u0435 \u0440\u0435\u0437\u044e\u043c\u0435 \u0434\u043b\u044f \u0437\u0430\u043a\u0440\u0435\u043f\u043b\u0435\u043d\u0438\u044f:<\/strong><\/p>\n<ul>\n<li>\n<p><strong>Plotly Express (<\/strong><code><strong>px<\/strong><\/code><strong>)<\/strong> \u2014 \u0432\u0430\u0448 \u043b\u0443\u0447\u0448\u0438\u0439 \u0434\u0440\u0443\u0433 \u043d\u0430 \u043a\u0430\u0436\u0434\u044b\u0439 \u0434\u0435\u043d\u044c. \u041f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \u0441\u0442\u0440\u043e\u0438\u0442\u044c \u0441\u043b\u043e\u0436\u043d\u044b\u0435, \u0441\u0433\u0440\u0443\u043f\u043f\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0435 \u0438 \u0430\u043d\u0438\u043c\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0435 \u0433\u0440\u0430\u0444\u0438\u043a\u0438 \u0432 1\u20132 \u0441\u0442\u0440\u043e\u043a\u0438 \u043a\u043e\u0434\u0430.<\/p>\n<\/li>\n<li>\n<p><strong>Graph Objects (<\/strong><code><strong>go<\/strong><\/code><strong>)<\/strong> \u2014 \u0442\u044f\u0436\u0435\u043b\u0430\u044f \u0430\u0440\u0442\u0438\u043b\u043b\u0435\u0440\u0438\u044f. \u0418\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0439\u0442\u0435, \u043a\u043e\u0433\u0434\u0430 \u043d\u0443\u0436\u043d\u043e \u0441\u043e\u0431\u0440\u0430\u0442\u044c \u0433\u0440\u0430\u0444\u0438\u043a \u043f\u043e \u043a\u0438\u0440\u043f\u0438\u0447\u0438\u043a\u0430\u043c \u0438\u043b\u0438 \u0434\u043e\u0431\u0430\u0432\u0438\u0442\u044c \u043a\u0430\u0441\u0442\u043e\u043c\u043d\u044b\u0435 \u043a\u043d\u043e\u043f\u043a\u0438 \u0438 \u043f\u043e\u043b\u0437\u0443\u043d\u043a\u0438.<\/p>\n<\/li>\n<li>\n<p><strong>\u042d\u043a\u0441\u043f\u043e\u0440\u0442 \u0432 HTML<\/strong> \u2014 \u0438\u0434\u0435\u0430\u043b\u044c\u043d\u044b\u0439 \u0441\u043f\u043e\u0441\u043e\u0431 \u0434\u0435\u043b\u0438\u0442\u044c\u0441\u044f \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u0430\u043c\u0438 \u0441 \u0431\u0438\u0437\u043d\u0435\u0441\u043e\u043c \u0438 \u043a\u043e\u043b\u043b\u0435\u0433\u0430\u043c\u0438, \u0441\u043e\u0445\u0440\u0430\u043d\u044f\u044f \u0432\u0441\u044e \u043c\u0430\u0433\u0438\u044e \u0438\u043d\u0442\u0435\u0440\u0430\u043a\u0442\u0438\u0432\u0430.<\/p>\n<\/li>\n<\/ul>\n<p><strong>\u041b\u043e\u0436\u043a\u0430 \u0434\u0435\u0433\u0442\u044f (\u041a\u043e\u0433\u0434\u0430 Plotly \u0432\u0430\u043c \u041d\u0415 \u043f\u043e\u0434\u043e\u0439\u0434\u0435\u0442)<\/strong><\/p>\n<p>\u041d\u0430 \u0425\u0430\u0431\u0440\u0435 \u043d\u0435 \u043f\u0440\u0438\u043d\u044f\u0442\u043e \u0442\u043e\u043b\u044c\u043a\u043e \u0445\u0432\u0430\u043b\u0438\u0442\u044c \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u044b, \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u0434\u0430\u0432\u0430\u0439\u0442\u0435 \u043d\u0430\u0447\u0438\u0441\u0442\u043e\u0442\u0443. \u0423 Plotly \u0435\u0441\u0442\u044c \u043e\u0434\u043d\u043e \u0441\u043b\u0430\u0431\u043e\u0435 \u043c\u0435\u0441\u0442\u043e \u2014 \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u044c \u043d\u0430 \u044d\u043a\u0441\u0442\u0440\u0435\u043c\u0430\u043b\u044c\u043d\u043e \u0431\u043e\u043b\u044c\u0448\u0438\u0445 \u043e\u0431\u044a\u0435\u043c\u0430\u0445 \u0434\u0430\u043d\u043d\u044b\u0445.<\/p>\n<p>\u041f\u043e\u0441\u043a\u043e\u043b\u044c\u043a\u0443 Plotly \u0440\u0435\u043d\u0434\u0435\u0440\u0438\u0442 \u0433\u0440\u0430\u0444\u0438\u043a\u0438 \u043f\u0440\u044f\u043c\u043e \u0432 \u0431\u0440\u0430\u0443\u0437\u0435\u0440\u0435 (\u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044f SVG \u0438 WebGL), \u043f\u043e\u043f\u044b\u0442\u043a\u0430 \u0441\u043a\u043e\u0440\u043c\u0438\u0442\u044c \u043e\u0431\u044b\u043a\u043d\u043e\u0432\u0435\u043d\u043d\u043e\u043c\u0443 <code>px.scatter<\/code> \u0434\u0430\u0442\u0430\u0441\u0435\u0442 \u043d\u0430 5 \u043c\u0438\u043b\u043b\u0438\u043e\u043d\u043e\u0432 \u0441\u0442\u0440\u043e\u043a, \u0441\u043a\u043e\u0440\u0435\u0435 \u0432\u0441\u0435\u0433\u043e, \u043d\u0430\u043c\u0435\u0440\u0442\u0432\u043e \u043f\u043e\u0432\u0435\u0441\u0438\u0442 \u0432\u0430\u0448\u0443 \u0432\u043a\u043b\u0430\u0434\u043a\u0443 Chrome.<\/p>\n<p>\u0415\u0441\u043b\u0438 \u0432\u0430\u0448\u0430 \u0437\u0430\u0434\u0430\u0447\u0430 \u2014 \u043d\u0430\u0440\u0438\u0441\u043e\u0432\u0430\u0442\u044c \u0441\u044b\u0440\u044b\u0435 \u043b\u043e\u0433\u0438 \u0441\u0435\u0440\u0432\u0435\u0440\u043e\u0432 \u0437\u0430 \u0433\u043e\u0434 \u0438\u043b\u0438 \u043e\u0442\u0440\u0438\u0441\u043e\u0432\u0430\u0442\u044c \u043c\u0438\u043b\u043b\u0438\u0430\u0440\u0434 \u0442\u043e\u0447\u0435\u043a \u043d\u0430 \u043a\u0430\u0440\u0442\u0435, Plotly \u0441\u0434\u0430\u0441\u0442\u0441\u044f. \u0414\u043b\u044f \u0442\u0430\u043a\u0438\u0445 Big Data \u0437\u0430\u0434\u0430\u0447 (\u0433\u0434\u0435 \u0441\u0447\u0435\u0442 \u0438\u0434\u0435\u0442 \u043d\u0430 \u0434\u0435\u0441\u044f\u0442\u043a\u0438 \u043c\u0438\u043b\u043b\u0438\u043e\u043d\u043e\u0432 \u0441\u0442\u0440\u043e\u043a) \u043b\u0443\u0447\u0448\u0435 \u0441\u043c\u043e\u0442\u0440\u0435\u0442\u044c \u0432 \u0441\u0442\u043e\u0440\u043e\u043d\u0443 <strong>Datashader<\/strong> \u0438\u043b\u0438 \u043f\u0440\u0435\u0434\u0432\u0430\u0440\u0438\u0442\u0435\u043b\u044c\u043d\u043e \u0430\u0433\u0440\u0435\u0433\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0434\u0430\u043d\u043d\u044b\u0435 \u0441\u0440\u0435\u0434\u0441\u0442\u0432\u0430\u043c\u0438 Pandas\/PySpark, \u0430 \u0443\u0436\u0435 \u0430\u0433\u0440\u0435\u0433\u0430\u0442\u044b \u0441\u043a\u0430\u0440\u043c\u043b\u0438\u0432\u0430\u0442\u044c \u0432 Plotly.<\/p>\n<p>\u0410\u043d\u043e\u043d\u0441\u044b \u043d\u043e\u0432\u044b\u0445 \u0441\u0442\u0430\u0442\u0435\u0439, \u043f\u043e\u043b\u0435\u0437\u043d\u044b\u0435 \u043c\u0430\u0442\u0435\u0440\u0438\u0430\u043b\u044b, \u0430 \u0442\u0430\u043a \u0436\u0435 \u0435\u0441\u043b\u0438 \u0432 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u0435 \u0443 \u0432\u0430\u0441 \u0432\u043e\u0437\u043d\u0438\u043a\u043d\u0443\u0442 \u0441\u043b\u043e\u0436\u043d\u043e\u0441\u0442\u0438, \u043e\u0431\u0441\u0443\u0434\u0438\u0442\u044c \u0438\u0445 \u0438\u043b\u0438 \u0437\u0430\u0434\u0430\u0442\u044c \u0432\u043e\u043f\u0440\u043e\u0441 \u043f\u043e \u044d\u0442\u043e\u0439 \u0441\u0442\u0430\u0442\u044c\u0435 \u043c\u043e\u0436\u043d\u043e \u0432 <a href=\"https:\/\/t.me\/+NlTdqmVuBkIzMDBi\" rel=\"noopener noreferrer nofollow\"><strong>\u043c\u043e\u0451\u043c Telegram-\u0441\u043e\u043e\u0431\u0449\u0435\u0441\u0442\u0432\u0435<\/strong><\/a>. \u0421\u043c\u0435\u043b\u043e \u0437\u0430\u0445\u043e\u0434\u0438\u0442\u0435, \u0435\u0441\u043b\u0438 \u0447\u0442\u043e-\u0442\u043e \u043f\u043e\u0439\u0434\u0435\u0442 \u043d\u0435 \u0442\u0430\u043a, \u2014 \u043f\u043e\u0441\u0442\u0430\u0440\u0430\u0435\u043c\u0441\u044f \u0440\u0430\u0437\u043e\u0431\u0440\u0430\u0442\u044c\u0441\u044f \u0432\u043c\u0435\u0441\u0442\u0435.<\/p>\n<p>\u041d\u043e \u0434\u043b\u044f 99% \u0437\u0430\u0434\u0430\u0447 \u0430\u043d\u0430\u043b\u0438\u0442\u0438\u043a\u0430, Data Scientist\u2019\u0430 \u0438\u043b\u0438 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u0430 \u2014 \u043e\u0442 \u0440\u0430\u0437\u0432\u0435\u0434\u043e\u0447\u043d\u043e\u0433\u043e \u0430\u043d\u0430\u043b\u0438\u0437\u0430 \u0434\u043e \u043f\u043e\u0434\u0433\u043e\u0442\u043e\u0432\u043a\u0438 \u043f\u0440\u0435\u0437\u0435\u043d\u0442\u0430\u0446\u0438\u0438 \u0434\u043b\u044f \u0441\u0442\u0435\u0439\u043a\u0445\u043e\u043b\u0434\u0435\u0440\u043e\u0432 \u2014 Plotly \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f, \u043f\u043e\u0436\u0430\u043b\u0443\u0439, \u0441\u0430\u043c\u044b\u043c \u0441\u0431\u0430\u043b\u0430\u043d\u0441\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u043c \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u043e\u043c \u043d\u0430 \u0441\u0435\u0433\u043e\u0434\u043d\u044f.<\/p>\n<\/div>\n<p>\u0441\u0441\u044b\u043b\u043a\u0430 \u043d\u0430 \u043e\u0440\u0438\u0433\u0438\u043d\u0430\u043b \u0441\u0442\u0430\u0442\u044c\u0438 <a href=\"https:\/\/habr.com\/ru\/articles\/1025868\/\">https:\/\/habr.com\/ru\/articles\/1025868\/<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>1. \u0412\u0432\u0435\u0434\u0435\u043d\u0438\u0435\u041f\u043e\u043c\u043d\u0438\u0442\u0435, \u043a\u0430\u043a \u0432\u044b \u0432 \u043e\u0447\u0435\u0440\u0435\u0434\u043d\u043e\u0439 \u0440\u0430\u0437 \u0433\u0443\u0433\u043b\u0438\u043b\u0438, \u043a\u0430\u043a \u043f\u043e\u0432\u0435\u0440\u043d\u0443\u0442\u044c \u043f\u043e\u0434\u043f\u0438\u0441\u0438 \u043e\u0441\u0435\u0439 \u0432 Matplotlib \u043d\u0430 45 \u0433\u0440\u0430\u0434\u0443\u0441\u043e\u0432? \u0418\u043b\u0438 \u043a\u0430\u043a \u043d\u0430 \u0441\u043e\u0437\u0432\u043e\u043d\u0435 \u0432\u0430\u0441 \u043f\u0440\u043e\u0441\u0438\u043b\u0438 \u043e\u0431\u044a\u044f\u0441\u043d\u0438\u0442\u044c \u00ab\u0432\u043e\u043d \u0442\u0443 \u0430\u043d\u043e\u043c\u0430\u043b\u044c\u043d\u0443\u044e \u0442\u043e\u0447\u043a\u0443\u00bb \u043d\u0430 \u043a\u0440\u0430\u0441\u0438\u0432\u043e\u043c \u0433\u0440\u0430\u0444\u0438\u043a\u0435 Seaborn, \u0438 \u0432\u0430\u043c \u043f\u0440\u0438\u0445\u043e\u0434\u0438\u043b\u043e\u0441\u044c \u0441\u0443\u0434\u043e\u0440\u043e\u0436\u043d\u043e \u043b\u0435\u0437\u0442\u044c \u0432 Jupyter \u043f\u0438\u0441\u0430\u0442\u044c \u043d\u043e\u0432\u044b\u0435 \u0444\u0438\u043b\u044c\u0442\u0440\u044b, \u043f\u043e\u0442\u043e\u043c\u0443 \u0447\u0442\u043e \u0433\u0440\u0430\u0444\u0438\u043a \u2014 \u044d\u0442\u043e \u043f\u0440\u043e\u0441\u0442\u043e \u0441\u0442\u0430\u0442\u0438\u0447\u043d\u0430\u044f \u043a\u0430\u0440\u0442\u0438\u043d\u043a\u0430? \u0417\u043d\u0430\u043a\u043e\u043c\u0430\u044f \u0431\u043e\u043b\u044c.\u0410 \u0442\u0435\u043f\u0435\u0440\u044c \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u044c\u0442\u0435: \u0432\u044b \u043f\u0438\u0448\u0435\u0442\u0435 \u0432\u0441\u0435\u0433\u043e \u043e\u0434\u043d\u0443 \u0441\u0442\u0440\u043e\u0447\u043a\u0443 \u043a\u043e\u0434\u0430, \u0438 \u0433\u0440\u0430\u0444\u0438\u043a \u043e\u0436\u0438\u0432\u0430\u0435\u0442 \u043f\u0440\u044f\u043c\u043e \u0432 \u0431\u0440\u0430\u0443\u0437\u0435\u0440\u0435. \u041d\u0430\u0432\u043e\u0434\u0438\u0442\u0435 \u043a\u0443\u0440\u0441\u043e\u0440 \u2014 \u043f\u043e\u044f\u0432\u043b\u044f\u044e\u0442\u0441\u044f \u0442\u043e\u0447\u043d\u044b\u0435 \u0446\u0438\u0444\u0440\u044b \u0438 \u043a\u0430\u0442\u0435\u0433\u043e\u0440\u0438\u0438. \u0412\u044b\u0434\u0435\u043b\u044f\u0435\u0442\u0435 \u043e\u0431\u043b\u0430\u0441\u0442\u044c \u043c\u044b\u0448\u043a\u043e\u0439 \u2014 \u0433\u0440\u0430\u0444\u0438\u043a \u043f\u0440\u0438\u0431\u043b\u0438\u0436\u0430\u0435\u0442\u0441\u044f. \u041a\u043b\u0438\u043a\u0430\u0435\u0442\u0435 \u043f\u043e \u043b\u0435\u0433\u0435\u043d\u0434\u0435 \u2014 \u0441\u043a\u0440\u044b\u0432\u0430\u044e\u0442\u0441\u044f \u043b\u0438\u0448\u043d\u0438\u0435 \u0434\u0430\u043d\u043d\u044b\u0435.\u0412\u0441\u0451 \u044d\u0442\u043e \u0443\u043c\u0435\u0435\u0442 Plotly.\u0412 \u044d\u0442\u043e\u0439 \u0441\u0442\u0430\u0442\u044c\u0435 \u043d\u0435 \u0431\u0443\u0434\u0435\u0442 \u0430\u043a\u0430\u0434\u0435\u043c\u0438\u0447\u0435\u0441\u043a\u043e\u0439 \u0432\u043e\u0434\u044b \u0438 \u0431\u0435\u0441\u043a\u043e\u043d\u0435\u0447\u043d\u043e\u0439 \u0442\u0435\u043e\u0440\u0438\u0438. \u041c\u044b \u043f\u0440\u043e\u0441\u0442\u043e \u0432\u043e\u0437\u044c\u043c\u0435\u043c \u0438 \u043f\u0440\u043e\u0439\u0434\u0435\u043c \u043f\u0443\u0442\u044c \u043e\u0442 \u0431\u0430\u0437\u043e\u0432\u044b\u0445 \u0432\u0438\u0437\u0443\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0439 \u0434\u043e \u043c\u043e\u0449\u043d\u044b\u0445 \u0430\u043d\u0438\u043c\u0430\u0446\u0438\u0439 \u0441 \u043f\u043e\u043b\u0437\u0443\u043d\u043a\u0430\u043c\u0438 \u0438 \u043a\u043d\u043e\u043f\u043a\u0430\u043c\u0438. \u042f \u0441\u043e\u0431\u0440\u0430\u043b \u043a\u043e\u043d\u0446\u0435\u043d\u0442\u0440\u0430\u0442 \u0444\u0438\u0448\u0435\u043a, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0437\u0430\u043a\u0440\u043e\u044e\u0442 95% \u0432\u0430\u0448\u0438\u0445 \u043f\u043e\u0432\u0441\u0435\u0434\u043d\u0435\u0432\u043d\u044b\u0445 \u0437\u0430\u0434\u0430\u0447.\u0421\u043a\u043e\u0440\u0435\u0435 \u0432\u0441\u0435\u0433\u043e, \u043f\u043e\u0441\u043b\u0435 \u044d\u0442\u043e\u0433\u043e \u0442\u0443\u0442\u043e\u0440\u0438\u0430\u043b\u0430 \u0432\u044b \u0431\u043e\u043b\u044c\u0448\u0435 \u043d\u0435 \u0437\u0430\u0445\u043e\u0442\u0438\u0442\u0435 \u043f\u0438\u0441\u0430\u0442\u044c import matplotlib.pyplot as plt. \u041f\u043e\u0435\u0445\u0430\u043b\u0438!2. \u041f\u043e\u0434\u0433\u043e\u0442\u043e\u0432\u043a\u0430 \u0438 \u0411\u0430\u0437\u0430: \u0414\u0432\u0435 \u0441\u0442\u043e\u0440\u043e\u043d\u044b \u043e\u0434\u043d\u043e\u0439 \u043c\u0435\u0434\u0430\u043b\u0438\u0413\u043b\u0430\u0432\u043d\u043e\u0435 \u043f\u0440\u0430\u0432\u0438\u043b\u043e \u0445\u043e\u0440\u043e\u0448\u0435\u0433\u043e \u0442\u0443\u0442\u043e\u0440\u0438\u0430\u043b\u0430 \u2014 \u043a\u043e\u0434 \u0434\u043e\u043b\u0436\u0435\u043d \u0437\u0430\u043f\u0443\u0441\u043a\u0430\u0442\u044c\u0441\u044f \u0443 \u0447\u0438\u0442\u0430\u0442\u0435\u043b\u044f \u0441\u0440\u0430\u0437\u0443, \u0431\u0435\u0437 \u0442\u0430\u043d\u0446\u0435\u0432 \u0441 \u0431\u0443\u0431\u043d\u043e\u043c \u0438 \u0441\u043a\u0430\u0447\u0438\u0432\u0430\u043d\u0438\u044f \u043c\u0443\u0442\u043d\u044b\u0445 CSV-\u0444\u0430\u0439\u043b\u043e\u0432. \u041f\u043e\u044d\u0442\u043e\u043c\u0443 \u043c\u044b \u0431\u0443\u0434\u0435\u043c \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0432\u0441\u0442\u0440\u043e\u0435\u043d\u043d\u044b\u0435 \u0434\u0430\u0442\u0430\u0441\u0435\u0442\u044b.\u0414\u043b\u044f \u043d\u0430\u0447\u0430\u043b\u0430 \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u043c \u0432\u0441\u0451 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e\u0435. \u0415\u0441\u043b\u0438 \u0432\u044b \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442\u0435 \u0432 Jupyter Notebook \u0438\u043b\u0438 Google Colab, \u0432\u0430\u043c \u043f\u043e\u043d\u0430\u0434\u043e\u0431\u044f\u0442\u0441\u044f:pip install plotly pandas(\u041f\u0440\u0438\u043c\u0435\u0447\u0430\u043d\u0438\u0435: \u0432 \u0441\u043e\u0432\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0445 \u0432\u0435\u0440\u0441\u0438\u044f\u0445 Colab Plotly \u0443\u0436\u0435 \u043f\u0440\u0435\u0434\u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043b\u0435\u043d, \u043c\u043e\u0436\u043d\u043e \u0441\u0440\u0430\u0437\u0443 \u0438\u043c\u043f\u043e\u0440\u0442\u0438\u0440\u043e\u0432\u0430\u0442\u044c).\u0422\u0435\u043f\u0435\u0440\u044c \u0434\u0430\u0432\u0430\u0439\u0442\u0435 \u0440\u0430\u0437\u0431\u0435\u0440\u0435\u043c \u0433\u043b\u0430\u0432\u043d\u044b\u0439 \u043a\u043e\u043d\u0446\u0435\u043f\u0442\u0443\u0430\u043b\u044c\u043d\u044b\u0439 \u0441\u0435\u043a\u0440\u0435\u0442 Plotly. \u0412\u0441\u044f \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0430 \u0441\u0442\u0440\u043e\u0438\u0442\u0441\u044f \u0432\u043e\u043a\u0440\u0443\u0433 \u0434\u0432\u0443\u0445 \u043e\u0441\u043d\u043e\u0432\u043d\u044b\u0445 \u043c\u043e\u0434\u0443\u043b\u0435\u0439, \u0438 \u0432\u0430\u0436\u043d\u043e \u0441\u0440\u0430\u0437\u0443 \u043f\u043e\u043d\u0438\u043c\u0430\u0442\u044c \u0440\u0430\u0437\u043d\u0438\u0446\u0443 \u043c\u0435\u0436\u0434\u0443 \u043d\u0438\u043c\u0438:Plotly Express (import plotly.express as px) \u2014 \u044d\u0442\u043e \u0432\u0430\u0448\u0430 \u0432\u043e\u043b\u0448\u0435\u0431\u043d\u0430\u044f \u043f\u0430\u043b\u043e\u0447\u043a\u0430. \u041e\u0431\u0435\u0440\u0442\u043a\u0430 \u0432\u044b\u0441\u043e\u043a\u043e\u0433\u043e \u0443\u0440\u043e\u0432\u043d\u044f, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \u0441\u0442\u0440\u043e\u0438\u0442\u044c \u0441\u043b\u043e\u0436\u043d\u0435\u0439\u0448\u0438\u0435 \u0433\u0440\u0430\u0444\u0438\u043a\u0438 \u0432 \u043e\u0434\u043d\u0443 \u0441\u0442\u0440\u043e\u043a\u0443 \u043a\u043e\u0434\u0430. \u041e\u043d\u0430 \u0431\u0435\u0440\u0435\u0442 \u043d\u0430 \u0441\u0435\u0431\u044f \u0432\u0441\u044e \u0433\u0440\u044f\u0437\u043d\u0443\u044e \u0440\u0430\u0431\u043e\u0442\u0443 (\u0446\u0432\u0435\u0442\u0430, \u043b\u0435\u0433\u0435\u043d\u0434\u044b, \u043e\u0441\u0438) \u0438 \u0438\u0434\u0435\u0430\u043b\u044c\u043d\u043e \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442 \u0441 Pandas DataFrame. \u0412 95% \u043f\u043e\u0432\u0441\u0435\u0434\u043d\u0435\u0432\u043d\u044b\u0445 \u0437\u0430\u0434\u0430\u0447 \u0432\u0430\u043c \u043d\u0443\u0436\u0435\u043d \u0438\u043c\u0435\u043d\u043d\u043e Express.Graph Objects (import plotly.graph_objects as go) \u2014 \u044d\u0442\u043e \u043a\u043e\u043d\u0441\u0442\u0440\u0443\u043a\u0442\u043e\u0440 Lego \u0434\u043b\u044f \u0445\u0430\u0440\u0434\u043a\u043e\u0440\u0449\u0438\u043a\u043e\u0432. \u0417\u0434\u0435\u0441\u044c \u0432\u044b \u0432\u0440\u0443\u0447\u043d\u0443\u044e \u0441\u043e\u0431\u0438\u0440\u0430\u0435\u0442\u0435 \u0433\u0440\u0430\u0444\u0438\u043a \u043f\u043e \u043a\u0443\u0441\u043e\u0447\u043a\u0430\u043c: \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u043e \u0441\u043e\u0437\u0434\u0430\u0435\u0442\u0435 \u0444\u0438\u0433\u0443\u0440\u0443 (Figure), \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u043e \u0434\u043e\u0431\u0430\u0432\u043b\u044f\u0435\u0442\u0435 \u043d\u0430 \u043d\u0435\u0435 \u0441\u043b\u043e\u0438-\u0442\u0440\u0430\u0441\u0441\u044b (add_trace), \u0432\u0440\u0443\u0447\u043d\u0443\u044e \u043d\u0430\u0441\u0442\u0440\u0430\u0438\u0432\u0430\u0435\u0442\u0435 \u043c\u0430\u043a\u0435\u0442 (Layout). \u041a\u043e\u0434\u0430 \u043f\u043e\u043b\u0443\u0447\u0430\u0435\u0442\u0441\u044f \u0431\u043e\u043b\u044c\u0448\u0435, \u043d\u043e \u0437\u0430\u0442\u043e \u0432\u044b \u043c\u043e\u0436\u0435\u0442\u0435 \u043a\u0430\u0441\u0442\u043e\u043c\u0438\u0437\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0430\u0431\u0441\u043e\u043b\u044e\u0442\u043d\u043e \u043b\u044e\u0431\u043e\u0439 \u043f\u0438\u043a\u0441\u0435\u043b\u044c.\u0412 \u044d\u0442\u043e\u0439 \u0441\u0442\u0430\u0442\u044c\u0435 \u043c\u044b \u0431\u0443\u0434\u0435\u043c \u0432\u044b\u0436\u0438\u043c\u0430\u0442\u044c \u043c\u0430\u043a\u0441\u0438\u043c\u0443\u043c \u0438\u0437 Plotly Express, \u043f\u043e\u0442\u043e\u043c\u0443 \u0447\u0442\u043e \u043c\u044b \u0445\u043e\u0442\u0438\u043c \u043f\u0438\u0441\u0430\u0442\u044c \u043c\u0435\u043d\u044c\u0448\u0435, \u0430 \u043f\u043e\u043b\u0443\u0447\u0430\u0442\u044c \u0431\u043e\u043b\u044c\u0448\u0435. \u041a Graph Objects \u043c\u044b \u043e\u0431\u0440\u0430\u0442\u0438\u043c\u0441\u044f \u0442\u043e\u043b\u044c\u043a\u043e \u0442\u043e\u0433\u0434\u0430, \u043a\u043e\u0433\u0434\u0430 \u043d\u0430\u043c \u043f\u043e\u043d\u0430\u0434\u043e\u0431\u044f\u0442\u0441\u044f \u043a\u0430\u0441\u0442\u043e\u043c\u043d\u044b\u0435 \u044d\u043b\u0435\u043c\u0435\u043d\u0442\u044b \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044f.\u0414\u0430\u043d\u043d\u044b\u0435 \u0434\u043b\u044f \u044d\u043a\u0441\u043f\u0435\u0440\u0438\u043c\u0435\u043d\u0442\u043e\u0432\u0427\u0442\u043e\u0431\u044b \u043d\u0435 \u0441\u043a\u0443\u0447\u0430\u0442\u044c \u043d\u0430 \u0441\u0438\u043d\u0442\u0435\u0442\u0438\u0447\u0435\u0441\u043a\u0438\u0445 [1, 2, 3], \u0432\u043e\u0437\u044c\u043c\u0435\u043c \u0437\u043d\u0430\u043c\u0435\u043d\u0438\u0442\u044b\u0439 \u0434\u0430\u0442\u0430\u0441\u0435\u0442 Gapminder, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0432\u0441\u0442\u0440\u043e\u0435\u043d \u043f\u0440\u044f\u043c\u043e \u0432 Plotly. \u041e\u043d \u0441\u043e\u0434\u0435\u0440\u0436\u0438\u0442 \u0438\u0441\u0442\u043e\u0440\u0438\u0447\u0435\u0441\u043a\u0438\u0435 \u0434\u0430\u043d\u043d\u044b\u0435 \u043f\u043e \u0441\u0442\u0440\u0430\u043d\u0430\u043c: \u0412\u0412\u041f \u043d\u0430 \u0434\u0443\u0448\u0443 \u043d\u0430\u0441\u0435\u043b\u0435\u043d\u0438\u044f, \u043e\u0436\u0438\u0434\u0430\u0435\u043c\u0430\u044f \u043f\u0440\u043e\u0434\u043e\u043b\u0436\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u044c \u0436\u0438\u0437\u043d\u0438 \u0438 \u0447\u0438\u0441\u043b\u0435\u043d\u043d\u043e\u0441\u0442\u044c \u043d\u0430\u0441\u0435\u043b\u0435\u043d\u0438\u044f.\u0418\u043c\u043f\u043e\u0440\u0442\u0438\u0440\u0443\u0435\u043c \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0438 \u0438 \u0441\u043c\u043e\u0442\u0440\u0438\u043c \u043d\u0430 \u0434\u0430\u043d\u043d\u044b\u0435:import plotly.express as pximport pandas as pd# \u0417\u0430\u0433\u0440\u0443\u0436\u0430\u0435\u043c \u0432\u0441\u0442\u0440\u043e\u0435\u043d\u043d\u044b\u0439 \u0434\u0430\u0442\u0430\u0441\u0435\u0442df = px.data.gapminder()# \u041f\u043e\u0441\u043c\u043e\u0442\u0440\u0438\u043c \u043d\u0430 \u043f\u0435\u0440\u0432\u044b\u0435 5 \u0441\u0442\u0440\u043e\u043a \u0437\u0430 2007 \u0433\u043e\u0434df_2007 = df[df[&#8216;year&#8217;] == 2007]print(df_2007.head())\u0412 \u043e\u0442\u0432\u0435\u0442 \u043c\u044b \u043f\u043e\u043b\u0443\u0447\u0438\u043c \u0430\u043a\u043a\u0443\u0440\u0430\u0442\u043d\u044b\u0439 DataFrame, \u0433\u0434\u0435 \u043a\u0430\u0436\u0434\u0430\u044f \u0441\u0442\u0440\u043e\u043a\u0430 \u2014 \u044d\u0442\u043e \u0441\u0442\u0440\u0430\u043d\u0430 \u0432 \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u043d\u043e\u043c \u0433\u043e\u0434\u0443. \u0414\u0430\u043d\u043d\u044b\u0435 \u0433\u043e\u0442\u043e\u0432\u044b.\u0422\u0435\u043f\u0435\u0440\u044c \u0434\u0430\u0432\u0430\u0439\u0442\u0435 \u043d\u0430\u0440\u0438\u0441\u0443\u0435\u043c \u043d\u0430\u0448 \u043f\u0435\u0440\u0432\u044b\u0439 \u0433\u0440\u0430\u0444\u0438\u043a \u0438 \u043f\u043e\u0441\u043c\u043e\u0442\u0440\u0438\u043c, \u0447\u0442\u043e \u0442\u0430\u043a\u043e\u0435 \u00ab\u0438\u043d\u0442\u0435\u0440\u0430\u043a\u0442\u0438\u0432\u043d\u043e\u0441\u0442\u044c \u0438\u0437 \u043a\u043e\u0440\u043e\u0431\u043a\u0438\u00bb.\u0424\u0438\u0448\u043a\u0430 \u21161: \u0418\u043d\u0442\u0435\u0440\u0430\u043a\u0442\u0438\u0432\u043d\u043e\u0441\u0442\u044c \u00ab\u0438\u0437 \u043a\u043e\u0440\u043e\u0431\u043a\u0438\u00bb (\u0411\u0435\u0437 \u0443\u0441\u0438\u043b\u0438\u0439)\u0414\u0430\u0432\u0430\u0439\u0442\u0435 \u043f\u043e\u0441\u0442\u0440\u043e\u0438\u043c \u0431\u0430\u0437\u043e\u0432\u044b\u0439 \u0442\u043e\u0447\u0435\u0447\u043d\u044b\u0439 \u0433\u0440\u0430\u0444\u0438\u043a (scatter plot). \u041f\u043e\u0441\u043c\u043e\u0442\u0440\u0438\u043c, \u043a\u0430\u043a \u0437\u0430\u0432\u0438\u0441\u0438\u0442 \u043e\u0436\u0438\u0434\u0430\u0435\u043c\u0430\u044f \u043f\u0440\u043e\u0434\u043e\u043b\u0436\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u044c \u0436\u0438\u0437\u043d\u0438 (lifeExp) \u043e\u0442 \u0412\u0412\u041f \u043d\u0430 \u0434\u0443\u0448\u0443 \u043d\u0430\u0441\u0435\u043b\u0435\u043d\u0438\u044f (gdpPercap) \u0432 2007 \u0433\u043e\u0434\u0443.\u0412 Matplotlib \u043d\u0430\u043c \u043f\u0440\u0438\u0448\u043b\u043e\u0441\u044c \u0431\u044b \u0441\u043e\u0437\u0434\u0430\u0432\u0430\u0442\u044c figure, \u0432\u044b\u0437\u044b\u0432\u0430\u0442\u044c scatter, \u043f\u043e\u0434\u043f\u0438\u0441\u044b\u0432\u0430\u0442\u044c \u043e\u0441\u0438\u2026 \u0412 Plotly Express \u044d\u0442\u043e \u0434\u0435\u043b\u0430\u0435\u0442\u0441\u044f \u043e\u0434\u043d\u043e\u0439 \u0441\u0442\u0440\u043e\u043a\u043e\u0439:# \u0421\u0442\u0440\u043e\u0438\u043c \u0431\u0430\u0437\u043e\u0432\u044b\u0439 \u0433\u0440\u0430\u0444\u0438\u043afig = px.scatter(    df_2007,     x=&#187;gdpPercap&#187;,     y=&#187;lifeExp&#187;,     title=&#187;\u0412\u0412\u041f vs \u041f\u0440\u043e\u0434\u043e\u043b\u0436\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u044c \u0436\u0438\u0437\u043d\u0438 (2007)&#187;)# \u041e\u0442\u0440\u0438\u0441\u043e\u0432\u044b\u0432\u0430\u0435\u043cfig.show()\u0415\u0441\u043b\u0438 \u0432\u044b \u0437\u0430\u043f\u0443\u0441\u0442\u0438\u0442\u0435 \u044d\u0442\u043e\u0442 \u043a\u043e\u0434, \u0442\u043e \u0443\u0432\u0438\u0434\u0438\u0442\u0435 \u043d\u0435 \u043f\u0440\u043e\u0441\u0442\u043e \u0441\u0442\u0430\u0442\u0438\u0447\u043d\u0443\u044e \u043a\u0430\u0440\u0442\u0438\u043d\u043a\u0443. \u041e\u0431\u0440\u0430\u0442\u0438\u0442\u0435 \u0432\u043d\u0438\u043c\u0430\u043d\u0438\u0435 \u043d\u0430 \u043f\u0440\u0430\u0432\u044b\u0439 \u0432\u0435\u0440\u0445\u043d\u0438\u0439 \u0443\u0433\u043e\u043b \u0433\u0440\u0430\u0444\u0438\u043a\u0430 \u2014 \u0442\u0430\u043c \u043f\u043e\u044f\u0432\u0438\u0442\u0441\u044f \u043d\u0435\u043f\u0440\u0438\u043c\u0435\u0442\u043d\u0430\u044f, \u043d\u043e \u043d\u0435\u0432\u0435\u0440\u043e\u044f\u0442\u043d\u043e \u043f\u043e\u043b\u0435\u0437\u043d\u0430\u044f \u043f\u0430\u043d\u0435\u043b\u044c \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u043e\u0432 (Modebar).\u0427\u0442\u043e \u0432\u044b \u043f\u043e\u043b\u0443\u0447\u0430\u0435\u0442\u0435 \u0431\u0435\u0441\u043f\u043b\u0430\u0442\u043d\u043e, \u043d\u0430\u043f\u0438\u0441\u0430\u0432 \u0432\u0441\u0435\u0433\u043e \u043e\u0434\u043d\u0443 \u0441\u0442\u0440\u043e\u0447\u043a\u0443 \u043a\u043e\u0434\u0430:\u0417\u0443\u043c (Zoom): \u0417\u0430\u0436\u043c\u0438\u0442\u0435 \u043b\u0435\u0432\u0443\u044e \u043a\u043d\u043e\u043f\u043a\u0443 \u043c\u044b\u0448\u0438 \u0438 \u0432\u044b\u0434\u0435\u043b\u0438\u0442\u0435 \u043f\u0440\u044f\u043c\u043e\u0443\u0433\u043e\u043b\u044c\u043d\u0438\u043a\u043e\u043c \u0441\u043a\u043e\u043f\u043b\u0435\u043d\u0438\u0435 \u0442\u043e\u0447\u0435\u043a \u0432 \u043b\u0435\u0432\u043e\u043c \u043d\u0438\u0436\u043d\u0435\u043c \u0443\u0433\u043b\u0443. \u0413\u0440\u0430\u0444\u0438\u043a \u043c\u0433\u043d\u043e\u0432\u0435\u043d\u043d\u043e \u043f\u0440\u0438\u0431\u043b\u0438\u0437\u0438\u0442\u0441\u044f. \u0427\u0442\u043e\u0431\u044b \u0432\u0435\u0440\u043d\u0443\u0442\u044c \u0432\u0441\u0451 \u043a\u0430\u043a \u0431\u044b\u043b\u043e, \u043f\u0440\u043e\u0441\u0442\u043e \u043a\u043b\u0438\u043a\u043d\u0438\u0442\u0435 \u043f\u043e \u0433\u0440\u0430\u0444\u0438\u043a\u0443 \u0434\u0432\u0430 \u0440\u0430\u0437\u0430.\u041f\u0430\u043d\u043e\u0440\u0430\u043c\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 (Pan): \u0412\u044b\u0431\u0435\u0440\u0438\u0442\u0435 \u0438\u043a\u043e\u043d\u043a\u0443 \u043a\u0440\u0435\u0441\u0442\u0438\u043a\u0430 \u043d\u0430 \u043f\u0430\u043d\u0435\u043b\u0438 \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u043e\u0432, \u0438 \u0432\u044b \u0441\u043c\u043e\u0436\u0435\u0442\u0435 \u201c\u0442\u0430\u0441\u043a\u0430\u0442\u044c\u201d \u0433\u0440\u0430\u0444\u0438\u043a \u043c\u044b\u0448\u043a\u043e\u0439 \u0432 \u043b\u044e\u0431\u044b\u0435 \u0441\u0442\u043e\u0440\u043e\u043d\u044b.\u0421\u043e\u0445\u0440\u0430\u043d\u0435\u043d\u0438\u0435 \u0432 PNG: \u0418\u043a\u043e\u043d\u043a\u0430 \u0444\u043e\u0442\u043e\u0430\u043f\u043f\u0430\u0440\u0430\u0442\u0430 \u0441\u043a\u0430\u0447\u0438\u0432\u0430\u0435\u0442 \u0442\u043e, \u0447\u0442\u043e \u0432\u044b \u0441\u0435\u0439\u0447\u0430\u0441 \u0432\u0438\u0434\u0438\u0442\u0435 \u043d\u0430 \u044d\u043a\u0440\u0430\u043d\u0435, \u0432 \u0432\u0438\u0434\u0435 \u0430\u043a\u043a\u0443\u0440\u0430\u0442\u043d\u043e\u0439 \u043a\u0430\u0440\u0442\u0438\u043d\u043a\u0438. \u0418\u0434\u0435\u0430\u043b\u044c\u043d\u043e \u0434\u043b\u044f \u0442\u043e\u0433\u043e, \u0447\u0442\u043e\u0431\u044b \u0431\u044b\u0441\u0442\u0440\u043e \u0432\u0441\u0442\u0430\u0432\u0438\u0442\u044c \u0433\u0440\u0430\u0444\u0438\u043a \u0432 \u043f\u0440\u0435\u0437\u0435\u043d\u0442\u0430\u0446\u0438\u044e.\u041d\u043e \u0438 \u044d\u0442\u043e \u0435\u0449\u0451 \u043d\u0435 \u0432\u0441\u0451. \u041d\u0430\u0432\u0435\u0434\u0438\u0442\u0435 \u043a\u0443\u0440\u0441\u043e\u0440 \u043d\u0430 \u043b\u044e\u0431\u0443\u044e \u0442\u043e\u0447\u043a\u0443. \u0412\u044b \u0443\u0432\u0438\u0434\u0438\u0442\u0435 \u0432\u0441\u043f\u043b\u044b\u0432\u0430\u044e\u0449\u0443\u044e \u043f\u043e\u0434\u0441\u043a\u0430\u0437\u043a\u0443 (\u0442\u0443\u043b\u0442\u0438\u043f) \u0441 \u0442\u043e\u0447\u043d\u044b\u043c\u0438 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f\u043c\u0438 X \u0438 Y. \u042d\u0442\u043e \u043a\u0440\u0443\u0442\u043e, \u043d\u043e\u2026 \u043d\u0435\u0434\u043e\u0441\u0442\u0430\u0442\u043e\u0447\u043d\u043e.\u041c\u0430\u0433\u0438\u044f hover_data\u0413\u043b\u044f\u0434\u044f \u043d\u0430 \u0433\u0440\u0430\u0444\u0438\u043a, \u043c\u044b \u0432\u0438\u0434\u0438\u043c \u043e\u0434\u0438\u043d\u043e\u043a\u0443\u044e \u0442\u043e\u0447\u043a\u0443 \u0434\u0430\u043b\u0435\u043a\u043e \u0441\u043f\u0440\u0430\u0432\u0430 (\u043e\u0433\u0440\u043e\u043c\u043d\u044b\u0439 \u0412\u0412\u041f, \u0441\u0440\u0435\u0434\u043d\u044f\u044f \u043f\u0440\u043e\u0434\u043e\u043b\u0436\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u044c \u0436\u0438\u0437\u043d\u0438). \u0427\u0442\u043e \u044d\u0442\u043e \u0437\u0430 \u0441\u0442\u0440\u0430\u043d\u0430?\u0412 \u043a\u043b\u0430\u0441\u0441\u0438\u0447\u0435\u0441\u043a\u0438\u0445 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0430\u0445 \u0432\u0430\u043c \u043f\u0440\u0438\u0448\u043b\u043e\u0441\u044c \u0431\u044b \u0432\u0435\u0448\u0430\u0442\u044c \u0442\u0435\u043a\u0441\u0442\u043e\u0432\u044b\u0435 \u044f\u0440\u043b\u044b\u043a\u0438 \u043d\u0430 \u043a\u0430\u0436\u0434\u0443\u044e \u0442\u043e\u0447\u043a\u0443, \u043f\u0440\u0435\u0432\u0440\u0430\u0449\u0430\u044f \u0433\u0440\u0430\u0444\u0438\u043a \u0432 \u043d\u0435\u0447\u0438\u0442\u0430\u0435\u043c\u0443\u044e \u043a\u0430\u0448\u0443 \u0438\u0437 \u0431\u0443\u043a\u0432. \u0412 Plotly \u043c\u044b \u043f\u0440\u043e\u0441\u0442\u043e \u0434\u043e\u0431\u0430\u0432\u043b\u044f\u0435\u043c \u0434\u0430\u043d\u043d\u044b\u0435 \u0432\u043e \u0432\u0441\u043f\u043b\u044b\u0432\u0430\u044e\u0449\u0443\u044e \u043f\u043e\u0434\u0441\u043a\u0430\u0437\u043a\u0443!\u0414\u0430\u0432\u0430\u0439\u0442\u0435 \u043f\u0440\u043e\u043a\u0430\u0447\u0430\u0435\u043c \u043d\u0430\u0448 \u0433\u0440\u0430\u0444\u0438\u043a \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u043e\u0432 hover_name (\u0441\u0434\u0435\u043b\u0430\u0435\u0442 \u0442\u0435\u043a\u0441\u0442 \u0436\u0438\u0440\u043d\u044b\u043c \u0437\u0430\u0433\u043e\u043b\u043e\u0432\u043a\u043e\u043c \u0442\u0443\u043b\u0442\u0438\u043f\u0430) \u0438 hover_data (\u0434\u043e\u0431\u0430\u0432\u0438\u0442 \u043b\u044e\u0431\u044b\u0435 \u043d\u0443\u0436\u043d\u044b\u0435 \u043a\u043e\u043b\u043e\u043d\u043a\u0438 \u0438\u0437 \u0434\u0430\u0442\u0430\u0444\u0440\u0435\u0439\u043c\u0430):fig = px.scatter(    df_2007,     x=&#187;gdpPercap&#187;,     y=&#187;lifeExp&#187;,     title=&#187;\u0412\u0412\u041f vs \u041f\u0440\u043e\u0434\u043e\u043b\u0436\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u044c \u0436\u0438\u0437\u043d\u0438 (2007)&#187;,    hover_name=&#187;country&#187;, # \u0418\u043c\u044f \u0441\u0442\u0440\u0430\u043d\u044b \u0431\u0443\u0434\u0435\u0442 \u0437\u0430\u0433\u043e\u043b\u043e\u0432\u043a\u043e\u043c \u043f\u043e\u0434\u0441\u043a\u0430\u0437\u043a\u0438    hover_data=[&#171;continent&#187;, &#171;pop&#187;] # \u0414\u043e\u0431\u0430\u0432\u043b\u044f\u0435\u043c \u043a\u043e\u043d\u0442\u0438\u043d\u0435\u043d\u0442 \u0438 \u043d\u0430\u0441\u0435\u043b\u0435\u043d\u0438\u0435)fig.show()\u0422\u0435\u043f\u0435\u0440\u044c, \u043d\u0430\u0432\u0435\u0434\u044f \u043c\u044b\u0448\u043a\u0443 \u043d\u0430 \u0442\u0443 \u0441\u0430\u043c\u0443\u044e \u043e\u0442\u043e\u0440\u0432\u0430\u0432\u0448\u0443\u044e\u0441\u044f \u0442\u043e\u0447\u043a\u0443 \u0441\u043f\u0440\u0430\u0432\u0430, \u043c\u044b \u0441\u0440\u0430\u0437\u0443 \u0432\u0438\u0434\u0438\u043c: \u044d\u0442\u043e \u041d\u043e\u0440\u0432\u0435\u0433\u0438\u044f, \u043d\u0430\u0441\u0435\u043b\u0435\u043d\u0438\u0435 \u043e\u043a\u043e\u043b\u043e 4.6 \u043c\u043b\u043d \u0447\u0435\u043b\u043e\u0432\u0435\u043a, \u043a\u043e\u043d\u0442\u0438\u043d\u0435\u043d\u0442 \u0415\u0432\u0440\u043e\u043f\u0430. \u0418 \u043f\u0440\u0438 \u044d\u0442\u043e\u043c \u0441\u0430\u043c \u0433\u0440\u0430\u0444\u0438\u043a \u043e\u0441\u0442\u0430\u043b\u0441\u044f \u0430\u0431\u0441\u043e\u043b\u044e\u0442\u043d\u043e \u0447\u0438\u0441\u0442\u044b\u043c \u0438 \u043d\u0435 \u043f\u0435\u0440\u0435\u0433\u0440\u0443\u0436\u0435\u043d\u043d\u044b\u043c \u0442\u0435\u043a\u0441\u0442\u043e\u043c. \u0418\u0434\u0435\u0430\u043b\u044c\u043d\u043e \u0434\u043b\u044f \u0440\u0430\u0437\u0432\u0435\u0434\u043e\u0447\u043d\u043e\u0433\u043e \u0430\u043d\u0430\u043b\u0438\u0437\u0430 \u0434\u0430\u043d\u043d\u044b\u0445 (EDA)!\u0424\u0438\u0448\u043a\u0430 \u21162: \u0413\u0440\u0443\u043f\u043f\u0438\u0440\u043e\u0432\u043a\u0430 \u0438 \u0441\u0442\u0438\u043b\u0438\u0437\u0430\u0446\u0438\u044f \u0432 \u043e\u0434\u043d\u0443 \u0441\u0442\u0440\u043e\u043a\u0443\u041d\u0430\u0448 \u043f\u0440\u0435\u0434\u044b\u0434\u0443\u0449\u0438\u0439 \u0433\u0440\u0430\u0444\u0438\u043a \u0431\u044b\u043b \u0445\u043e\u0440\u043e\u0448, \u043d\u043e \u043f\u043e\u043a\u0430 \u044d\u0442\u043e \u043f\u0440\u043e\u0441\u0442\u043e \u0441\u043a\u043e\u043f\u043b\u0435\u043d\u0438\u0435 \u043e\u0434\u0438\u043d\u0430\u043a\u043e\u0432\u044b\u0445 \u0441\u0438\u043d\u0438\u0445 \u0442\u043e\u0447\u0435\u043a. \u0427\u0442\u043e, \u0435\u0441\u043b\u0438 \u043c\u044b \u0445\u043e\u0442\u0438\u043c \u0443\u0432\u0438\u0434\u0435\u0442\u044c \u043d\u0430 \u043d\u0451\u043c \u043d\u0435 \u0434\u0432\u0435 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0435 (\u0412\u0412\u041f \u0438 \u043f\u0440\u043e\u0434\u043e\u043b\u0436\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u044c \u0436\u0438\u0437\u043d\u0438), \u0430 \u0441\u0440\u0430\u0437\u0443 \u0447\u0435\u0442\u044b\u0440\u0435? \u0412 Matplotlib \u0432\u0430\u043c \u043f\u0440\u0438\u0448\u043b\u043e\u0441\u044c \u0431\u044b \u043f\u0438\u0441\u0430\u0442\u044c \u0446\u0438\u043a\u043b\u044b \u0434\u043b\u044f \u043f\u0435\u0440\u0435\u0431\u043e\u0440\u0430 \u043a\u0430\u0442\u0435\u0433\u043e\u0440\u0438\u0439, \u0432\u0440\u0443\u0447\u043d\u0443\u044e \u0437\u0430\u0434\u0430\u0432\u0430\u0442\u044c \u043f\u0430\u043b\u0438\u0442\u0440\u044b \u0438 \u0434\u043e\u043b\u0433\u043e \u043c\u0443\u0447\u0438\u0442\u044c\u0441\u044f \u0441 \u043b\u0435\u0433\u0435\u043d\u0434\u043e\u0439.\u0412 Plotly Express \u0432\u0441\u0451 \u0441\u0432\u043e\u0434\u0438\u0442\u0441\u044f \u043a \u0434\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u0438\u044e \u043f\u0430\u0440\u044b \u0430\u0440\u0433\u0443\u043c\u0435\u043d\u0442\u043e\u0432 \u0432 \u0442\u0443 \u0436\u0435 \u0441\u0430\u043c\u0443\u044e \u0444\u0443\u043d\u043a\u0446\u0438\u044e. \u0412\u0441\u0442\u0440\u0435\u0447\u0430\u0439\u0442\u0435 \u0441\u0432\u044f\u0437\u043a\u0443 color, size \u0438 symbol.\u0418, \u0440\u0430\u0437 \u0443\u0436 \u043c\u044b \u043f\u0438\u0448\u0435\u043c \u0441\u0442\u0430\u0442\u044c\u044e \u0434\u043b\u044f \u0425\u0430\u0431\u0440\u0430, \u0434\u0430\u0432\u0430\u0439\u0442\u0435 \u0441\u0440\u0430\u0437\u0443 \u0441\u0434\u0435\u043b\u0430\u0435\u043c \u0433\u0440\u0430\u0444\u0438\u043a \u0441\u0442\u0438\u043b\u044c\u043d\u044b\u043c \u0438 \u043f\u0435\u0440\u0435\u043a\u043b\u044e\u0447\u0438\u043c \u0435\u0433\u043e \u043d\u0430 \u0442\u0451\u043c\u043d\u0443\u044e \u0442\u0435\u043c\u0443!fig = px.scatter(    df_2007,     x=&#187;gdpPercap&#187;,     y=&#187;lifeExp&#187;,    color=&#187;continent&#187;,      # 1. \u041a\u0440\u0430\u0441\u0438\u043c \u0442\u043e\u0447\u043a\u0438 \u0432 \u0437\u0430\u0432\u0438\u0441\u0438\u043c\u043e\u0441\u0442\u0438 \u043e\u0442 \u043a\u043e\u043d\u0442\u0438\u043d\u0435\u043d\u0442\u0430    size=&#187;pop&#187;,             # 2. \u0420\u0430\u0437\u043c\u0435\u0440 \u0442\u043e\u0447\u043a\u0438 \u0437\u0430\u0432\u0438\u0441\u0438\u0442 \u043e\u0442 \u043d\u0430\u0441\u0435\u043b\u0435\u043d\u0438\u044f \u0441\u0442\u0440\u0430\u043d\u044b    size_max=50,            # \u041e\u0433\u0440\u0430\u043d\u0438\u0447\u0438\u0432\u0430\u0435\u043c \u043c\u0430\u043a\u0441\u0438\u043c\u0430\u043b\u044c\u043d\u044b\u0439 \u0440\u0430\u0437\u043c\u0435\u0440 &#171;\u043f\u0443\u0437\u044b\u0440\u044c\u043a\u0430&#187;    symbol=&#187;continent&#187;,     # 3. \u0420\u0430\u0437\u043d\u044b\u0435 \u0433\u0435\u043e\u043c\u0435\u0442\u0440\u0438\u0447\u0435\u0441\u043a\u0438\u0435 \u0444\u0438\u0433\u0443\u0440\u044b \u0434\u043b\u044f \u0440\u0430\u0437\u043d\u044b\u0445 \u043a\u043e\u043d\u0442\u0438\u043d\u0435\u043d\u0442\u043e\u0432    hover_name=&#187;country&#187;,    template=&#187;plotly_dark&#187;, # 4. \u0412\u043a\u043b\u044e\u0447\u0430\u0435\u043c \u0442\u0435\u043c\u043d\u0443\u044e \u0442\u0435\u043c\u0443!    title=&#187;\u0412\u0412\u041f, \u041f\u0440\u043e\u0434\u043e\u043b\u0436\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u044c \u0436\u0438\u0437\u043d\u0438 \u0438 \u041d\u0430\u0441\u0435\u043b\u0435\u043d\u0438\u0435 \u043f\u043e \u043a\u043e\u043d\u0442\u0438\u043d\u0435\u043d\u0442\u0430\u043c (2007)&#187;)fig.show()\u0417\u0430\u043f\u0443\u0441\u043a\u0430\u0435\u043c \u043a\u043e\u0434 \u0438 \u0432\u0438\u0434\u0438\u043c, \u043a\u0430\u043a \u0441\u043a\u0443\u0447\u043d\u044b\u0439 scatter plot \u043c\u043e\u043c\u0435\u043d\u0442\u0430\u043b\u044c\u043d\u043e \u043f\u0440\u0435\u0432\u0440\u0430\u0442\u0438\u043b\u0441\u044f \u0432 \u0441\u043e\u0447\u043d\u044b\u0439 \u043c\u043d\u043e\u0433\u043e\u043c\u0435\u0440\u043d\u044b\u0439 bubble chart (\u043f\u0443\u0437\u044b\u0440\u044c\u043a\u043e\u0432\u0443\u044e \u0434\u0438\u0430\u0433\u0440\u0430\u043c\u043c\u0443). \u0414\u0430\u0432\u0430\u0439\u0442\u0435 \u0440\u0430\u0437\u0431\u0435\u0440\u0435\u043c \u043c\u0430\u0433\u0438\u044e \u0430\u0440\u0433\u0443\u043c\u0435\u043d\u0442\u043e\u0432:color=&#187;continent&#187;: Plotly \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u0438 \u0441\u0433\u0440\u0443\u043f\u043f\u0438\u0440\u043e\u0432\u0430\u043b \u0434\u0430\u043d\u043d\u044b\u0435 \u043f\u043e \u0441\u0442\u043e\u043b\u0431\u0446\u0443 continent, \u043f\u043e\u0434\u043e\u0431\u0440\u0430\u043b \u043a\u043e\u043d\u0442\u0440\u0430\u0441\u0442\u043d\u0443\u044e \u043f\u0430\u043b\u0438\u0442\u0440\u0443 \u0438 \u0441\u0430\u043c \u0441\u043e\u0437\u0434\u0430\u043b \u0430\u043a\u043a\u0443\u0440\u0430\u0442\u043d\u0443\u044e \u043b\u0435\u0433\u0435\u043d\u0434\u0443 \u0441\u043f\u0440\u0430\u0432\u0430. \u0421\u043a\u0440\u044b\u0442\u0430\u044f \u0438\u043d\u0442\u0435\u0440\u0430\u043a\u0442\u0438\u0432\u043d\u043e\u0441\u0442\u044c: \u041f\u043e\u043f\u0440\u043e\u0431\u0443\u0439\u0442\u0435 \u043a\u043b\u0438\u043a\u043d\u0443\u0442\u044c \u043d\u0430 \u043d\u0430\u0437\u0432\u0430\u043d\u0438\u0435 \u043b\u044e\u0431\u043e\u0433\u043e \u043a\u043e\u043d\u0442\u0438\u043d\u0435\u043d\u0442\u0430 \u0432 \u043b\u0435\u0433\u0435\u043d\u0434\u0435! Plotly \u0441\u043a\u0440\u043e\u0435\u0442 \u044d\u0442\u0438 \u0442\u043e\u0447\u043a\u0438 \u0441 \u0433\u0440\u0430\u0444\u0438\u043a\u0430. \u0410 \u0434\u0432\u043e\u0439\u043d\u043e\u0439 \u043a\u043b\u0438\u043a \u0438\u0437\u043e\u043b\u0438\u0440\u0443\u0435\u0442 \u0432\u044b\u0431\u0440\u0430\u043d\u043d\u044b\u0439 \u043a\u043e\u043d\u0442\u0438\u043d\u0435\u043d\u0442, \u0441\u043f\u0440\u044f\u0442\u0430\u0432 \u0432\u0441\u0435 \u043e\u0441\u0442\u0430\u043b\u044c\u043d\u044b\u0435. \u042d\u0442\u043e \u043d\u0435\u0432\u0435\u0440\u043e\u044f\u0442\u043d\u043e \u0443\u0434\u043e\u0431\u043d\u043e, \u043a\u043e\u0433\u0434\u0430 \u0442\u043e\u0447\u043a\u0438 \u043f\u0435\u0440\u0435\u043a\u0440\u044b\u0432\u0430\u044e\u0442 \u0434\u0440\u0443\u0433 \u0434\u0440\u0443\u0433\u0430.size=&#187;pop&#187;: \u041c\u044b \u0434\u043e\u0431\u0430\u0432\u0438\u043b\u0438 \u0442\u0440\u0435\u0442\u044c\u0435 \u0438\u0437\u043c\u0435\u0440\u0435\u043d\u0438\u0435. \u0422\u0435\u043f\u0435\u0440\u044c \u043e\u0433\u0440\u043e\u043c\u043d\u044b\u0435 \u043f\u0443\u0437\u044b\u0440\u0438 \u0410\u0437\u0438\u0438 (\u041a\u0438\u0442\u0430\u0439 \u0438 \u0418\u043d\u0434\u0438\u044f) \u0432\u0438\u0437\u0443\u0430\u043b\u044c\u043d\u043e \u0434\u043e\u043c\u0438\u043d\u0438\u0440\u0443\u044e\u0442 \u043d\u0430 \u0433\u0440\u0430\u0444\u0438\u043a\u0435, \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u044f \u0441 \u043f\u0435\u0440\u0432\u043e\u0433\u043e \u0432\u0437\u0433\u043b\u044f\u0434\u0430 \u043e\u0446\u0435\u043d\u0438\u0442\u044c \u043c\u0430\u0441\u0448\u0442\u0430\u0431.symbol=&#187;continent&#187;: \u0414\u043e\u0431\u0430\u0432\u043b\u044f\u0435\u0442 \u0447\u0435\u0442\u0432\u0435\u0440\u0442\u043e\u0435 \u0438\u0437\u043c\u0435\u0440\u0435\u043d\u0438\u0435 (\u0438\u043b\u0438 \u0434\u0443\u0431\u043b\u0438\u0440\u0443\u0435\u0442 color \u0434\u043b\u044f \u043d\u0430\u0434\u0435\u0436\u043d\u043e\u0441\u0442\u0438). \u0415\u0432\u0440\u043e\u043f\u0430 \u0442\u0435\u043f\u0435\u0440\u044c \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u0435\u043d\u0430 \u0440\u043e\u043c\u0431\u0430\u043c\u0438, \u0410\u0437\u0438\u044f \u2014 \u043a\u0440\u0443\u0433\u0430\u043c\u0438, \u0410\u043c\u0435\u0440\u0438\u043a\u0430 \u2014 \u043a\u0432\u0430\u0434\u0440\u0430\u0442\u0430\u043c\u0438. \u042d\u0442\u043e \u043e\u0442\u043b\u0438\u0447\u043d\u044b\u0439 \u0442\u043e\u043d (accessibility), \u0442\u0430\u043a \u043a\u0430\u043a \u0432\u0430\u0448 \u0433\u0440\u0430\u0444\u0438\u043a \u043e\u0441\u0442\u0430\u043d\u0435\u0442\u0441\u044f \u0447\u0438\u0442\u0430\u0435\u043c\u044b\u043c \u0434\u0430\u0436\u0435 \u043f\u0440\u0438 \u0447\u0435\u0440\u043d\u043e-\u0431\u0435\u043b\u043e\u0439 \u043f\u0435\u0447\u0430\u0442\u0438 \u0438\u043b\u0438 \u0434\u043b\u044f \u043b\u044e\u0434\u0435\u0439 \u0441 \u0434\u0430\u043b\u044c\u0442\u043e\u043d\u0438\u0437\u043c\u043e\u043c.template=&#187;plotly_dark&#187;: \u041c\u0435\u043d\u044f\u0435\u0442 \u0432\u0435\u0441\u044c \u0434\u0438\u0437\u0430\u0439\u043d \u0433\u0440\u0430\u0444\u0438\u043a\u0430 \u0437\u0430 \u0441\u0435\u043a\u0443\u043d\u0434\u0443. Plotly \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0435\u0442 \u043c\u043d\u043e\u0436\u0435\u0441\u0442\u0432\u043e \u0432\u0441\u0442\u0440\u043e\u0435\u043d\u043d\u044b\u0445 \u0442\u0435\u043c: plotly_white \u0434\u043b\u044f \u0441\u0442\u0440\u043e\u0433\u0438\u0445 \u043e\u0442\u0447\u0435\u0442\u043e\u0432, ggplot2 \u0434\u043b\u044f \u0444\u0430\u043d\u0430\u0442\u043e\u0432 \u044f\u0437\u044b\u043a\u0430 R, seaborn \u0438 \u0434\u0440\u0443\u0433\u0438\u0435.\u0412 \u0438\u0442\u043e\u0433\u0435, \u043d\u0430\u043f\u0438\u0441\u0430\u0432 \u0432\u0441\u0435\u0433\u043e \u043e\u0434\u0438\u043d \u0432\u044b\u0437\u043e\u0432 \u0444\u0443\u043d\u043a\u0446\u0438\u0438, \u043c\u044b \u0443\u043c\u0435\u0441\u0442\u0438\u043b\u0438 \u043d\u0430 \u043f\u043b\u043e\u0441\u043a\u043e\u043c \u044d\u043a\u0440\u0430\u043d\u0435 \u043c\u0430\u043a\u0441\u0438\u043c\u0443\u043c \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u0438, \u0441\u0434\u0435\u043b\u0430\u043b\u0438 \u044d\u0442\u043e \u043a\u0440\u0430\u0441\u0438\u0432\u043e \u0438 \u0441\u043e\u0445\u0440\u0430\u043d\u0438\u043b\u0438 \u043f\u043e\u043b\u043d\u0443\u044e \u0438\u043d\u0442\u0435\u0440\u0430\u043a\u0442\u0438\u0432\u043d\u043e\u0441\u0442\u044c.\u0424\u0438\u0448\u043a\u0430 \u21163: Subplots (\u0424\u0430\u0441\u0435\u0442\u043d\u044b\u0435 \u0433\u0440\u0430\u0444\u0438\u043a\u0438) \u0438 \u0431\u043e\u0440\u044c\u0431\u0430 \u0441\u043e \u00ab\u0441\u043f\u0430\u0433\u0435\u0442\u0442\u0438\u00bb\u041f\u0440\u0435\u0434\u044b\u0434\u0443\u0449\u0438\u0439 \u0441\u043f\u043e\u0441\u043e\u0431 \u0441 \u0433\u0440\u0443\u043f\u043f\u0438\u0440\u043e\u0432\u043a\u043e\u0439 \u043f\u043e \u0446\u0432\u0435\u0442\u0443 \u043e\u0442\u043b\u0438\u0447\u043d\u043e \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442, \u043a\u043e\u0433\u0434\u0430 \u0443 \u0432\u0430\u0441 3\u20135 \u043a\u0430\u0442\u0435\u0433\u043e\u0440\u0438\u0439. \u041d\u043e \u0447\u0442\u043e \u0434\u0435\u043b\u0430\u0442\u044c, \u0435\u0441\u043b\u0438 \u0438\u0445 \u0434\u0435\u0441\u044f\u0442\u043a\u0438?\u0414\u0430\u0432\u0430\u0439\u0442\u0435 \u043f\u043e\u043f\u0440\u043e\u0431\u0443\u0435\u043c \u043f\u043e\u0441\u0442\u0440\u043e\u0438\u0442\u044c \u043b\u0438\u043d\u0435\u0439\u043d\u044b\u0439 \u0433\u0440\u0430\u0444\u0438\u043a \u0434\u0438\u043d\u0430\u043c\u0438\u043a\u0438 \u0412\u0412\u041f (gdpPercap) \u043f\u043e \u0433\u043e\u0434\u0430\u043c (year) \u0434\u043b\u044f \u0432\u0441\u0435\u0445 \u0441\u0442\u0440\u0430\u043d \u0438\u0437 \u043d\u0430\u0448\u0435\u0433\u043e \u0434\u0430\u0442\u0430\u0441\u0435\u0442\u0430. \u0415\u0441\u043b\u0438 \u043c\u044b \u043f\u0440\u043e\u0441\u0442\u043e \u0443\u043a\u0430\u0436\u0435\u043c color=&#187;country&#187;, \u0442\u043e \u043f\u043e\u043b\u0443\u0447\u0438\u043c \u043a\u043b\u0430\u0441\u0441\u0438\u0447\u0435\u0441\u043a\u0438\u0439 \u00ab\u0441\u043f\u0430\u0433\u0435\u0442\u0442\u0438-\u0433\u0440\u0430\u0444\u0438\u043a\u00bb \u2014 \u043d\u0435\u0447\u0438\u0442\u0430\u0435\u043c\u0443\u044e \u043a\u0430\u0448\u0443 \u0438\u0437 142 \u043f\u0435\u0440\u0435\u0441\u0435\u043a\u0430\u044e\u0449\u0438\u0445\u0441\u044f \u043b\u0438\u043d\u0438\u0439, \u0432 \u043a\u043e\u0442\u043e\u0440\u043e\u0439 \u043d\u0435\u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e \u043d\u0438\u0447\u0435\u0433\u043e \u0440\u0430\u0437\u043e\u0431\u0440\u0430\u0442\u044c.\u0412 Matplotlib \u0434\u043b\u044f \u0440\u0435\u0448\u0435\u043d\u0438\u044f \u044d\u0442\u043e\u0439 \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u044b \u043f\u0440\u0438\u0448\u043b\u043e\u0441\u044c \u0431\u044b \u0441\u043e\u0437\u0434\u0430\u0432\u0430\u0442\u044c \u0441\u0435\u0442\u043a\u0443 \u0441\u0430\u0431\u043f\u043b\u043e\u0442\u043e\u0432 \u0447\u0435\u0440\u0435\u0437 plt.subplots(), \u043f\u0438\u0441\u0430\u0442\u044c \u0432\u043b\u043e\u0436\u0435\u043d\u043d\u044b\u0435 \u0446\u0438\u043a\u043b\u044b for, \u0444\u0438\u043b\u044c\u0442\u0440\u043e\u0432\u0430\u0442\u044c \u0434\u0430\u043d\u043d\u044b\u0435 \u043d\u0430 \u043a\u0430\u0436\u0434\u043e\u043c \u0448\u0430\u0433\u0435 \u0438 \u0432\u0440\u0443\u0447\u043d\u0443\u044e \u0432\u044b\u0440\u0430\u0432\u043d\u0438\u0432\u0430\u0442\u044c \u043e\u0441\u0438.\u0412 Plotly Express \u043c\u044b \u043f\u0440\u043e\u0441\u0442\u043e \u0434\u043e\u0431\u0430\u0432\u043b\u044f\u0435\u043c \u043c\u0430\u0433\u0438\u0447\u0435\u0441\u043a\u0438\u0439 \u0430\u0440\u0433\u0443\u043c\u0435\u043d\u0442 facet_col (\u0438\u043b\u0438 facet_row):# \u0421\u0442\u0440\u043e\u0438\u043c \u043b\u0438\u043d\u0435\u0439\u043d\u044b\u0439 \u0433\u0440\u0430\u0444\u0438\u043a \u0434\u043b\u044f \u0432\u0441\u0435\u0445 \u0441\u0442\u0440\u0430\u043d \u0441\u0440\u0430\u0437\u0443fig = px.line(    df,     x=&#187;year&#187;,     y=&#187;gdpPercap&#187;,     color=&#187;country&#187;,     facet_col=&#187;continent&#187;, # \u0420\u0430\u0437\u0431\u0438\u0432\u0430\u0435\u043c \u0433\u0440\u0430\u0444\u0438\u043a \u043d\u0430 \u043a\u043e\u043b\u043e\u043d\u043a\u0438 \u043f\u043e \u043a\u043e\u043d\u0442\u0438\u043d\u0435\u043d\u0442\u0430\u043c    facet_col_wrap=3,      # \u041f\u0435\u0440\u0435\u043d\u043e\u0441\u0438\u043c \u043d\u0430 \u043d\u043e\u0432\u0443\u044e \u0441\u0442\u0440\u043e\u043a\u0443 \u043f\u043e\u0441\u043b\u0435 3 \u043a\u043e\u043b\u043e\u043d\u043e\u043a (\u0434\u043b\u044f \u043a\u0440\u0430\u0441\u043e\u0442\u044b)    template=&#187;plotly_dark&#187;,    title=&#187;\u0414\u0438\u043d\u0430\u043c\u0438\u043a\u0430 \u0412\u0412\u041f \u043f\u043e \u0441\u0442\u0440\u0430\u043d\u0430\u043c (\u0440\u0430\u0437\u0431\u0438\u0432\u043a\u0430 \u043f\u043e \u043a\u043e\u043d\u0442\u0438\u043d\u0435\u043d\u0442\u0430\u043c)&#187;)# \u041e\u0442\u043a\u043b\u044e\u0447\u0430\u0435\u043c \u043b\u0435\u0433\u0435\u043d\u0434\u0443, \u0442\u0430\u043a \u043a\u0430\u043a 142 \u043d\u0430\u0437\u0432\u0430\u043d\u0438\u044f \u0441\u0442\u0440\u0430\u043d \u0442\u0443\u0434\u0430 \u0432\u0441\u0451 \u0440\u0430\u0432\u043d\u043e \u043d\u0435 \u0432\u043b\u0435\u0437\u0443\u0442fig.update_layout(showlegend=False)fig.show()\u0427\u0442\u043e \u043f\u0440\u043e\u0438\u0437\u043e\u0448\u043b\u043e \u043f\u043e\u0434 \u043a\u0430\u043f\u043e\u0442\u043e\u043c:\u041c\u0433\u043d\u043e\u0432\u0435\u043d\u043d\u0430\u044f \u0441\u0435\u0442\u043a\u0430: Plotly \u0441\u0430\u043c \u0440\u0430\u0437\u0431\u0438\u043b \u043d\u0430\u0448 \u043e\u0433\u0440\u043e\u043c\u043d\u044b\u0439 \u0434\u0430\u0442\u0430\u0444\u0440\u0435\u0439\u043c \u043d\u0430 5 \u0447\u0430\u0441\u0442\u0435\u0439 (\u043f\u043e \u0447\u0438\u0441\u043b\u0443 \u043a\u043e\u043d\u0442\u0438\u043d\u0435\u043d\u0442\u043e\u0432) \u0438 \u043f\u043e\u0441\u0442\u0440\u043e\u0438\u043b \u0434\u043b\u044f \u043a\u0430\u0436\u0434\u043e\u0433\u043e \u0441\u0432\u043e\u0439 \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u044b\u0439 \u043c\u0438\u043d\u0438-\u0433\u0440\u0430\u0444\u0438\u043a. \u041f\u0430\u0440\u0430\u043c\u0435\u0442\u0440 facet_col_wrap=3 \u0430\u043a\u043a\u0443\u0440\u0430\u0442\u043d\u043e \u043f\u0435\u0440\u0435\u043d\u0435\u0441 \u043b\u0438\u0448\u043d\u0438\u0435 \u0433\u0440\u0430\u0444\u0438\u043a\u0438 \u043d\u0430 \u043d\u043e\u0432\u0443\u044e \u0441\u0442\u0440\u043e\u043a\u0443, \u0447\u0442\u043e\u0431\u044b \u043e\u043d\u0438 \u043d\u0435 \u0441\u043f\u043b\u044e\u0449\u0438\u0432\u0430\u043b\u0438\u0441\u044c.\u0421\u0438\u043d\u0445\u0440\u043e\u043d\u0438\u0437\u0430\u0446\u0438\u044f \u043e\u0441\u0435\u0439 (\u041a\u0438\u043b\u043b\u0435\u0440-\u0444\u0438\u0447\u0430): \u0415\u0441\u043b\u0438 \u0432\u044b \u0437\u0430\u043f\u0443\u0441\u0442\u0438\u0442\u0435 \u044d\u0442\u043e\u0442 \u043a\u043e\u0434 \u0438 \u043f\u043e\u043f\u0440\u043e\u0431\u0443\u0435\u0442\u0435 \u043f\u0440\u0438\u0431\u043b\u0438\u0437\u0438\u0442\u044c (Zoom) \u043a\u0430\u043a\u043e\u0439-\u043d\u0438\u0431\u0443\u0434\u044c \u0438\u043d\u0442\u0435\u0440\u0435\u0441\u043d\u044b\u0439 \u0432\u0441\u043f\u043b\u0435\u0441\u043a \u043d\u0430 \u0433\u0440\u0430\u0444\u0438\u043a\u0435 \u0415\u0432\u0440\u043e\u043f\u044b, \u0432\u044b \u0437\u0430\u043c\u0435\u0442\u0438\u0442\u0435 \u043f\u043e\u0442\u0440\u044f\u0441\u0430\u044e\u0449\u0443\u044e \u0432\u0435\u0449\u044c. \u041e\u0441\u0438 \u043d\u0430 \u0432\u0441\u0435\u0445 \u043e\u0441\u0442\u0430\u043b\u044c\u043d\u044b\u0445 \u0433\u0440\u0430\u0444\u0438\u043a\u0430\u0445 \u0438\u0437\u043c\u0435\u043d\u044f\u0442\u0441\u044f \u0441\u0438\u043d\u0445\u0440\u043e\u043d\u043d\u043e! 3. \u0427\u0438\u0441\u0442\u043e\u0442\u0430 \u043a\u043e\u0434\u0430: \u041d\u0438\u043a\u0430\u043a\u0438\u0445 \u0446\u0438\u043a\u043b\u043e\u0432. \u041d\u0438\u043a\u0430\u043a\u043e\u0439 \u0432\u043e\u0437\u043d\u0438 \u0441 \u043e\u0441\u044f\u043c\u0438 X \u0438 Y \u0434\u043b\u044f \u043a\u0430\u0436\u0434\u043e\u0433\u043e \u0441\u0430\u0431\u043f\u043b\u043e\u0442\u0430.\u042d\u0442\u043e \u043d\u0435\u0432\u0435\u0440\u043e\u044f\u0442\u043d\u043e \u043c\u043e\u0449\u043d\u044b\u0439 \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442 \u0434\u043b\u044f \u0440\u0430\u0437\u0432\u0435\u0434\u043e\u0447\u043d\u043e\u0433\u043e \u0430\u043d\u0430\u043b\u0438\u0437\u0430. \u0412\u044b \u043c\u043e\u0436\u0435\u0442\u0435 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c facet_col \u0434\u043b\u044f \u043e\u0434\u043d\u043e\u0439 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u043e\u0439, \u0430 facet_row \u0434\u043b\u044f \u0434\u0440\u0443\u0433\u043e\u0439, \u0441\u043e\u0437\u0434\u0430\u0432\u0430\u044f \u0446\u0435\u043b\u044b\u0435 \u043c\u0430\u0442\u0440\u0438\u0446\u044b \u0433\u0440\u0430\u0444\u0438\u043a\u043e\u0432 (Trellis&#8230;<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[],"tags":[],"class_list":["post-476743","post","type-post","status-publish","format-standard","hentry"],"_links":{"self":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts\/476743","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=476743"}],"version-history":[{"count":0,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts\/476743\/revisions"}],"wp:attachment":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=476743"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=476743"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=476743"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}