Как нарисовать несколько линий в seaborn (с примером)


Вы можете использовать следующий базовый синтаксис для рисования нескольких линий на одном графике с помощью seaborn в Python:

 import seaborn as sns

sns. lineplot (data=df[[' col1 ', ' col2 ', ' col3 ']]

В этом конкретном примере будет создан путь из трех разных линий.

В следующем примере показано, как использовать этот синтаксис на практике.

Пример: рисование нескольких линий в Seaborn

Предположим, у нас есть следующий DataFrame pandas, который содержит информацию о продажах, совершенных четырьмя разными розничными магазинами (A, B, C и D) за восемь лет подряд:

 import pandas as pd

#createDataFrame
df = pd. DataFrame ({' year ': [1, 2, 3, 4, 5, 6, 7, 8],
                   ' A ': [10, 12, 14, 15, 15, 14, 13, 18],
                   ' B ': [18, 18, 19, 14, 14, 11, 20, 28],
                   ' C ': [5, 7, 7, 9, 12, 9, 9, 4],
                   ' D ': [11, 8, 10, 6, 6, 5, 9, 12]})

#view DataFrame
print (df)

   year ABCD
0 1 10 18 5 11
1 2 12 18 7 8
2 3 14 19 7 10
3 4 15 14 9 6
4 5 15 14 12 6
5 6 14 11 9 5
6 7 13 20 9 9
7 8 18 28 4 12

Мы можем использовать функцию lineplot() компании Seaborn для создания графика, который отображает четыре линии, представляющие продажи, осуществленные каждым магазином в течение каждого года:

 import seaborn as sns

#plot sales of each store as a line
sns. lineplot (data=df[[' A ',' B ',' C ',' D ']])

многолинейный морской сюжет

Каждая строка представляет значения одного из четырех магазинов.

Легенда в левом верхнем углу указывает, какой цвет какому магазину соответствует.

Обратите внимание, что мы также можем использовать аргумент палитры , чтобы указать наши собственные цвета для использования на графике:

 import seaborn as sns

#plot sales of each store with custom colors
sns. lineplot (data=df[[' A ', ' B ', ' C ', ' D ']], palette=[' red ', ' blue ', ' purple ', ' pink ']) 

Обратите внимание, что цвета строк теперь соответствуют четырем цветам, которые мы указали в аргументе палитры .

Если вы хотите, чтобы каждая линия была сплошной, вы можете использовать функцию pandas Melt() , чтобы преобразовать DataFrame в длинный формат , а затем использовать следующий синтаксис для рисования линий:

 import seaborn as sns

#plot sales of each store with custom colors
sns. lineplot (x=' year ', y=' value ', hue=' variable ', 
             data=pd. melt (df,[' year ']),
             palette=[' red ', ' blue ', ' purple ', ' pink '])

Каждая линия теперь сплошная, а не имеет свой собственный стиль.

Примечание . Если у вас возникли трудности с импортом seaborn в блокнот Jupyter, возможно, вам придется сначала запустить команду %pip install seaborn .

Дополнительные ресурсы

В следующих руководствах объясняется, как выполнять другие распространенные задачи в Seaborn:

Как добавить заголовок к участкам Seaborn
Как изменить размер шрифта на графиках Seaborn
Как настроить размер фигуры на графике Сиборна

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *