2016-03-01 23 views
14

Tôi đang cố tạo một ô phân tán. Tôi có một danh sách các số từ 0 - 17 cũng như một mảng với 18 giá trị. Tôi có thể vẽ các dữ liệu như là một âm mưu đường nhưng khi tôi cố gắng âm mưu như một phân tán tôi nhận được một thông báo lỗi tôi không hiểu: TypeError: ufunc 'sqrt' not supported for the input types, and the inputs could not be safely coerced to any supported types according to the casting rule ''safe''Âm mưu phân tán Matplotlib với lỗi không xác định

Thông báo lỗi này có ý nghĩa gì và làm cách nào để dữ liệu được vẽ như một tiêu tan?

import numpy as np 
import matplotlib.pyplot as plt 

y = [7316.0, 7453.25, 7518.25, 7711.5, 7448.0, 7210.25, 7416.75, 6960.75, 
    7397.75, 6397.5, 5522.75, 5139.0, 5034.75, 4264.75, 5106.0, 3489.5, 
    4712.0, 4770.0] 
x = np.arange(0,18,1) 

plt.rcParams['legend.loc'] = 'best' 
plt.figure(1) 
plt.xlim(0, 20) 
plt.ylim(0, 10000) 
plt.scatter(x, y, 'r') 
plt.show() 

Trả lời

31

Kiểm tra scatter documentation. Đối số thứ ba là kích thước của các điểm và nên là vô hướng hoặc mảng_như. Tôi giả sử 'r' là dành cho màu sắc, hãy làm như sau:

plt.scatter(x, y, c='r') 
+1

Cảm ơn bạn điều này có ý nghĩa ngay bây giờ. Tôi đã đọc nó nhưng bỏ qua phần c = vì nó không cần thiết trong các ô bình thường. Có vẻ ngớ ngẩn khi có cú pháp khác nhau giữa hai kiểu. –

Các vấn đề liên quan