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

相关文章
相关标签/搜索