Мой скрипт работает так, что он создает точечный график так, как я хочу, но каждый раз, когда он запускается, он также выдает сообщение об ошибке:
Аргумент 'c' выглядит как один числовой RGBили последовательность RGBA, которую следует избегать, поскольку отображение значений будет иметь приоритет в случае, если его длина совпадает с 'x' и 'y'. Используйте двумерный массив с одной строкой, если вы действительно хотите указать одинаковое значение RGB или RGBA для всех точек.
Эта ошибка повторяется 20 раз (по одному разу для каждого цвета). Я почти уверен, что это из-за деталей df_graph['color'] = df_graph.index/len(df_graph.index)
и c = cmap(row['color'])
, но, не настроив их так, как они были, я не смог получить цвета легенды, соответствующие цветам нанесенных точек.
Полный код:https://pastebin.com/hLWX5cyC
Часть, которая, как мне кажется, вызывает проблемы (строки 23-32):
# data needed from dataframe
df_graph = df_sorted.head(20).reset_index()
df_graph['color'] = df_graph.index/len(df_graph.index)
# visualise data
fig, ax = plt.subplots(figsize=(12,6))
cmap = plt.get_cmap('tab20')
for index, row in df_graph.iterrows():
ax.scatter(row['2P'], row['3P'], s = (row['PTS'] * 4), c = cmap(row['color']), label = row['Player'])