0
我需要繪製兩組每個100個點。 第一組點沿Y軸排列,下一組點距離第一組點較遠。Matplotlib繪圖
我的代碼如下:
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()
我的問題是,這兩個名單,網絡和列表,有不同的價值觀,但解釋的圖形相同的一組點兩倍。我需要有兩組不同的點,分別用於網絡和列表。
代碼有什麼問題? 謝謝
小評論'matplotlib.pyplot在plt'應該是'as'不'at' – Greg
嗯,首先,你是不是使用'data'或'datatwo'你的情節呼籲。你只是繪製它們的長度(即,如果'數據'的長度爲3,則將[1,2,3]繪製爲y值,而不管數據的實際值是多少)。另外,您在創建後立即覆蓋'idx'。 – BrenBarn
你不應該使用'list'命名一個變量,但可能無法解決你的問題。 –