2012-06-25 219 views
11

我正在使用Python matplotlib。我想疊加散點圖。我知道如何用命令疊加連續的線圖:Python matplotlib疊加散點圖

>>> plt.plot(seriesX) 
>>> plt.plot(Xresampl) 
>>> plt.show() 

但是它似乎並沒有像散射一樣工作。或者也許可以使用plot()和另一個指定線條樣式的參數。如何進行? 謝謝

回答

19

您只需撥打scatter函數兩次,matplotlib將爲您疊加這兩個圖。您可能想指定一種顏色,因爲所有散點圖的默認值都是藍色的。這也許就是爲什麼你只看到一個情節。

import numpy as np 
import pylab as plt 

X = np.linspace(0,5,100) 
Y1 = X + 2*np.random.random(X.shape) 
Y2 = X**2 + np.random.random(X.shape) 

plt.scatter(X,Y1,color='k') 
plt.scatter(X,Y2,color='g') 
plt.show() 

enter image description here

+1

此外,使用例如「alpha = 0.8」會給你透明度 – ntg

3

如果您希望繼續使用的情節,你可以使用次要情節返回的軸對象:

import numpy as np 
import pylab as plt 

X = np.linspace(0,5,100) 
Y1 = X + 2*np.random.random(X.shape) 
Y2 = X**2 + np.random.random(X.shape) 

fig, ax = plt.subplots() 
ax.plot(X,Y1,'o') 
ax.plot(X,Y2,'x') 
plt.show()