Мне нужно нарисовать два набора по 100 точек каждый. Первый набор точек проходит по оси Y, а следующий набор точек немного дальше от первого набора точек.Matplotlib Graphing
Мой код выглядит следующим образом:
import matplotlib.pyplot as plt
data= numpy.array(network) #network is a list of values
datatwo= numpy.array(list) #list is another list
cmap= numpy.array([(1,0,0),(0,1,0)])
uniqdata, idx=numpy.unique(data, return_inverse=True)
uniqdata, idx=numpy.unique(datatwo, return_inverse=True)
N=len(data)
M=len(datatwo)
fig, ax=plt.subplots()
plt.scatter(numpy.zeros(N), numpy.arange(1,N+1), s=50, c=cmap[idx])
plt.scatter(numpy.ones(M), numpy.arange(1,M+1), s=50, c=cmap[idx])
plt.grid()
plt.show()
Моя проблема заключается в том, что эти два списка, сети и список, имеют разные значения, но интерпретатор графики и тот же набор точек два раза. Мне нужно иметь два разных набора точек, один для сети и списка, соответственно.
что не так с кодом?
Minor комментария 'matplotlib.pyplot на plt' должен быть' 'как' не at' – Greg
Ну, для начала, вы не используете' data' или 'datatwo' в ваш сюжет вообще звонит. Вы просто рисуете их длину (т. Е. Если 'data' имеет длину 3, вы рисуете [1, 2, 3] как значения y, независимо от фактических значений' data'). Кроме того, вы переписываете 'idx' сразу же после его создания. – BrenBarn
вы не должны использовать 'list' для обозначения переменной, но, возможно, не решите вашу проблему. –