Как сгладить точки данных на точечных диаграммах в Python? - PullRequest
3 голосов
/ 22 марта 2019

У меня есть точечная диаграмма, где я раскрашиваю каждую точку данных на основе массива:

 plt.scatter(xs,ys,c=av,cmap=plt.cm.hot,s=50,alpha=0.5)

In [96]: xs.shape
Out[96]: (5594,)

In [97]: ys.shape
Out[97]: (5594,)

In [98]: av.shape
Out[98]: (5594,)

и вот результат: Current

Теперь я хочу сохранить цвет, но сгладить точки данных, чтобы получить сглаженный график рассеяния, что-то вроде этого (из этого поста ) или этого изображения:

Desired

Комментарий: Я подумал, что если я смогу добавить больше точек к своему xs, ys, zs, я смогу создать точечную диаграмму с большим количеством точек данных, следовательно, она будет больше похожа на диаграмму тепловых карт, чего я и хочу. Теперь для каждой точки в xs, ys, zs я хочу добавить дополнительные точки с аналогичными значениями вокруг исходных точек. В идеале эти дополнительные точки должны образовывать нормальное распределение вокруг фактических исходных точек в xs, ys, zs. Есть ли статистические инструменты для решения этой задачи? Например. Как изменить [1, 5, 10] на [0.9,0.98,1,1.02,1.1, 4.9,4.98,5,5.02,5.1, 9.9,9.98,10,10.02,10.1]?

1 Ответ

1 голос
/ 22 марта 2019

OP : Существуют ли статистические инструменты для выполнения этой задачи?Например, как изменить [1, 5, 10] на [0,9,0,98,1,1.02,1.1, 4.9,4.98,5,5.02,5.1, 9.9,9.98,10,10.02,10.1]?

obs=[1, 5 ,10]

syntheticobs=np.random.normal(0,0.1,(6,3))+obs
synthethicobs

Out[]:array([[ 1.02166209,  5.00716569,  9.96726293],
             [ 0.96727493,  4.94823697, 10.03424305],
             [ 1.10756036,  5.12464335,  9.86776082],
             [ 0.97866246,  5.12743117, 10.06647638],
             [ 0.87842188,  5.00994338, 10.1114983 ],
             [ 1.10728294,  4.82523615, 10.03642462]])
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...