2016-03-01 243 views
14

散布図を作成しようとしています。私は0から17の数字のリストと18の値を持つ配列を持っています。データを線図としてプロットすることはできますが、散布図としてプロットしようとするとエラーメッセージが表示されますが、わかりません: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''エラーが未知のMatplotlib散布図

このエラーメッセージは何を意味し、どのようにデータをプロットする散乱?

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() 

答えて

31

scatter documentationを確認してください。 3番目の引数は点のサイズであり、スカラまたはarray_likeでなければなりません。私は'r'は色ですので、次のようにしてください:

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

ありがとうございます。私はそれを読んでいたが、通常のプロットでは不要なので、c =部分を省略した。 2つのスタイルの構文が違っているようです。 –