Matplotlib.Pyplot не меняют цвет при разбросе - PullRequest
1 голос
/ 03 апреля 2020

Я не понимаю, почему печать pyplot всегда красного цвета, но изменение переменной

def showDot(dot):
    classColormap = ListedColormap(['#FF0000', '#00FF00', '#000000'])
    pl.scatter(dot[0][0],dot[0][1],c=dot[1],cmap=classColormap)
    pl.show()

Также, когда я пишу c = 2 (постоянный цвет, но не красный) печать pyplot красного

1 Ответ

1 голос
/ 03 апреля 2020

Мне не совсем понятно, как вы хотите, чтобы конечный результат выглядел, но мне кажется, что c должно быть некоторым числом, определяющим интенсивность. Мне кажется, c=dot[1] вернул бы массив в вашем коде. Следующий код производит разные цвета. Здесь я просто определил интенсивность в соответствии с расстоянием от ori go. Возможно, у вас есть что-то еще.

Я никогда раньше не использовал цветовые карты, но я предполагаю, что он должен работать с диапазоном значений, чтобы назначать разные цвета. Если вы добавите одну и одну точку, я предполагаю, что она всегда назначает один и тот же цвет из цветовой карты (возможно, среднее значение)

from matplotlib import pyplot as pl
from matplotlib import colors as cl
import numpy as np

mean = (1, 2)
cov = [[1, 0.2], [.2, 1]]
dots = np.random.multivariate_normal(mean, cov, (2, 20))
# The distance from origo, which will define the intensity
dots_intensity = np.hypot(dots[0,:], dots[1,:])

classColormap = cl.ListedColormap(['#FF0000', '#00FF00', '#000000'])

pl.scatter(dots[0,:], dots[1,:],c=dots_intensity,cmap=classColormap)

надеюсь, это поможет.

Я нашел это статья полезна https://medium.com/better-programming/how-to-use-colormaps-with-matplotlib-to-create-colorful-plots-in-python-969b5a892f0c

enter image description here

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...