Как нарисовать несколько линий в 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
Как настроить размер фигуры на графике Сиборна