Какой самый эффективный способ разбить график пары 2D-списков друг на друга в python? - PullRequest
0 голосов
/ 23 марта 2020

Работа с python и matplotlib. Скажем, например, у меня есть следующие списки:

A=[[1, 2, 3], [1, 2, 3], [1, 2, 3]]
B=[[4, 2, 6], [3, 2, 1], [5, 1, 4]]

Каждая строка этих списков представляет один график рассеяния, A - это ось x, а B - ось y. Есть ли эффективный способ наложения этих диаграмм рассеяния друг на друга в одну диаграмму рассеяния? Я уже пробовал "для" l oop:

for i in range(len(A)):
    plt.scatter(A[i], B[i])

. Это работает, но немного медленнее при работе с большим количеством записей. Есть ли более эффективный способ сделать это?

1 Ответ

0 голосов
/ 23 марта 2020

Если нет причины делать несколько вызовов разброса, я бы порекомендовал сгладить списки и сделать один вызов для plt.scatter, например, так:

import itertools
A=[[1, 2, 3], [1, 2, 3], [1, 2, 3]]
B=[[4, 2, 6], [3, 2, 1], [5, 1, 4]]
A_flat = list(itertools.chain.from_iterable(A))
B_flat = list(itertools.chain.from_iterable(B))
plt.scatter(A_flat, B_flat)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...