Seaborn consente di definire tavolozze di colori che contengono più colori, utili per grafici con molte linee. Tuttavia, quando si imposta la tavolozza su una con più colori, vengono utilizzati solo i primi sei, dopodiché i colori vengono riciclati, rendendo difficile distinguere le linee. Questo può essere sovrascritto chiamando esplicitamente la tavolozza, ma non è conveniente. Esiste un modo per forzare la tavolozza corrente di Seaborn a non riciclare i colori, quando ne vengono definiti più di 6?Tavolozze Seaborn - evita il riciclaggio dei colori
Esempio:
from matplotlib import pyplot as plt
import pandas as pd
import seaborn as sb
# Define a palette with 8 colors
cmap = sb.blend_palette(["firebrick", "palegreen"], 8)
sb.palplot(cmap)
# Set the current palette to this; only 6 colors are used
sb.set_palette(cmap)
sb.palplot(sb.color_palette())
df = pd.DataFrame({x:[x*10, x*10+5, x*10+10] for x in range(8)})
fig, (ax1, ax2) = plt.subplots(2,1,figsize=(4,6))
# Using the current palette, colors repeat
df.plot(ax=ax1)
ax1.legend(bbox_to_anchor=(1.2, 1))
# using the palette that defined the current palette, colors don't repeat
df.plot(ax=ax2, color=cmap)
ax2.legend(bbox_to_anchor=(1.2, 1)) ;
odori come un insetto Seaborn per me. – tacaswell
Anche io, ma non voglio fare supposizioni – iayork
In realtà, io non la penso così: http://web.stanford.edu/~mwaskom/software/seaborn/generated/seaborn.color_palette.html Sembra sta facendo quello che dovrebbe, è solo fastidioso. – tacaswell