Вступление
Matplotlib - одна из наиболее широко используемых библиотек визуализации данных в Python. Большая часть популярности Matplotlib связана с его параметрами настройки - вы можете настроить практически любой элемент из его иерархии объектов .
В этом уроке мы рассмотрим, как изменить размер маркера на графике рассеяния Matplotlib .
Импортировать данные
Мы воспользуемся набором данных World Happiness и сравним показатель счастья с различными характеристиками, чтобы увидеть, что влияет на восприятие счастья в мире:
import pandas as pd
df = pd.read_csv('worldHappiness2019.csv')
Затем мы можем легко управлять размером маркеров, используемых для представления записей в этом наборе данных.
Изменить размер маркера в точечной диаграмме Matplotlib
Давайте начнем с построения графика зависимости показателя щедрости от ВВП на душу населения:
import matplotlib.pyplot as plt
import pandas as pd
df = pd.read_csv('worldHappiness2019.csv')
fig, ax = plt.subplots(figsize=(10, 6))
ax.scatter(x = df['GDP per capita'], y = df['Generosity'])
plt.xlabel("GDP per Capita")
plt.ylabel("Generosity Score")
plt.show()
Это приводит к:
{.ezlazyload}
Теперь предположим, что мы хотели бы увеличить размер каждого маркера,
исходя из ощущения счастья жителей этой страны. Оценка счастья - это
список, поступающий прямо из df
, поэтому он также может работать с
другими списками.
Чтобы изменить размер маркеров, мы используем s
для функции
scatter()
. Это будет markersize
для функции plot()
:
import matplotlib.pyplot as plt
import pandas as pd
df = pd.read_csv('worldHappiness2019.csv')
fig, ax = plt.subplots(figsize=(10, 6))
ax.scatter(x = df['GDP per capita'], y = df['Generosity'], s = df['Score']*25)
plt.xlabel("GDP per Capita")
plt.ylabel("Generosity Score")
plt.show()
Мы также умноженное значение каждого элемента в списке на произвольное
число 25, потому что они выстроены в ряд от 0..1
. Это приведет к
получению действительно маленьких маркеров, если мы будем использовать
их в исходных значениях.
Теперь это приводит к:
{.ezlazyload}
Или еще лучше, вместо того, чтобы грубо умножать все на 25, поскольку значения в любом случае похожи, мы можем сделать что-то вроде этого:
import matplotlib.pyplot as plt
import pandas as pd
df = pd.read_csv('worldHappiness2019.csv')
size = df['Score'].to_numpy()
s = [3*s**2 for s in size]
fig, ax = plt.subplots(figsize=(10, 6))
ax.scatter(x = df['GDP per capita'], y = df['Generosity'], s = s)
plt.xlabel("GDP per Capita")
plt.ylabel("Generosity Score")
plt.show()
Важно, чтобы s
имел ту же длину, что и x
и y
, поскольку теперь к
ним применяется каждое значение из s
Если список короче или длиннее,
код сломается.
Здесь мы извлекли значения из Score
, масштабировали их и применили
размер обратно к диаграмме рассеяния:
{.ezlazyload}
Установите глобальный размер маркера в точечной диаграмме Matplotlib
Если вы хотите отделить размер маркера от какой-либо переменной и просто
хотите установить стандартный глобальный размер маркеров на диаграмме
рассеяния, вы можете просто передать одно значение для s
:
import matplotlib.pyplot as plt
import pandas as pd
df = pd.read_csv('worldHappiness2019.csv')
fig, ax = plt.subplots(figsize=(10, 6))
ax.scatter(x = df['GDP per capita'], y = df['Generosity'], s = 100)
plt.xlabel("GDP per Capita")
plt.ylabel("Generosity Score")
plt.show()
Теперь это приводит к:
{.ezlazyload}
Заключение
В этом уроке мы рассмотрели, как изменить размер маркера на точечной диаграмме Matplotlib.
Если вас интересует визуализация данных и вы не знаете, с чего начать, обязательно ознакомьтесь с нашим комплектом книг по визуализации данных в Python{.ebook-link} :
::: {style=“border: 1px solid #ebebeb;padding: 15px;”} {.ebook-link}
Визуализация данных в Python
::: {.row} ::: {.col-md-4 .col-xs-12} {.ezlazyload .img-responsive .center-block} :::
::: {.col-md-8 .col-xs-12 .my-auto} Станьте опасными с визуализацией данных
✅ 30-дневная гарантия возврата денег без вопросов
✅ от начального до продвинутого
✅ Регулярно обновляется бесплатно (последнее обновление в апреле 2021 г.)
✅ Обновлено с бонусными ресурсами и руководствами ::: ::: :::
Визуализация данных в Python с помощью Matplotlib и Pandas - это книга, предназначенная для абсолютных новичков в работе с Pandas и Matplotlib с базовыми знаниями Python и позволяющая им создать прочную основу для расширенной работы с этими библиотеками - от простых графиков до анимированных трехмерных графиков с интерактивными кнопки.
Он служит подробным руководством, которое научит вас всему, что вам нужно знать о Pandas и Matplotlib, в том числе о том, как создавать типы графиков, которые не встроены в саму библиотеку.
Книга «Визуализация данных в Python» , книга для начинающих и средних разработчиков Python, проведет вас через простые манипуляции с данными с помощью Pandas, охватит основные библиотеки построения графиков, такие как Matplotlib и Seaborn, и покажет, как использовать преимущества декларативных и экспериментальных библиотек, таких как Altair. В частности, на протяжении 11 глав эта книга охватывает 9 библиотек Python: Pandas, Matplotlib, Seaborn, Bokeh, Altair, Plotly, GGPlot, GeoPandas и VisPy.
Он служит уникальным практическим руководством по визуализации данных в виде множества инструментов, которые вы можете использовать в своей карьере.