Python Участок с разными маркерами [дубликат]

4
задан Hello lad 24 February 2015 в 21:59
поделиться

1 ответ

Для достижения этого результата вам нужно несколько раз называть scatter на той же оси. Хорошая новость заключается в том, что вы можете автоматизировать это для ваших данных:

import matplotlib.pyplot as plt

x = [1,2,3,4,5]
y = [2,1,3,6,7]

cluster = ['^','^','^','s','s']

fig, ax = plt.subplots()

for xp, yp, m in zip(x, y, cluster):
    ax.scatter([xp],[yp], marker=m)

plt.show()

Оптимальным решением будет фильтрация ваших входных данных с использованием информации о вашем кластере. Мы можем сделать это с помощью numpy.

import matplotlib.pyplot as plt
import numpy as np

x = np.array([1,2,3,4,5])
y = np.array([2,1,3,6,7])

cluster = np.array([1,1,1,2,2]) 

fig, ax = plt.subplots()

ax.scatter(x[cluster==1],y[cluster==1], marker='^')
ax.scatter(x[cluster==2],y[cluster==2], marker='s')

plt.show()
12
ответ дан mfitzp 25 August 2018 в 20:30
поделиться
Другие вопросы по тегам:

Похожие вопросы: