2016-10-23 30 views
0

我有三個數組a,b和c每個是這樣的:matlplotlib - 散射三個數據集中在一個情節

a = [[ 0.88858175 -0.90904395 -1.4787036 0.55755664 0.94160917] 
    [ 1.17990265 -1.579332 0.91442934 0.01152292 -0.52652291]] 
b = [[ 4.48465076 1.48360303 0.53258423 3.9320206 4.57317742] 
    [ 1.89560531 0.65821058 1.77655227 1.37163867 1.1303489 ]] 
c = [[ 0.88858175 -0.90904395 -1.4787036 0.55755664 0.94160917] 
    [ 1.17990265 -1.579332 0.91442934 0.01152292 -0.52652291]] 

現在我要繪製在彼此頂部的三個數據集,使用三個不同顏色。我的代碼:

ax,ay = a[0],a[1] 
bx,by = b[0],b[1] 
cx,cy = c[0],c[1] 
plt.scatter(ax,ay,c='blue') 
plt.scatter(bx,by,c='red') 
plt.scatter(cx,cy,c='yellow') 
plt.show() 

Image showing the result

對於兩個數據集,它完美的罰款。但是我無法同時把所有三種情節都打成一團。根據您如何移動「plt.scatter ...」線的順序,該圖顯示數據集的不同組合,但始終只有兩個。我該如何解決這個問題?

+1

何不你給我們看一些數字嗎?我的猜測是兩個最新的數據集會疊加前一個數據集,所以您再也看不到它了。 –

+0

您能否提供您獲得的數據和圖片,以便我們重現問題? (請參閱http://stackoverflow.com/help/mcve) –

+0

@VlasSokolov現在包括的數字 – doktormatte

回答

0

@doktormatte ac是在數據相同,但如果他們需要同樣可以使用alpha=0.5和而密謀表現出一些不同的結果:

ax,ay = a[0],a[1] 
bx,by = b[0],b[1] 
cx,cy = c[0],c[1] 
plt.scatter(ax,ay,c='blue',s=40,marker="s",alpha=0.5,label='a') 
plt.scatter(bx,by,c='red',s=40,label='b') 
plt.scatter(cx,cy,c='yellow',s=40,alpha=0.5,label='c') 
plt.legend(loc='upper left'); 
plt.show() 

enter image description here

相關問題