簡體   English   中英

Python我的散點圖不起作用

[英]Python my scatter plot not working

我正在繪制浮點numpy數組的散點圖(使用matplotlib )。 但是我得到了錯誤:

float()參數必須是字符串或數字。

下面是我的完整代碼。 我想以兩種不同的顏色繪制兩個系列。

mu = 0
sigma1 = 1 # mean and standard deviation
x1_1 = np.random.normal(mu, sigma1, 10000)
x1_1 = np.sort(x1_1)

x2_1 = np.random.normal(mu,sigma1,10000)
x2_1 = np.sort(x2_1)

sigma2 = 4 # mean and standard deviation
x1_2 = np.random.normal(mu, sigma2, 10000)
x1_2 = np.sort(x1_2)

x2_2 = np.random.normal(mu, sigma2, 10000)
x2_2 = np.sort(x2_2)

x1 = []
x2 = []
y = 0
for i in xrange(0,10000):
  if y == 0:
    x1.append(x1_1[i])
    x2.append(x2_1[i])
    y = 1
  else:
    x1.append(x1_2[i])
    x2.append(x2_2[i])
    y = 0


x1_np = np.asarray(x1)
x2_np = np.asarray(x2)

print len(x1_np)
print len(x2_np)

x1_train = x1_np[0:500]
x2_train = x2_np[0:500]


x1_train_0 = set(x1_train).intersection(set(x1_1))
x1_train_1 = set(x1_train).intersection(set(x1_2))

x2_train_0 = set(x2_train).intersection(set(x2_1))
x2_train_1 = set(x2_train).intersection(set(x2_2))

print len(x1_train_0)
print len(x1_train_1)
print len(x2_train_0)
print len(x2_train_1)

x1_train_0 = np.asarray(x1_train_0)
x1_train_1 = np.asarray(x1_train_1)

x2_train_0 = np.asarray(x2_train_0)
x2_train_1 = np.asarray(x2_train_1)

plt.scatter(x1_train_0,x2_train_0,c = 'red')
plt.scatter(x1_train_1,x2_train_1,c = 'blue')
plt.show()

要將python集轉換為numpy數組,應先將其轉換為python列表

x1_train_0 = np.asarray(list(x1_train_0))
x1_train_1 = np.asarray(list(x1_train_1))

x2_train_0 = np.asarray(list(x2_train_0))
x2_train_1 = np.asarray(list(x2_train_1))

你可以寫之后

x1_train_0 = np.asarray(x1_train_0)
x1_train_1 = np.asarray(x1_train_1)

x2_train_0 = np.asarray(x2_train_0)
x2_train_1 = np.asarray(x2_train_1)

這些行:

x1_train_0 = list(x1_train_0.all())
x1_train_1 = list(x1_train_1.all())

x2_train_0 = list(x2_train_0.all())
x2_train_1 = list(x2_train_1.all())

將numpy.ndarray轉換為list。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM