Сиборн - эстетика фигуры

Визуализация данных - это один шаг, а еще один шаг - сделать визуализированные данные более приятными. Визуализация играет жизненно важную роль в передаче количественной информации аудитории, чтобы привлечь ее внимание.

Эстетика означает набор принципов, связанных с природой и оценкой красоты, особенно в искусстве. Визуализация - это искусство представления данных самым простым и эффективным способом.

Библиотека Matplotlib очень поддерживает настройку, но нужно знать, какие настройки нужно настроить для достижения привлекательного и ожидаемого сюжета, чтобы использовать ее. В отличие от Matplotlib, Seaborn поставляется с настраиваемыми темами и высокоуровневым интерфейсом для настройки и управления внешним видом фигур Matplotlib.

пример

import numpy as np
from matplotlib import pyplot as plt
def sinplot(flip = 1):
   x = np.linspace(0, 14, 100)
   for i in range(1, 5): 
      plt.plot(x, np.sin(x + i * .5) * (7 - i) * flip)
sinplot()
plt.show()

Вот как выглядит график со значениями по умолчанию Matplotlib -

Чтобы изменить тот же график на значения по умолчанию Seaborn, используйте set() функция -

пример

import numpy as np
from matplotlib import pyplot as plt
def sinplot(flip = 1):
   x = np.linspace(0, 14, 100)
   for i in range(1, 5):
      plt.plot(x, np.sin(x + i * .5) * (7 - i) * flip)
import seaborn as sb
sb.set()
sinplot()
plt.show()

Вывод

Два приведенных выше рисунка показывают разницу в графиках Matplotlib и Seaborn по умолчанию. Представление данных одинаково, но стиль представления различается в обоих.

По сути, Seaborn разбивает параметры Matplotlib на две группы:

  • Стили сюжета
  • Масштаб сюжета

Стили Фигур Сиборна

Интерфейс для управления стилями set_style(). С помощью этой функции вы можете установить тему сюжета. В соответствии с последней обновленной версией ниже представлены пять доступных тем.

  • Darkgrid
  • Whitegrid
  • Dark
  • White
  • Ticks

Попробуем применить тему из вышеупомянутого списка. По умолчанию тема сюжета будетdarkgrid который мы видели в предыдущем примере.

пример

import numpy as np
from matplotlib import pyplot as plt
def sinplot(flip=1):
   x = np.linspace(0, 14, 100)
   for i in range(1, 5):
      plt.plot(x, np.sin(x + i * .5) * (7 - i) * flip)
import seaborn as sb
sb.set_style("whitegrid")
sinplot()
plt.show()

Вывод

Разница между двумя приведенными выше графиками - это цвет фона.

Удаление шипов топоров

В темах white и ticks мы можем удалить верхнюю и правую оси, используя despine() функция.

пример

import numpy as np
from matplotlib import pyplot as plt
def sinplot(flip=1):
   x = np.linspace(0, 14, 100)
   for i in range(1, 5):
      plt.plot(x, np.sin(x + i * .5) * (7 - i) * flip)
import seaborn as sb
sb.set_style("white")
sinplot()
sb.despine()
plt.show()

Вывод

На обычных графиках мы используем только левую и нижнюю оси. Используяdespine() функция, мы можем избежать ненужных игл правой и верхней осей, что не поддерживается в Matplotlib.

Отмена элементов

Если вы хотите настроить стили Seaborn, вы можете передать словарь параметров в set_style() функция. Доступные параметры просматриваются с помощьюaxes_style() функция.

пример

import seaborn as sb
print sb.axes_style

Вывод

{'axes.axisbelow'     : False,
'axes.edgecolor'      : 'white',
'axes.facecolor'      : '#EAEAF2',
'axes.grid'           : True,
'axes.labelcolor'     : '.15',
'axes.linewidth'      : 0.0,
'figure.facecolor'    : 'white',
'font.family'         : [u'sans-serif'],
'font.sans-serif'     : [u'Arial', u'Liberation  
                        Sans', u'Bitstream Vera Sans', u'sans-serif'],
'grid.color'          : 'white',
'grid.linestyle'      : u'-',
'image.cmap'          : u'Greys',
'legend.frameon'      : False,
'legend.numpoints'    : 1,
'legend.scatterpoints': 1,
'lines.solid_capstyle': u'round',
'text.color'          : '.15',
'xtick.color'         : '.15',
'xtick.direction'     : u'out',
'xtick.major.size'    : 0.0,
'xtick.minor.size'    : 0.0,
'ytick.color'         : '.15',
'ytick.direction'     : u'out',
'ytick.major.size'    : 0.0,
'ytick.minor.size'    : 0.0}

Изменение значений любого параметра изменит стиль графика.

пример

import numpy as np
from matplotlib import pyplot as plt
def sinplot(flip=1):
   x = np.linspace(0, 14, 100)
   for i in range(1, 5):
      plt.plot(x, np.sin(x + i * .5) * (7 - i) * flip)
import seaborn as sb
sb.set_style("darkgrid", {'axes.axisbelow': False})
sinplot()
sb.despine()
plt.show()

Вывод

Масштабирование элементов графика

У нас также есть контроль над элементами графика и можно управлять масштабом графика с помощью set_context()функция. У нас есть четыре предустановленных шаблона для контекстов, в зависимости от относительного размера, контексты названы следующим образом

  • Paper
  • Notebook
  • Talk
  • Poster

По умолчанию контекст установлен на записную книжку; и использовался на графиках выше.

пример

import numpy as np
from matplotlib import pyplot as plt
def sinplot(flip = 1):
   x = np.linspace(0, 14, 100)
   for i in range(1, 5):
      plt.plot(x, np.sin(x + i * .5) * (7 - i) * flip)
import seaborn as sb
sb.set_style("darkgrid", {'axes.axisbelow': False})
sinplot()
sb.despine()
plt.show()

Вывод

Выходной размер фактического графика больше по размеру по сравнению с указанными выше графиками.

Note - Из-за масштабирования изображений на нашей веб-странице вы можете пропустить реальную разницу в наших примерах графиков.