Есть несколько вещей. Как говорится в сообщении об ошибке, объект, который вы получаете, не имеет атрибута color. Как говорится в руководстве , Make a linear segmented colormap with name from a sequence of colors which evenly transitions from colors[0] at val=0 to colors[-1] at val=1.
Во-вторых, вы получаете список палитр. Один из способов сделать то, что вы хотите, - это для каждого графика случайным образом выбрать how_many
цветов, которые вы хотите, и затем построить соответствующие графики, например ::
import numpy as np
import matplotlib.pyplot as plt
import matplotlib.colors as mcolors
how_many = 20
# Create a list of colours randomly selected from the list of matplotlib colours
c_list = [np.random.choice(list(mcolors.CSS4_COLORS.values())) for i in range(how_many)]
barlist=plt.bar(np.arange(len(c_list)), np.arange(len(c_list)))
for i in range(len(c_list)):
barlist[i].set_color(c_list[i])
![Method one](https://i.stack.imgur.com/YH5R7.png)
Другая вещь, которую вы могли бы сделать, это генерировать разные палитры, например. используя seaborn или даже matplotlib, вы можете использовать произвольный выбор палитры np.random.choice(plt.colormaps())
. Соответствующую информацию можно найти в руководстве по seaborn или в таких сообщениях: Как задать пользовательские цвета для столбчатой диаграммы pandas / matplotlib , { ссылка }.