2012-06-25 82 views
11

Tôi đang sử dụng Python matplotlib. tôi muốn chồng lên các ô phân tán. Tôi biết cách xếp chồng các ô dòng liên tục bằng các lệnh:Python matplotlib chồng các ô phân tán chồng lên nhau

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

Nhưng dường như nó không hoạt động theo cùng cách với phân tán. Hoặc có thể sử dụng plot() với một đối số khác xác định kiểu dòng. Làm thế nào để tiến hành? cảm ơn

Trả lời

19

Bạn chỉ cần gọi hàm scatter hai lần, matplotlib sẽ chồng lên hai ô cho bạn. Bạn có thể muốn chỉ định một màu, vì mặc định cho tất cả các ô phân tán có màu xanh dương. Đây có lẽ là lý do tại sao bạn chỉ nhìn thấy một âm mưu.

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

Hơn nữa, sử dụng ví dụ "alpha = 0.8" sẽ cung cấp cho bạn tính minh bạch – ntg

3

Nếu bạn muốn tiếp tục sử dụng cốt truyện bạn có thể sử dụng đối tượng trục trả về bởi subplots:

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() 
Các vấn đề liên quan