У меня есть стрипплот, где я использую объединенные данные для окрашивания точек данных.Вместо легенды я хотел бы показать цветную полосу.Я просмотрел много примеров, но я застрял в том, как использовать это с Seaborn Stripplot (и моим набором данных).
У меня есть фрейм данных dfBalance, который имеет числовые данные в столбце Balance и различные категории вПараметр столбца.Он также содержит время в столбце «Время», которое я использую для биннинга для окраски точек данных
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns
df = pd.DataFrame([[40, 'A',65], [-10, 'A',125], [60, 'B',65], [5, 'B',135], [8, 'B',205], [14, 'B',335]], columns=['Balance', 'Parameter', 'Time'])
bin = np.arange(0,max(df['Time']),60)
df['bin'] = pd.cut(abs(df['Time']),bin,precision=0)
plt.figure()
cpal=sns.color_palette('cmo.balance',n_colors=28,desat=0.8)
plt.style.use("seaborn-dark")
ax = sns.stripplot(x='Balance', y='Parameter', data=df, jitter=0.15, edgecolor='none', alpha=0.4, size=4, hue='bin', palette=cpal)
sns.despine()
ax.set_xlim([-45,45])
plt.title("L/R Balance")
plt.xlabel("Balance % L/R")
plt.ylabel("Parameter")
sns.set_context("notebook", font_scale=1.5, rc={"lines.linewidth": 2.5})
plt.legend(loc=1)
plt.show()
. В результате получается график:
IsЕсть ли способ заменить легенду с цветовой шкалой?