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