Friday, June 17, 2022

Visualization with Seaborn

Seaborn distplot позволяет отображать гистограмму с линией на ней. Это можно показать во всевозможных вариациях. Мы используем seaborn в сочетании с matplotlib, модулем построения графиков Python. Distplot строит одномерное распределение наблюдений.















 (.env) boris@boris-All-Series:~/SEABORN$ cat seabornLegend1.py

"""

Основная идея состоит в том, чтобы разделить легенду 

на 3 столбца для выравнивания, сделать маркеры легенды 

в столбцах 2 и 3 невидимыми и выровнять столбец 3 по правому краю

"""

import io

import matplotlib

import matplotlib.pyplot as plt

import numpy as np

import seaborn as sns

import warnings

warnings.filterwarnings("ignore")


x = np.random.randn(100)

s = [["(-inf, 1)", "-", 2538],

     ["[1, 3)", "-", 7215],

     ["[3, 8)", "-", 40334],

     ["[8, 12)", "-", 20833],

     ["[12, 17)", "-", 6098],

     ["[17, 20)", "-", 499],

     ["[20, inf)", "-", 87]]

fig, ax = plt.subplots()

for i in range(len(s)):

    sns.distplot(x - 0.5 * i, ax=ax)

empty = matplotlib.lines.Line2D([0],[0],visible=False)

leg_handles = ax.lines + [empty] * len(s) * 2

leg_labels = np.asarray(s).T.reshape(-1).tolist()

leg = plt.legend(handles=leg_handles, labels=leg_labels, ncol=3, columnspacing=-1)

plt.setp(leg.get_texts()[2 * len(s):], ha='right', position=(40, 0))

plt.show()

































No comments:

Post a Comment