Эффективная диаграмма рассеяния с определенными цветами для каждой точки, используя Matplotlib - PullRequest
0 голосов
/ 19 октября 2018

Мне нужно создать диаграмму рассеяния в Python N ~ 10000 точек, где каждая точка имеет определенный x, y, цвет и размер. Это то, что я создаю .Но то, как я это делаю, занимает очень много времени (~ 10 секунд для 1000 очков, ~ 2 минуты для 10000 очков).Это фиктивный код, который представляет то, что я делаю:

# x = [list of x coords]
# y = [list of y coords]
# colors = [list of color triples]
# sizes = [list of marker sizes]

f,ax = plt.figure()

N = 10000
for i in range(N):
    ax.plot(x[i],y[i], marker='.', color=colors[i], markersize = sizes[i])

Использование plt.scatterplot занимает столько же времени.Есть ли лучший (более быстрый) способ достижения того же результата?

1 Ответ

0 голосов
/ 19 октября 2018

Нет plt.scatterplot.Если вы имеете в виду plt.scatter, это будет намного быстрее, потому что вы можете вызывать его только один раз вместо N раз.

# x = [list of x coords]
# y = [list of y coords]
# colors = [list of color triples]
# sizes = [list of marker sizes]

f,ax = plt.subplots()

ax.scatter(x,y, marker='.', c=colors, s = sizes)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...