#python #matplotlib #arguments #scatter
#python #matplotlib #аргументы #scatter
Вопрос:
У меня возникают проблемы с различением различий, когда я передаю разные списки в параметр аргумента scatter () c.
Для сеанса случайного обхода, состоящего, скажем, из 10 шагов, у меня есть список координат x (x_values), список координат y (y_values) и список чисел от 0 до 9 (point_numbers). Для списков x_values и y_values сгенерированы случайные числа. Когда я передаю x_values в аргумент c, мои графики окрашиваются от белого до темно-синего, слева направо. Когда я передаю y_values, график окрашивается снизу вверх. Однако, когда я передаю список point_numbers, график окрашивается начиная с начальной точки в случайном обходе, за которой следует следующая точка, которая немного темнее, и так далее, и так далее, пока не достигнет последней точки в обходе, где она самая темная.
plt.scatter(x_values, y_values, c=x_values, cmap=plt.cm.Blues, s=15)
Вышеуказанные цвета слева направо.
plt.scatter(x_values, y_values, c=y_values, cmap=plt.cm.Blues, s=15)
Вышеуказанные цвета отображаются снизу вверх.
plt.scatter(x_values, y_values, c=point_numbers, cmap=plt.cm.Blues, s=15)
И, наконец, приведенный выше график окрашивается от первой точки обхода до следующей и так далее.
Что я хочу знать, так это то, что происходит за кулисами, что позволяет matplotlib раскрашивать слева направо и снизу вверх с помощью x_values и y_values соответственно? Также, самое главное, что происходит, когда я передаю список чисел (point_numbers), который строго содержит только цифры 0-9, в c, и он окрашивается при пошаговом обходе в отличие от того, что он делает с x_values и y_values?
Комментарии:
1. Matplotlib не раскрашивает слева направо или снизу вверх. Он просто принимает значение из списка, который вы предоставляете
c
, и принимает цвет из цветовой карты, который соответствует доле этого значения, нормализованной между минимальным и максимальным значениями из всего списка.2. Большое вам спасибо, это имеет гораздо больше смысла, хорошего вечера!