<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Визуализация данных - Python 3 | Data Science | Нейронные сети | AI - Искусственный Интеллект</title>
	<atom:link href="https://python.ivan-shamaev.ru/tag/%d0%b2%d0%b8%d0%b7%d1%83%d0%b0%d0%bb%d0%b8%d0%b7%d0%b0%d1%86%d0%b8%d1%8f-%d0%b4%d0%b0%d0%bd%d0%bd%d1%8b%d1%85/feed/" rel="self" type="application/rss+xml" />
	<link>https://python.ivan-shamaev.ru/tag/визуализация-данных/</link>
	<description>Библиотеки обработки данных. Примеры. Строки, списки, файлы, числа, массивы. Язык программирования Python 3 - скачать</description>
	<lastBuildDate>Fri, 27 Mar 2020 21:15:32 +0000</lastBuildDate>
	<language>ru-RU</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.6.1</generator>

<image>
	<url>https://python.ivan-shamaev.ru/wp-content/uploads/2019/04/cropped-data_science_python3_logo-32x32.png</url>
	<title>Визуализация данных - Python 3 | Data Science | Нейронные сети | AI - Искусственный Интеллект</title>
	<link>https://python.ivan-shamaev.ru/tag/визуализация-данных/</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>Интерактивная визуализация данных в Python 3</title>
		<link>https://python.ivan-shamaev.ru/interactive-data-visualization-in-python-3/</link>
					<comments>https://python.ivan-shamaev.ru/interactive-data-visualization-in-python-3/#respond</comments>
		
		<dc:creator><![CDATA[Шамаев Иван]]></dc:creator>
		<pubDate>Wed, 18 Mar 2020 21:22:37 +0000</pubDate>
				<category><![CDATA[Введение в Python 3]]></category>
		<category><![CDATA[python 3]]></category>
		<category><![CDATA[визуализация Python 3]]></category>
		<category><![CDATA[Визуализация данных]]></category>
		<category><![CDATA[визуализация данных в Python 3]]></category>
		<category><![CDATA[Интерактивная визуализация]]></category>
		<category><![CDATA[Интерактивная визуализация данных в Python 3]]></category>
		<guid isPermaLink="false">https://python.ivan-shamaev.ru/?p=752</guid>

					<description><![CDATA[<p>В этой статье будет рассмотрено &#171;Как создавать Интерактивные визуализации данных в Python 3 с помощью одной строки&#187; Заблуждение об утраченной стоимости является одним из многих вредных когнитивных предубеждений, жертвами которых становятся люди. Это относится к нашей тенденции продолжать тратить время и ресурсы на безнадежное дело, потому что мы уже потратили столько времени в поисках. Заблуждение о непомерных затратах относится [&#8230;]</p>
<p>Сообщение <a href="https://python.ivan-shamaev.ru/interactive-data-visualization-in-python-3/">Интерактивная визуализация данных в Python 3</a> появились сначала на <a href="https://python.ivan-shamaev.ru">Python 3 | Data Science | Нейронные сети | AI - Искусственный Интеллект</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p><a class="a2a_button_telegram" href="https://www.addtoany.com/add_to/telegram?linkurl=https%3A%2F%2Fpython.ivan-shamaev.ru%2Finteractive-data-visualization-in-python-3%2F&amp;linkname=%D0%98%D0%BD%D1%82%D0%B5%D1%80%D0%B0%D0%BA%D1%82%D0%B8%D0%B2%D0%BD%D0%B0%D1%8F%20%D0%B2%D0%B8%D0%B7%D1%83%D0%B0%D0%BB%D0%B8%D0%B7%D0%B0%D1%86%D0%B8%D1%8F%20%D0%B4%D0%B0%D0%BD%D0%BD%D1%8B%D1%85%20%D0%B2%20Python%203" title="Telegram" rel="nofollow noopener" target="_blank"></a><a class="a2a_button_whatsapp" href="https://www.addtoany.com/add_to/whatsapp?linkurl=https%3A%2F%2Fpython.ivan-shamaev.ru%2Finteractive-data-visualization-in-python-3%2F&amp;linkname=%D0%98%D0%BD%D1%82%D0%B5%D1%80%D0%B0%D0%BA%D1%82%D0%B8%D0%B2%D0%BD%D0%B0%D1%8F%20%D0%B2%D0%B8%D0%B7%D1%83%D0%B0%D0%BB%D0%B8%D0%B7%D0%B0%D1%86%D0%B8%D1%8F%20%D0%B4%D0%B0%D0%BD%D0%BD%D1%8B%D1%85%20%D0%B2%20Python%203" title="WhatsApp" rel="nofollow noopener" target="_blank"></a><a class="a2a_button_facebook" href="https://www.addtoany.com/add_to/facebook?linkurl=https%3A%2F%2Fpython.ivan-shamaev.ru%2Finteractive-data-visualization-in-python-3%2F&amp;linkname=%D0%98%D0%BD%D1%82%D0%B5%D1%80%D0%B0%D0%BA%D1%82%D0%B8%D0%B2%D0%BD%D0%B0%D1%8F%20%D0%B2%D0%B8%D0%B7%D1%83%D0%B0%D0%BB%D0%B8%D0%B7%D0%B0%D1%86%D0%B8%D1%8F%20%D0%B4%D0%B0%D0%BD%D0%BD%D1%8B%D1%85%20%D0%B2%20Python%203" title="Facebook" rel="nofollow noopener" target="_blank"></a><a class="a2a_button_linkedin" href="https://www.addtoany.com/add_to/linkedin?linkurl=https%3A%2F%2Fpython.ivan-shamaev.ru%2Finteractive-data-visualization-in-python-3%2F&amp;linkname=%D0%98%D0%BD%D1%82%D0%B5%D1%80%D0%B0%D0%BA%D1%82%D0%B8%D0%B2%D0%BD%D0%B0%D1%8F%20%D0%B2%D0%B8%D0%B7%D1%83%D0%B0%D0%BB%D0%B8%D0%B7%D0%B0%D1%86%D0%B8%D1%8F%20%D0%B4%D0%B0%D0%BD%D0%BD%D1%8B%D1%85%20%D0%B2%20Python%203" title="LinkedIn" rel="nofollow noopener" target="_blank"></a><a class="a2a_button_vk" href="https://www.addtoany.com/add_to/vk?linkurl=https%3A%2F%2Fpython.ivan-shamaev.ru%2Finteractive-data-visualization-in-python-3%2F&amp;linkname=%D0%98%D0%BD%D1%82%D0%B5%D1%80%D0%B0%D0%BA%D1%82%D0%B8%D0%B2%D0%BD%D0%B0%D1%8F%20%D0%B2%D0%B8%D0%B7%D1%83%D0%B0%D0%BB%D0%B8%D0%B7%D0%B0%D1%86%D0%B8%D1%8F%20%D0%B4%D0%B0%D0%BD%D0%BD%D1%8B%D1%85%20%D0%B2%20Python%203" title="VK" rel="nofollow noopener" target="_blank"></a><a class="a2a_button_twitter" href="https://www.addtoany.com/add_to/twitter?linkurl=https%3A%2F%2Fpython.ivan-shamaev.ru%2Finteractive-data-visualization-in-python-3%2F&amp;linkname=%D0%98%D0%BD%D1%82%D0%B5%D1%80%D0%B0%D0%BA%D1%82%D0%B8%D0%B2%D0%BD%D0%B0%D1%8F%20%D0%B2%D0%B8%D0%B7%D1%83%D0%B0%D0%BB%D0%B8%D0%B7%D0%B0%D1%86%D0%B8%D1%8F%20%D0%B4%D0%B0%D0%BD%D0%BD%D1%8B%D1%85%20%D0%B2%20Python%203" title="Twitter" rel="nofollow noopener" target="_blank"></a><a class="a2a_button_email" href="https://www.addtoany.com/add_to/email?linkurl=https%3A%2F%2Fpython.ivan-shamaev.ru%2Finteractive-data-visualization-in-python-3%2F&amp;linkname=%D0%98%D0%BD%D1%82%D0%B5%D1%80%D0%B0%D0%BA%D1%82%D0%B8%D0%B2%D0%BD%D0%B0%D1%8F%20%D0%B2%D0%B8%D0%B7%D1%83%D0%B0%D0%BB%D0%B8%D0%B7%D0%B0%D1%86%D0%B8%D1%8F%20%D0%B4%D0%B0%D0%BD%D0%BD%D1%8B%D1%85%20%D0%B2%20Python%203" title="Email" rel="nofollow noopener" target="_blank"></a><a class="a2a_dd addtoany_share_save addtoany_share" href="https://www.addtoany.com/share#url=https%3A%2F%2Fpython.ivan-shamaev.ru%2Finteractive-data-visualization-in-python-3%2F&#038;title=%D0%98%D0%BD%D1%82%D0%B5%D1%80%D0%B0%D0%BA%D1%82%D0%B8%D0%B2%D0%BD%D0%B0%D1%8F%20%D0%B2%D0%B8%D0%B7%D1%83%D0%B0%D0%BB%D0%B8%D0%B7%D0%B0%D1%86%D0%B8%D1%8F%20%D0%B4%D0%B0%D0%BD%D0%BD%D1%8B%D1%85%20%D0%B2%20Python%203" data-a2a-url="https://python.ivan-shamaev.ru/interactive-data-visualization-in-python-3/" data-a2a-title="Интерактивная визуализация данных в Python 3"></a></p><blockquote>
<p><em><strong>В этой статье будет рассмотрено &#171;Как создавать Интерактивные визуализации данных в Python 3 с помощью одной строки&#187;</strong></em></p>
</blockquote>
<p id="b074" class="jp jq cm ap jr b hp js hr jt ju jv jw jx jy jz ka fb" data-selectable-paragraph=""><span>Заблуждение об утраченной стоимости является одним из многих </span><a href="https://en.wikipedia.org/wiki/Thinking,_Fast_and_Slow#Heuristics_and_biases" class="bm dc gq gr gs gt" target="_blank" rel="noopener nofollow noreferrer"><span>вредных когнитивных предубеждений,</span></a><span> жертвами которых становятся люди. Это </span><a href="https://youarenotsosmart.com/2011/03/25/the-sunk-cost-fallacy/" class="bm dc gq gr gs gt" target="_blank" rel="noopener nofollow noreferrer"><span>относится к нашей тенденции</span></a><span> продолжать тратить время и ресурсы на безнадежное дело, потому что мы уже потратили столько времени в поисках. Заблуждение о непомерных затратах относится к тому, чтобы оставаться на плохой работе дольше, чем мы должны, упорно трудиться над проектом, даже когда ясно, что он не будет работать, и да, продолжая использовать утомительную, устаревшую библиотеку построения графиков &#8212; matplotlib &#8212; когда существуют более эффективные, интерактивные и более привлекательные альтернативы.</span></p>
<p id="c069" class="jp jq cm ap jr b hp js hr jt ju jv jw jx jy jz ka fb" data-selectable-paragraph=""><span>За последние несколько месяцев я понял, что единственная причина, по которой я использую </span><code class="gf kb kc kd ke b">matplotlib</code> &#8212; <span>это сотни часов, которые я потратил на изучение </span><a href="https://matplotlib.org/api/api_overview.html" class="bm dc gq gr gs gt" target="_blank" rel="noopener nofollow noreferrer"><span>сложного синтаксиса</span></a><span>. Это осложнение приводит к часам разочарования на StackOverflow, выясняя, как </span><a href="https://stackoverflow.com/questions/14946371/editing-the-date-formatting-of-x-axis-tick-labels-in-matplotlib" class="bm dc gq gr gs gt" target="_blank" rel="noopener nofollow noreferrer"><span>отформатировать дату</span></a><span> или </span><a href="https://stackoverflow.com/questions/14762181/adding-a-y-axis-label-to-secondary-y-axis-in-matplotlib" class="bm dc gq gr gs gt" target="_blank" rel="noopener nofollow noreferrer"><span>добавить вторую ось Y</span></a><span>. К счастью, сейчас отличное время для построения графиков в Python, и после изучения </span><a href="https://www.fusioncharts.com/blog/best-python-data-visualization-libraries/" class="bm dc gq gr gs gt" target="_blank" rel="noopener nofollow noreferrer"><span>разных вариантов графических библиотек</span></a><span> явным победителем &#8212; с точки зрения простоты использования, документирования и функциональности &#8212; является </span><a href="https://plot.ly/python/" class="bm dc gq gr gs gt" target="_blank" rel="noopener nofollow noreferrer"><span>библиотека Python. </span></a><span>В этой статье мы подробно рассмотрим </span><code class="gf kb kc kd ke b">plotly</code><span>, как создавать лучшие графики за меньшее время &#8212; часто с помощью одной строки кода.</span></p>
<p id="90e7" class="jp jq cm ap jr b hp js hr jt ju jv jw jx jy jz ka fb" data-selectable-paragraph=""><span>Весь код этой статьи </span><a href="https://github.com/WillKoehrsen/Data-Analysis/blob/master/plotly/Plotly%20Whirlwind%20Introduction.ipynb" class="bm dc gq gr gs gt" target="_blank" rel="noopener nofollow noreferrer"><span>доступен на GitHub</span></a><span>. Все графики являются интерактивными и могут быть просмотрены на </span><a href="https://nbviewer.jupyter.org/github/WillKoehrsen/Data-Analysis/blob/master/plotly/Plotly%20Whirlwind%20Introduction.ipynb" class="bm dc gq gr gs gt" target="_blank" rel="noopener nofollow noreferrer"><span>NBViewer здесь</span></a><span>.</span></p>
<p data-selectable-paragraph=""><a href="https://python.ivan-shamaev.ru/wp-content/uploads/2020/03/1_interactive_data_visualization_in_python_3.png"><img fetchpriority="high" decoding="async" src="https://python.ivan-shamaev.ru/wp-content/uploads/2020/03/1_interactive_data_visualization_in_python_3.png" alt="" width="660" height="525" class="aligncenter size-full wp-image-762" srcset="https://python.ivan-shamaev.ru/wp-content/uploads/2020/03/1_interactive_data_visualization_in_python_3.png 660w, https://python.ivan-shamaev.ru/wp-content/uploads/2020/03/1_interactive_data_visualization_in_python_3-300x239.png 300w" sizes="(max-width: 660px) 100vw, 660px" /></a></p>
<h2 id="3caa" class="km kn cm ap ao ko kp kq kr ks kt ku kv kw kx ky kz" data-selectable-paragraph=""><strong>Краткий обзор Plotly &amp; Cufflinks</strong></h2>
<p id="c3b0" class="jp jq cm ap jr b hp la hr lb ju lc jw ld jy le ka fb" data-selectable-paragraph=""><mark class="tb tc pc"><span></span></mark><mark class="tb tc pc"><code class="gf kb kc kd ke b"></code><a href="https://plot.ly/python/" class="bm dc gq gr gs gt" target="_blank" rel="noopener nofollow noreferrer"><strong>plotly</strong></a></mark><strong><mark class="tb tc pc"><a href="https://plot.ly/python/" class="bm dc gq gr gs gt" target="_blank" rel="noopener nofollow noreferrer"> </a></mark></strong><mark class="tb tc pc"><span><strong>Пакет Python</strong> &#8212; это библиотека с открытым исходным кодом, построенная на </span></mark><mark class="tb tc pc"><code class="gf kb kc kd ke b"></code><a href="https://plot.ly/javascript/" class="bm dc gq gr gs gt" target="_blank" rel="noopener nofollow noreferrer">plotly.js</a>,</mark><mark class="tb tc pc"><a href="https://plot.ly/javascript/" class="bm dc gq gr gs gt" target="_blank" rel="noopener nofollow noreferrer"><span> который</span></a></mark><mark class="tb tc pc"><span> в свою очередь построен на </span></mark><mark class="tb tc pc"><code class="gf kb kc kd ke b"></code><a href="https://d3js.org/" class="bm dc gq gr gs gt" target="_blank" rel="noopener nofollow noreferrer">d3.js</a></mark><mark class="tb tc pc"><a href="https://d3js.org/" class="bm dc gq gr gs gt" target="_blank" rel="noopener nofollow noreferrer"><span>,</span></a></mark><span>Мы будем использовать wrapper на plotly, которые называются </span><a href="https://github.com/santosjorge/cufflinks" class="bm dc gq gr gs gt" target="_blank" rel="noopener nofollow noreferrer">cufflinks</a>, <span>предназначенные для работы с Pandas DataFrames. Итак, весь наш стек это <strong>cufflinks &gt; plotly &gt; plotly.js &gt; d3.js</strong>, что означает, что мы получаем эффективность кодирования в Python с невероятными </span><a href="https://github.com/d3/d3/wiki/Gallery" class="bm dc gq gr gs gt" target="_blank" rel="noopener nofollow noreferrer"><span>интерактивными графическими возможностями d3.js.</span></a></p>
<p id="3f5e" class="jp jq cm ap jr b hp js hr jt ju jv jw jx jy jz ka fb" data-selectable-paragraph=""><span>(</span><a href="https://plot.ly/" class="bm dc gq gr gs gt" target="_blank" rel="noopener nofollow noreferrer"><span>Сама Plotly</span></a><span> &#8212; это графическая компания с несколькими продуктами и инструментами с открытым исходным кодом. Библиотека Python бесплатна, и мы можем создавать неограниченное количество диаграмм в автономном режиме и до 25 диаграмм в онлайн-режиме, чтобы </span><a href="http://help.plot.ly/how-sharing-works-in-plotly/" class="bm dc gq gr gs gt" target="_blank" rel="noopener nofollow noreferrer"><span>поделиться ими со всем миром</span></a><span>).</span></p>
<p id="fcfe" class="jp jq cm ap jr b hp js hr jt ju jv jw jx jy jz ka fb" data-selectable-paragraph=""><span>Вся работа в этой статье была выполнена в <strong>блокноте Jupyter</strong> с plotly + cufflinks, работающими в автономном режиме. После установки plotly и cufflinks с помощью инструкции </span><code class="gf kb kc kd ke b">pip install cufflinks plotly</code>, необходимо <span>импортировать следующие компоненты в Jupyter:</span></p>
<pre class="EnlighterJSRAW" data-enlighter-language="python"># Standard plotly imports
import plotly.plotly as py
import plotly.graph_objs as go
from plotly.offline import iplot, init_notebook_mode

# Using plotly + cufflinks in offline mode
import cufflinks
cufflinks.go_offline(connected=True)
init_notebook_mode(connected=True)</pre>
<h2 id="439d" class="lx kn cm ap ao ko gy ly ha lz ma mb mc md me mf mg"><strong>Распределения по одной переменной: Histograms и Boxplots</strong></h2>
<p id="202d" class="jp jq cm ap jr b hp la hr lb ju lc jw ld jy le ka fb" data-selectable-paragraph=""><span><strong>Одиночная переменная (single variable)</strong> &#8212; одномерный график &#8212; это стандартный способ начать анализ данных, а гистограмма &#8212; это график перехода ( </span><a href="https://www.andata.at/en/software-blog-reader/why-we-love-the-cdf-and-do-not-like-histograms-that-much.html" class="bm dc gq gr gs gt" target="_blank" rel="noopener nofollow noreferrer"><span>хотя он имеет некоторые проблемы</span></a><span> ) для построения графика распределения. Используя некоторую статистику (</span><span>Скачать </span><a href="https://github.com/WillKoehrsen/Data-Analysis/tree/master/medium" class="bm dc gq gr gs gt" target="_blank" rel="noopener nofollow noreferrer"><span>статистику &gt;&gt;&gt;</span></a><span> ), давайте создадим интерактивную гистограмму количества likes для статей (</span><code class="gf kb kc kd ke b">df</code><span>это стандартный dataframe Pandas):</span></p>
<pre class="EnlighterJSRAW" data-enlighter-language="python">df['claps'].iplot(kind='hist', xTitle='claps',
                  yTitle='count', title='Claps Distribution')</pre>
<p><a href="https://python.ivan-shamaev.ru/wp-content/uploads/2020/03/2_interactive_data_visualization_in_python_3.gif"><img decoding="async" src="https://python.ivan-shamaev.ru/wp-content/uploads/2020/03/2_interactive_data_visualization_in_python_3.gif" alt="" width="800" height="427" class="aligncenter size-full wp-image-766" /></a></p>
<p id="a9a4" class="jp jq cm ap jr b hp js hr jt ju jv jw jx jy jz ka fb" data-selectable-paragraph=""><span>Для тех, кто привык к </span><code class="gf kb kc kd ke b">matplotlib</code><span>, все, что нам нужно сделать, это добавить еще одну букву ( </span><code class="gf kb kc kd ke b">iplot</code><span>вместо </span><code class="gf kb kc kd ke b">plot</code><span>), и мы получим намного более привлекательный и интерактивный график! Мы можем щелкнуть на колонке, чтобы получить более подробную информацию, увеличить масштаб участков и, как мы увидим позже, выбрать различные категории для выделения.</span></p>
<p id="02d3" class="jp jq cm ap jr b hp js hr jt ju jv jw jx jy jz ka fb" data-selectable-paragraph=""><span>Если мы хотим построить наложенные гистограммы, это так же просто:</span></p>
<pre class="EnlighterJSRAW" data-enlighter-language="python">df[['time_started', 'time_published']].iplot(
    kind='hist',
    histnorm='percent',
    barmode='overlay',
    xTitle='Time of Day',
    yTitle='(%) of Articles',
    title='Time Started and Time Published')</pre>
<p><a href="https://python.ivan-shamaev.ru/wp-content/uploads/2020/03/3_interactive_data_visualization_in_python_3.png"><img decoding="async" src="https://python.ivan-shamaev.ru/wp-content/uploads/2020/03/3_interactive_data_visualization_in_python_3.png" alt="" width="1122" height="604" class="aligncenter size-full wp-image-767" srcset="https://python.ivan-shamaev.ru/wp-content/uploads/2020/03/3_interactive_data_visualization_in_python_3.png 1122w, https://python.ivan-shamaev.ru/wp-content/uploads/2020/03/3_interactive_data_visualization_in_python_3-300x161.png 300w, https://python.ivan-shamaev.ru/wp-content/uploads/2020/03/3_interactive_data_visualization_in_python_3-1024x551.png 1024w, https://python.ivan-shamaev.ru/wp-content/uploads/2020/03/3_interactive_data_visualization_in_python_3-768x413.png 768w" sizes="(max-width: 1122px) 100vw, 1122px" /></a></p>
<p><span>С небольшим количеством манипуляций над </span><code class="gf kb kc kd ke b">pandas</code><span> мы можем сделать barplot:</span></p>
<pre class="EnlighterJSRAW" data-enlighter-language="python"># Resample to monthly frequency and plot 
df2 = df[['view','reads','published_date']].\
         set_index('published_date').\
         resample('M').mean()
df2.iplot(kind='bar', xTitle='Date', yTitle='Average',
    title='Monthly Average Views and Reads')</pre>
<p><a href="https://python.ivan-shamaev.ru/wp-content/uploads/2020/03/4_interactive_data_visualization_in_python_3.png"><img decoding="async" src="https://python.ivan-shamaev.ru/wp-content/uploads/2020/03/4_interactive_data_visualization_in_python_3.png" alt="" width="1142" height="690" class="aligncenter size-full wp-image-768" srcset="https://python.ivan-shamaev.ru/wp-content/uploads/2020/03/4_interactive_data_visualization_in_python_3.png 1142w, https://python.ivan-shamaev.ru/wp-content/uploads/2020/03/4_interactive_data_visualization_in_python_3-300x181.png 300w, https://python.ivan-shamaev.ru/wp-content/uploads/2020/03/4_interactive_data_visualization_in_python_3-1024x619.png 1024w, https://python.ivan-shamaev.ru/wp-content/uploads/2020/03/4_interactive_data_visualization_in_python_3-768x464.png 768w" sizes="(max-width: 1142px) 100vw, 1142px" /></a></p>
<p><span>Мы можем объединить </span><a href="https://pandas.pydata.org/pandas-docs/stable/10min.html" class="bm dc gq gr gs gt" target="_blank" rel="noopener nofollow noreferrer"><span>возможности Pandas</span></a><span> с plotly + cufflinks. Для boxplot по подписчикам по всей истории публикаций мы используем </span><code class="gf kb kc kd ke b">pivot</code>, <span>а затем plot (точнее iplot):</span></p>
<pre class="EnlighterJSRAW" data-enlighter-language="python">df.pivot(columns='publication', values='fans').iplot(
        kind='box',
        yTitle='fans',
        title='Fans Distribution by Publication')</pre>
<p><a href="https://python.ivan-shamaev.ru/wp-content/uploads/2020/03/5_interactive_data_visualization_in_python_3.gif"><img decoding="async" src="https://python.ivan-shamaev.ru/wp-content/uploads/2020/03/5_interactive_data_visualization_in_python_3.gif" alt="" width="800" height="452" class="aligncenter size-full wp-image-769" /></a></p>
<p><span>Преимущества интерактивности заключаются в том, что мы можем исследовать и размещать данные по своему усмотрению. </span><span>В boxplot много информации, и без возможности видеть цифры мы пропустим большую ее часть!</span></p>
<h2><strong>Диаграммы рассеяния &#8212; Scatterplots</strong></h2>
<p><strong>Диаграмма рассеяния (Scatterplots)</strong> &#8212; используется очень часто для анализа данных. Scatterplots позволяет видеть эволюцию переменной во времени или связь между двумя (или более) переменными.</p>
<h3><strong>Временные ряды (Time-Series)</strong></h3>
<p>Значительная часть данных реального мира содержит в себе временной параметр. К счастью, plotly + cufflinks были разработаны с учетом визуализации временных рядов. Давайте создадим базу данных по статьям и посмотрим, как изменились тенденции.</p>
<pre class="EnlighterJSRAW" data-enlighter-language="python"># Create a dataframe of Towards Data Science Articles
tds = df[df['publication'] == 'Towards Data Science'].\
         set_index('published_date')

# Plot read time as a time series
tds[['claps', 'fans', 'title']].iplot(
    y='claps', mode='lines+markers', secondary_y = 'fans',
    secondary_y_title='Fans', xTitle='Date', yTitle='Claps',
    text='title', title='Fans and Claps over Time')</pre>
<p><a href="https://python.ivan-shamaev.ru/wp-content/uploads/2020/03/6_interactive_data_visualization_in_python_3.gif"><img decoding="async" src="https://python.ivan-shamaev.ru/wp-content/uploads/2020/03/6_interactive_data_visualization_in_python_3.gif" alt="" width="712" height="396" class="aligncenter size-full wp-image-773" /></a></p>
<p>Здесь мы выполняем много разных действий в одной строке:</p>
<ul>
<li>Автоматическое получение красиво отформатированного временного ряда по оси X</li>
<li>Добавление вторичной оси Y, потому что наши переменные имеют разные диапазоны</li>
<li>Добавление заголовка статей в качестве всплывающей информации</li>
</ul>
<p>Для получения дополнительной информации мы также можем легко добавить текстовые аннотации:</p>
<pre class="EnlighterJSRAW" data-enlighter-language="python">tds_monthly_totals.iplot(
    mode='lines+markers+text',
    text=text,
    y='word_count',
    opacity=0.8,
    xTitle='Date',
    yTitle='Word Count',
    title='Total Word Count by Month')</pre>
<p><a href="https://python.ivan-shamaev.ru/wp-content/uploads/2020/03/7_interactive_data_visualization_in_python_3.png"><img decoding="async" src="https://python.ivan-shamaev.ru/wp-content/uploads/2020/03/7_interactive_data_visualization_in_python_3.png" alt="" width="1132" height="654" class="aligncenter size-full wp-image-774" srcset="https://python.ivan-shamaev.ru/wp-content/uploads/2020/03/7_interactive_data_visualization_in_python_3.png 1132w, https://python.ivan-shamaev.ru/wp-content/uploads/2020/03/7_interactive_data_visualization_in_python_3-300x173.png 300w, https://python.ivan-shamaev.ru/wp-content/uploads/2020/03/7_interactive_data_visualization_in_python_3-1024x592.png 1024w, https://python.ivan-shamaev.ru/wp-content/uploads/2020/03/7_interactive_data_visualization_in_python_3-768x444.png 768w" sizes="(max-width: 1132px) 100vw, 1132px" /></a></p>
<p>Для диаграммы рассеяния с двумя переменными, окрашенной третьей категориальной переменной, мы используем:</p>
<pre class="EnlighterJSRAW" data-enlighter-language="python">df.iplot(
    x='read_time',
    y='read_ratio',
    # Specify the category
    categories='publication',
    xTitle='Read Time',
    yTitle='Reading Percent',
    title='Reading Percent vs Read Ratio by Publication')</pre>
<p><a href="https://python.ivan-shamaev.ru/wp-content/uploads/2020/03/8_interactive_data_visualization_in_python_3.png"><img decoding="async" src="https://python.ivan-shamaev.ru/wp-content/uploads/2020/03/8_interactive_data_visualization_in_python_3.png" alt="" width="1131" height="656" class="aligncenter size-full wp-image-776" srcset="https://python.ivan-shamaev.ru/wp-content/uploads/2020/03/8_interactive_data_visualization_in_python_3.png 1131w, https://python.ivan-shamaev.ru/wp-content/uploads/2020/03/8_interactive_data_visualization_in_python_3-300x174.png 300w, https://python.ivan-shamaev.ru/wp-content/uploads/2020/03/8_interactive_data_visualization_in_python_3-1024x594.png 1024w, https://python.ivan-shamaev.ru/wp-content/uploads/2020/03/8_interactive_data_visualization_in_python_3-768x445.png 768w" sizes="(max-width: 1131px) 100vw, 1131px" /></a></p>
<p>Давайте немного усложним, используя ось журнала &#8212; указанную в виде графического макета &#8212; (см. <a href="https://plot.ly/python/reference/" target="_blank" rel="noopener noreferrer">Документацию Plotly для деталей макета</a>) и определяя размеры пузырьков с помощью числовой переменной:</p>
<pre class="EnlighterJSRAW" data-enlighter-language="python">tds.iplot(
    x='word_count',
    y='reads',
    size='read_ratio',
    text=text,
    mode='markers',
    # Log xaxis
    layout=dict(
        xaxis=dict(type='log', title='Word Count'),
        yaxis=dict(title='Reads'),
        title='Reads vs Log Word Count Sized by Read Ratio'))</pre>
<p><a href="https://python.ivan-shamaev.ru/wp-content/uploads/2020/03/9_interactive_data_visualization_in_python_3.png"><img decoding="async" src="https://python.ivan-shamaev.ru/wp-content/uploads/2020/03/9_interactive_data_visualization_in_python_3.png" alt="" width="1110" height="647" class="aligncenter size-full wp-image-777" srcset="https://python.ivan-shamaev.ru/wp-content/uploads/2020/03/9_interactive_data_visualization_in_python_3.png 1110w, https://python.ivan-shamaev.ru/wp-content/uploads/2020/03/9_interactive_data_visualization_in_python_3-300x175.png 300w, https://python.ivan-shamaev.ru/wp-content/uploads/2020/03/9_interactive_data_visualization_in_python_3-1024x597.png 1024w, https://python.ivan-shamaev.ru/wp-content/uploads/2020/03/9_interactive_data_visualization_in_python_3-768x448.png 768w" sizes="(max-width: 1110px) 100vw, 1110px" /></a></p>
<p>Приложив немного больше усилий ( <a href="https://nbviewer.jupyter.org/github/WillKoehrsen/Data-Analysis/blob/master/plotly/Plotly%20Whirlwind%20Introduction.ipynb#">подробности см. В блокноте</a> ), мы даже можем поместить четыре переменных ( <a href="https://serialmentor.com/dataviz/aesthetic-mapping.html" target="_blank" rel="noopener noreferrer">это не рекомендуется</a> ) на один график!</p>
<p><a href="https://python.ivan-shamaev.ru/wp-content/uploads/2020/03/10_interactive_data_visualization_in_python_3.png"><img decoding="async" src="https://python.ivan-shamaev.ru/wp-content/uploads/2020/03/10_interactive_data_visualization_in_python_3.png" alt="" width="962" height="517" class="aligncenter size-full wp-image-778" srcset="https://python.ivan-shamaev.ru/wp-content/uploads/2020/03/10_interactive_data_visualization_in_python_3.png 962w, https://python.ivan-shamaev.ru/wp-content/uploads/2020/03/10_interactive_data_visualization_in_python_3-300x161.png 300w, https://python.ivan-shamaev.ru/wp-content/uploads/2020/03/10_interactive_data_visualization_in_python_3-768x413.png 768w" sizes="(max-width: 962px) 100vw, 962px" /></a></p>
<p>Как и прежде, мы можем комбинировать pandas с plotly+cufflinks для полезных графических представлений:</p>
<pre class="EnlighterJSRAW" data-enlighter-language="python">df.pivot_table(
    values='views', index='published_date',
    columns='publication').cumsum().iplot(
        mode='markers+lines',
        size=8,
        symbol=[1, 2, 3, 4, 5],
        layout=dict(
            xaxis=dict(title='Date'),
            yaxis=dict(type='log', title='Total Views'),
            title='Total Views over Time by Publication'))</pre>
<p><a href="https://python.ivan-shamaev.ru/wp-content/uploads/2020/03/11_interactive_data_visualization_in_python_3.png"><img decoding="async" src="https://python.ivan-shamaev.ru/wp-content/uploads/2020/03/11_interactive_data_visualization_in_python_3.png" alt="" width="1139" height="678" class="aligncenter size-full wp-image-779" srcset="https://python.ivan-shamaev.ru/wp-content/uploads/2020/03/11_interactive_data_visualization_in_python_3.png 1139w, https://python.ivan-shamaev.ru/wp-content/uploads/2020/03/11_interactive_data_visualization_in_python_3-300x179.png 300w, https://python.ivan-shamaev.ru/wp-content/uploads/2020/03/11_interactive_data_visualization_in_python_3-1024x610.png 1024w, https://python.ivan-shamaev.ru/wp-content/uploads/2020/03/11_interactive_data_visualization_in_python_3-768x457.png 768w" sizes="(max-width: 1139px) 100vw, 1139px" /></a></p>
<p>См. Блокнот <a href="https://plot.ly/python/" target="_blank" rel="noopener noreferrer">или документацию</a> для получения дополнительных примеров дополнительных функций. Мы можем добавлять текстовые аннотации, опорные линии и линии, которые лучше всего подходят для наших графиков, с помощью одной строки кода и при этом со всеми взаимодействиями.</p>
<h2><strong>Advanced Plots &#8212; Расширенные графические представления</strong></h2>
<p>Теперь мы разберемся с несколькими графиками, которые вы, вероятно, не будете использовать так часто, но которые могут быть весьма впечатляющими. Мы будем использовать график <code class="EnlighterJSRAW" data-enlighter-language="null">figure_factory</code>, чтобы держать эти графики на одной линии.</p>
<h3><strong>Scatter Matrix</strong></h3>
<p>Когда мы хотим исследовать отношения между многими переменными, отличной опцией является точная матрица &#8212; scattermatrix (также называемая спломом или splom):</p>
<pre class="EnlighterJSRAW" data-enlighter-language="python">import plotly.figure_factory as ff
figure = ff.create_scatterplotmatrix(
    df[['claps', 'publication', 'views',      
        'read_ratio','word_count']],
    diag='histogram',
    index='publication')</pre>
<p><a href="https://python.ivan-shamaev.ru/wp-content/uploads/2020/03/12_interactive_data_visualization_in_python_3.png"><img decoding="async" src="https://python.ivan-shamaev.ru/wp-content/uploads/2020/03/12_interactive_data_visualization_in_python_3.png" alt="" width="1000" height="1000" class="aligncenter size-full wp-image-782" srcset="https://python.ivan-shamaev.ru/wp-content/uploads/2020/03/12_interactive_data_visualization_in_python_3.png 1000w, https://python.ivan-shamaev.ru/wp-content/uploads/2020/03/12_interactive_data_visualization_in_python_3-300x300.png 300w, https://python.ivan-shamaev.ru/wp-content/uploads/2020/03/12_interactive_data_visualization_in_python_3-150x150.png 150w, https://python.ivan-shamaev.ru/wp-content/uploads/2020/03/12_interactive_data_visualization_in_python_3-768x768.png 768w" sizes="(max-width: 1000px) 100vw, 1000px" /></a></p>
<p>Даже этот график полностью интерактивен, что позволяет нам исследовать данные.</p>
<h3><strong>Тепловая карта корреляции &#8212; Correlation Heatmap</strong></h3>
<p>Чтобы визуализировать корреляции между числовыми переменными, мы вычисляем корреляции и затем создаем аннотированную тепловую карту:</p>
<pre class="EnlighterJSRAW" data-enlighter-language="python">corrs = df.corr()
figure = ff.create_annotated_heatmap(
    z=corrs.values,
    x=list(corrs.columns),
    y=list(corrs.index),
    annotation_text=corrs.round(2).values,
    showscale=True)</pre>
<p><a href="https://python.ivan-shamaev.ru/wp-content/uploads/2020/03/13_interactive_data_visualization_in_python_3.png"><img decoding="async" src="https://python.ivan-shamaev.ru/wp-content/uploads/2020/03/13_interactive_data_visualization_in_python_3.png" alt="" width="1000" height="800" class="aligncenter size-full wp-image-783" srcset="https://python.ivan-shamaev.ru/wp-content/uploads/2020/03/13_interactive_data_visualization_in_python_3.png 1000w, https://python.ivan-shamaev.ru/wp-content/uploads/2020/03/13_interactive_data_visualization_in_python_3-300x240.png 300w, https://python.ivan-shamaev.ru/wp-content/uploads/2020/03/13_interactive_data_visualization_in_python_3-768x614.png 768w" sizes="(max-width: 1000px) 100vw, 1000px" /></a></p>
<p>Список графиков можно продолжать и продолжать. Cufflinks также имеют несколько тем, которые мы можем использовать, чтобы получить совершенно другой стиль без каких-либо усилий. Например, ниже у нас есть график отношения (ratio plot) в теме «space»:</p>
<p><a href="https://python.ivan-shamaev.ru/wp-content/uploads/2020/03/14_interactive_data_visualization_in_python_3.png"><img decoding="async" src="https://python.ivan-shamaev.ru/wp-content/uploads/2020/03/14_interactive_data_visualization_in_python_3.png" alt="" width="700" height="450" class="aligncenter size-full wp-image-784" srcset="https://python.ivan-shamaev.ru/wp-content/uploads/2020/03/14_interactive_data_visualization_in_python_3.png 700w, https://python.ivan-shamaev.ru/wp-content/uploads/2020/03/14_interactive_data_visualization_in_python_3-300x193.png 300w" sizes="(max-width: 700px) 100vw, 700px" /></a></p>
<p>и график распространения (spread plot) в «ggplot»:</p>
<p><a href="https://python.ivan-shamaev.ru/wp-content/uploads/2020/03/15_interactive_data_visualization_in_python_3.png"><img decoding="async" src="https://python.ivan-shamaev.ru/wp-content/uploads/2020/03/15_interactive_data_visualization_in_python_3.png" alt="" width="972" height="460" class="aligncenter size-full wp-image-785" srcset="https://python.ivan-shamaev.ru/wp-content/uploads/2020/03/15_interactive_data_visualization_in_python_3.png 972w, https://python.ivan-shamaev.ru/wp-content/uploads/2020/03/15_interactive_data_visualization_in_python_3-300x142.png 300w, https://python.ivan-shamaev.ru/wp-content/uploads/2020/03/15_interactive_data_visualization_in_python_3-768x363.png 768w" sizes="(max-width: 972px) 100vw, 972px" /></a></p>
<p>Мы также можем получить 3D-графики (поверхность surface и пузырь bubble).</p>
<p><strong>surface plot:</strong></p>
<p><a href="https://python.ivan-shamaev.ru/wp-content/uploads/2020/03/16_interactive_data_visualization_in_python_3.png"><img decoding="async" src="https://python.ivan-shamaev.ru/wp-content/uploads/2020/03/16_interactive_data_visualization_in_python_3.png" alt="" width="766" height="473" class="aligncenter size-full wp-image-786" srcset="https://python.ivan-shamaev.ru/wp-content/uploads/2020/03/16_interactive_data_visualization_in_python_3.png 766w, https://python.ivan-shamaev.ru/wp-content/uploads/2020/03/16_interactive_data_visualization_in_python_3-300x185.png 300w" sizes="(max-width: 766px) 100vw, 766px" /></a></p>
<p><strong>bubble plot:</strong></p>
<p><a href="https://python.ivan-shamaev.ru/wp-content/uploads/2020/03/17_interactive_data_visualization_in_python_3.png"><img decoding="async" src="https://python.ivan-shamaev.ru/wp-content/uploads/2020/03/17_interactive_data_visualization_in_python_3.png" alt="" width="746" height="478" class="aligncenter size-full wp-image-787" srcset="https://python.ivan-shamaev.ru/wp-content/uploads/2020/03/17_interactive_data_visualization_in_python_3.png 746w, https://python.ivan-shamaev.ru/wp-content/uploads/2020/03/17_interactive_data_visualization_in_python_3-300x192.png 300w" sizes="(max-width: 746px) 100vw, 746px" /></a></p>
<p>Для тех, <a href="https://interworks.com/blog/rcurtis/2018/01/19/friends-dont-let-friends-make-pie-charts/" target="_blank" rel="noopener noreferrer">кто так склонен</a> , вы можете даже сделать круговую диаграмму:</p>
<p><a href="https://python.ivan-shamaev.ru/wp-content/uploads/2020/03/18_interactive_data_visualization_in_python_3.png"><img decoding="async" src="https://python.ivan-shamaev.ru/wp-content/uploads/2020/03/18_interactive_data_visualization_in_python_3.png" alt="" width="700" height="450" class="aligncenter size-full wp-image-788" srcset="https://python.ivan-shamaev.ru/wp-content/uploads/2020/03/18_interactive_data_visualization_in_python_3.png 700w, https://python.ivan-shamaev.ru/wp-content/uploads/2020/03/18_interactive_data_visualization_in_python_3-300x193.png 300w" sizes="(max-width: 700px) 100vw, 700px" /></a></p>
<h2><strong>Редактирование в Plotly Chart Studio</strong></h2>
<p>Создавая эти графики в блокноте, вы увидите небольшую ссылку в правом нижнем углу на графике с надписью «Экспорт в plot.ly». Если вы щелкнете по этой ссылке, вы попадете в <a href="https://plot.ly/create/" target="_blank" rel="noopener noreferrer">диаграммную студию</a>, где сможете подправить свой график для окончательной презентации. Вы можете добавлять аннотации, указывать цвета и, в общем, убирать все для получения отличной фигуры. Затем вы можете опубликовать свою фигуру в Интернете, чтобы любой мог найти ее по ссылке.</p>
<p>Ниже приведены два графика, которые были скорректированы в Chart Studio:</p>
<p><a href="https://python.ivan-shamaev.ru/wp-content/uploads/2020/03/19_interactive_data_visualization_in_python_3.png"><img decoding="async" src="https://python.ivan-shamaev.ru/wp-content/uploads/2020/03/19_interactive_data_visualization_in_python_3.png" alt="" width="700" height="450" class="aligncenter size-full wp-image-789" srcset="https://python.ivan-shamaev.ru/wp-content/uploads/2020/03/19_interactive_data_visualization_in_python_3.png 700w, https://python.ivan-shamaev.ru/wp-content/uploads/2020/03/19_interactive_data_visualization_in_python_3-300x193.png 300w" sizes="(max-width: 700px) 100vw, 700px" /></a></p>
<p><a href="https://python.ivan-shamaev.ru/wp-content/uploads/2020/03/20_interactive_data_visualization_in_python_3.png"><img decoding="async" src="https://python.ivan-shamaev.ru/wp-content/uploads/2020/03/20_interactive_data_visualization_in_python_3.png" alt="" width="700" height="450" class="aligncenter size-full wp-image-790" srcset="https://python.ivan-shamaev.ru/wp-content/uploads/2020/03/20_interactive_data_visualization_in_python_3.png 700w, https://python.ivan-shamaev.ru/wp-content/uploads/2020/03/20_interactive_data_visualization_in_python_3-300x193.png 300w" sizes="(max-width: 700px) 100vw, 700px" /></a></p>
<p>Со всем, что упомянуто здесь, мы все еще не изучаем все возможности библиотеки! Я бы посоветовал вам проверить документацию по plotly &amp; cufflinks, для более невероятной графики.</p>
<p><a href="https://python.ivan-shamaev.ru/wp-content/uploads/2020/03/21_interactive_data_visualization_in_python_3.png"><img decoding="async" src="https://python.ivan-shamaev.ru/wp-content/uploads/2020/03/21_interactive_data_visualization_in_python_3.png" alt="" width="1040" height="800" class="aligncenter size-full wp-image-791" srcset="https://python.ivan-shamaev.ru/wp-content/uploads/2020/03/21_interactive_data_visualization_in_python_3.png 1040w, https://python.ivan-shamaev.ru/wp-content/uploads/2020/03/21_interactive_data_visualization_in_python_3-300x231.png 300w, https://python.ivan-shamaev.ru/wp-content/uploads/2020/03/21_interactive_data_visualization_in_python_3-1024x788.png 1024w, https://python.ivan-shamaev.ru/wp-content/uploads/2020/03/21_interactive_data_visualization_in_python_3-768x591.png 768w" sizes="(max-width: 1040px) 100vw, 1040px" /></a></p>
<p>Выводы<br />Хуже всего в заблуждении о затонувших затратах является то, что вы понимаете, сколько времени вы потратили впустую после того, как бросили работу. К счастью, теперь, когда я допустил ошибку, придерживаясь matploblibслишком долго, вам не нужно!</p>
<p>Когда мы думаем о построении библиотек, есть несколько вещей, которые мы хотим:</p>
<ul>
<li>Графики с одной переменной для быстрого исследования</li>
<li>Интерактивные элементы для подбора / исследования данных</li>
<li>Возможность копаться в деталях по мере необходимости</li>
<li>Простая настройка для финальной презентации</li>
</ul>
<p>На данный момент, лучший вариант для всего этого в Python &#8212; это plotly.</p>
<p>Plotly позволяет нам быстро создавать визуализации и помогает нам лучше понять наши данные с помощью интерактивности. Кроме того, давайте признаем, что построение графиков должно быть одной из самых приятных частей науки о данных! С другими библиотеками построение графиков превратилось в утомительное занятие, но с plotly снова есть радость в создании великой фигуры!</p>
<p><a href="https://python.ivan-shamaev.ru/wp-content/uploads/2020/03/22_interactive_data_visualization_in_python_3.png"><img decoding="async" src="https://python.ivan-shamaev.ru/wp-content/uploads/2020/03/22_interactive_data_visualization_in_python_3.png" alt="" width="1448" height="625" class="aligncenter size-full wp-image-792" srcset="https://python.ivan-shamaev.ru/wp-content/uploads/2020/03/22_interactive_data_visualization_in_python_3.png 1448w, https://python.ivan-shamaev.ru/wp-content/uploads/2020/03/22_interactive_data_visualization_in_python_3-300x129.png 300w, https://python.ivan-shamaev.ru/wp-content/uploads/2020/03/22_interactive_data_visualization_in_python_3-1024x442.png 1024w, https://python.ivan-shamaev.ru/wp-content/uploads/2020/03/22_interactive_data_visualization_in_python_3-768x331.png 768w" sizes="(max-width: 1448px) 100vw, 1448px" /></a></p>


<p></p>
<p><a class="a2a_button_telegram" href="https://www.addtoany.com/add_to/telegram?linkurl=https%3A%2F%2Fpython.ivan-shamaev.ru%2Finteractive-data-visualization-in-python-3%2F&amp;linkname=%D0%98%D0%BD%D1%82%D0%B5%D1%80%D0%B0%D0%BA%D1%82%D0%B8%D0%B2%D0%BD%D0%B0%D1%8F%20%D0%B2%D0%B8%D0%B7%D1%83%D0%B0%D0%BB%D0%B8%D0%B7%D0%B0%D1%86%D0%B8%D1%8F%20%D0%B4%D0%B0%D0%BD%D0%BD%D1%8B%D1%85%20%D0%B2%20Python%203" title="Telegram" rel="nofollow noopener" target="_blank"></a><a class="a2a_button_whatsapp" href="https://www.addtoany.com/add_to/whatsapp?linkurl=https%3A%2F%2Fpython.ivan-shamaev.ru%2Finteractive-data-visualization-in-python-3%2F&amp;linkname=%D0%98%D0%BD%D1%82%D0%B5%D1%80%D0%B0%D0%BA%D1%82%D0%B8%D0%B2%D0%BD%D0%B0%D1%8F%20%D0%B2%D0%B8%D0%B7%D1%83%D0%B0%D0%BB%D0%B8%D0%B7%D0%B0%D1%86%D0%B8%D1%8F%20%D0%B4%D0%B0%D0%BD%D0%BD%D1%8B%D1%85%20%D0%B2%20Python%203" title="WhatsApp" rel="nofollow noopener" target="_blank"></a><a class="a2a_button_facebook" href="https://www.addtoany.com/add_to/facebook?linkurl=https%3A%2F%2Fpython.ivan-shamaev.ru%2Finteractive-data-visualization-in-python-3%2F&amp;linkname=%D0%98%D0%BD%D1%82%D0%B5%D1%80%D0%B0%D0%BA%D1%82%D0%B8%D0%B2%D0%BD%D0%B0%D1%8F%20%D0%B2%D0%B8%D0%B7%D1%83%D0%B0%D0%BB%D0%B8%D0%B7%D0%B0%D1%86%D0%B8%D1%8F%20%D0%B4%D0%B0%D0%BD%D0%BD%D1%8B%D1%85%20%D0%B2%20Python%203" title="Facebook" rel="nofollow noopener" target="_blank"></a><a class="a2a_button_linkedin" href="https://www.addtoany.com/add_to/linkedin?linkurl=https%3A%2F%2Fpython.ivan-shamaev.ru%2Finteractive-data-visualization-in-python-3%2F&amp;linkname=%D0%98%D0%BD%D1%82%D0%B5%D1%80%D0%B0%D0%BA%D1%82%D0%B8%D0%B2%D0%BD%D0%B0%D1%8F%20%D0%B2%D0%B8%D0%B7%D1%83%D0%B0%D0%BB%D0%B8%D0%B7%D0%B0%D1%86%D0%B8%D1%8F%20%D0%B4%D0%B0%D0%BD%D0%BD%D1%8B%D1%85%20%D0%B2%20Python%203" title="LinkedIn" rel="nofollow noopener" target="_blank"></a><a class="a2a_button_vk" href="https://www.addtoany.com/add_to/vk?linkurl=https%3A%2F%2Fpython.ivan-shamaev.ru%2Finteractive-data-visualization-in-python-3%2F&amp;linkname=%D0%98%D0%BD%D1%82%D0%B5%D1%80%D0%B0%D0%BA%D1%82%D0%B8%D0%B2%D0%BD%D0%B0%D1%8F%20%D0%B2%D0%B8%D0%B7%D1%83%D0%B0%D0%BB%D0%B8%D0%B7%D0%B0%D1%86%D0%B8%D1%8F%20%D0%B4%D0%B0%D0%BD%D0%BD%D1%8B%D1%85%20%D0%B2%20Python%203" title="VK" rel="nofollow noopener" target="_blank"></a><a class="a2a_button_twitter" href="https://www.addtoany.com/add_to/twitter?linkurl=https%3A%2F%2Fpython.ivan-shamaev.ru%2Finteractive-data-visualization-in-python-3%2F&amp;linkname=%D0%98%D0%BD%D1%82%D0%B5%D1%80%D0%B0%D0%BA%D1%82%D0%B8%D0%B2%D0%BD%D0%B0%D1%8F%20%D0%B2%D0%B8%D0%B7%D1%83%D0%B0%D0%BB%D0%B8%D0%B7%D0%B0%D1%86%D0%B8%D1%8F%20%D0%B4%D0%B0%D0%BD%D0%BD%D1%8B%D1%85%20%D0%B2%20Python%203" title="Twitter" rel="nofollow noopener" target="_blank"></a><a class="a2a_button_email" href="https://www.addtoany.com/add_to/email?linkurl=https%3A%2F%2Fpython.ivan-shamaev.ru%2Finteractive-data-visualization-in-python-3%2F&amp;linkname=%D0%98%D0%BD%D1%82%D0%B5%D1%80%D0%B0%D0%BA%D1%82%D0%B8%D0%B2%D0%BD%D0%B0%D1%8F%20%D0%B2%D0%B8%D0%B7%D1%83%D0%B0%D0%BB%D0%B8%D0%B7%D0%B0%D1%86%D0%B8%D1%8F%20%D0%B4%D0%B0%D0%BD%D0%BD%D1%8B%D1%85%20%D0%B2%20Python%203" title="Email" rel="nofollow noopener" target="_blank"></a><a class="a2a_dd addtoany_share_save addtoany_share" href="https://www.addtoany.com/share#url=https%3A%2F%2Fpython.ivan-shamaev.ru%2Finteractive-data-visualization-in-python-3%2F&#038;title=%D0%98%D0%BD%D1%82%D0%B5%D1%80%D0%B0%D0%BA%D1%82%D0%B8%D0%B2%D0%BD%D0%B0%D1%8F%20%D0%B2%D0%B8%D0%B7%D1%83%D0%B0%D0%BB%D0%B8%D0%B7%D0%B0%D1%86%D0%B8%D1%8F%20%D0%B4%D0%B0%D0%BD%D0%BD%D1%8B%D1%85%20%D0%B2%20Python%203" data-a2a-url="https://python.ivan-shamaev.ru/interactive-data-visualization-in-python-3/" data-a2a-title="Интерактивная визуализация данных в Python 3"></a></p><p>Сообщение <a href="https://python.ivan-shamaev.ru/interactive-data-visualization-in-python-3/">Интерактивная визуализация данных в Python 3</a> появились сначала на <a href="https://python.ivan-shamaev.ru">Python 3 | Data Science | Нейронные сети | AI - Искусственный Интеллект</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://python.ivan-shamaev.ru/interactive-data-visualization-in-python-3/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
	</channel>
</rss>
