matplotlib兩種畫散點圖的方式

對於matplotlib.pyplot( as plt )spa

先輸入主體數據部分:3d

import numpy as np
import matplotlib.pyplot as plt

X_train = np.array([[1,2,3],[2,3,4],[2,2,1],[3,2,2]])
X_test = np.array([[1,1,1],[2,1,1]])

y_train = np.array([1,1,-1,1])
y_test = np.array([1,-1])

咱們先作二維圖:(取前兩維)code

首先容易想到plt.plot, 但這個是默認生成折線圖的:blog

plt.plot(X_train[:,0],X_train[:,1])
plt.show()

但若是咱們對線條指定爲o的話:it

plt.plot(X_train[:,0],X_train[:,1],"ro")
plt.show()

令一種作散點圖的方式就是,用scatter:io

plt.scatter(X_train[:,0],X_train[:,1])
plt.show()

 

從上能夠看到,除了我指定了的顏色外,其餘均一致!class

---------------------------------------------------------------------------------------------------------------------test

對一個(兩類的)二維數據畫圖展現:import

>>> X_1, X_0 = X_train[y_train == 1], X_train[y_train == -1]
>>> plt.plot(X_1[:, 0], X_1[:, 1], "ro")
>>> plt.plot(X_0[:, 0], X_0[:, 1], "bo")
>>> plt.show()

經過顏色將其區分開了!object

固然用scatter也能夠:(但要注意要帶color關鍵字否則會報錯)

>>> plt.scatter(X_0[:, 0], X_0[:, 1], color="b")
>>> plt.scatter(X_1[:, 0], X_1[:, 1], color="r")
>>> plt.show()

 

能夠看到效果同樣。

-------------------------------------------------------------------------------------------------------------------------

畫三維的散點圖:

就不能直接用plot和scatter了:他們都是畫2D的。

 而要首先聲明一個畫3D圖的ax

>>> from mpl_toolkits.mplot3d import Axes3D
>>> ax = plt.subplot(111, projection='3d')  # 並且每次畫完一個3D圖都要這個聲明
>>> ax.scatter(X_1[:, 0], X_1[:, 1],X_1[:,2], color="r")
<mpl_toolkits.mplot3d.art3d.Path3DCollection object at 0x000001E8F70B2A90>
>>> ax.scatter(X_0[:, 0], X_0[:, 1],X_0[:,2], color="b")
<mpl_toolkits.mplot3d.art3d.Path3DCollection object at 0x000001E8F70732B0>
>>> plt.show()

相關文章
相關標籤/搜索