Как использовать pcolor (или imshow) для построения цветных квадратов с центром в каждой точке рассеяния X, Y - PullRequest
0 голосов
/ 07 ноября 2019

У меня есть несколько тысяч точек со значениями X, Y, C (в числовых массивах).

Я хочу, чтобы каждая точка X, Y была нанесена на график 2D-изображения с цветным квадратом вокруг него (aкоробка размером 40х40 единиц). Каждая точка X, Y должна быть центрирована в середине поля. Цвет поля будет отображен в соответствии со значением C. Точки X, Y расположены довольно случайно. Точки расположены таким образом, чтобы ни одна из коробок не перекрывалась, не касалась их и не имела зазоров.

Я не эксперт по Python, поэтому был бы признателен, если бы кто-нибудь мог помочь мне начать это с нескольких строк кода. Я верю, что понадобится что-то вроде imshow или pcolor.

Спасибо,

1 Ответ

0 голосов
/ 07 ноября 2019

Вы можете просто установить размер и тип маркера в команде scatter.

Это было бы моим решением:

X = 50 * np.round(10 * np.random.rand(100))
Y = 50 * np.round(10 * np.random.rand(100))
C = np.random.rand(100)

plt.figure(figsize=(12, 12))
sc = plt.scatter(X, Y, s=40**2, c=C, marker='s', cmap='gist_rainbow')
plt.scatter(X, Y, s=11**2, c='k')
plt.colorbar(sc)
plt.axis('equal')
plt.show()

Выходбудет следующим:

Output

Надеюсь, что поможет!

...