Морской цикл через цвета с разбросом матплотлиба
Как я могу получить морские цвета при выполнении графика рассеяния?
import matplotlib.pyplot as plt
import seaborn as sns
ax=fig.add_subplot(111)
for f in files:
ax.scatter(args) # all datasets end up same colour
#plt.plot(args) # cycles through palette correctly
Ответы
Ответ 1
Вы должны указать matplotlib, какой цвет использовать. Чтобы использовать, например, палитру цветов по умолчанию:
import matplotlib.pyplot as plt
import seaborn as sns
import itertools
ax=fig.add_subplot(111)
palette = itertools.cycle(sns.color_palette())
for f in files:
ax.scatter(args, color=next(palette))
itertools.cycle
гарантирует, что мы не закончим цвета и начнем с первого после использования последнего.
Ответ 2
Чтобы основываться на ответе Carsten, если у вас есть большое количество категорий для назначения цветов, вы можете захотеть закрепить цвета в очень большой палитре парусных судов, например xkcd_palette
или crayon_palette
.. Обратите внимание, что эта практика обычно анти-шаблон диаграммы: использование более 5-6 цветов обычно является излишним, и вам может потребоваться изменить тип диаграммы.
import matplotlib.pyplot as plt
import seaborn as sns
palette = zip(df['category'].unique(), sns.crayons.values())