码迷,mamicode.com
首页 > 其他好文 > 详细

matplotlib两种画散点图的方式

时间:2019-11-29 12:37:06      阅读:76      评论:0      收藏:0      [点我收藏+]

标签:输入   其他   otl   its   collect   import   numpy   from   art   

对于matplotlib.pyplot( as plt )

先输入主体数据部分:

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

我们先做二维图:(取前两维)

首先容易想到plt.plot, 但这个是默认生成折线图的:

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

技术图片

但如果我们对线条指定为o的话:

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

技术图片

令一种做散点图的方式就是,用scatter:

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

 技术图片

从上可以看到,除了我指定了的颜色外,其他均一致!

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

对一个(两类的)二维数据画图展示:

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

技术图片

通过颜色将其区分开了!

当然用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()

技术图片

matplotlib两种画散点图的方式

标签:输入   其他   otl   its   collect   import   numpy   from   art   

原文地址:https://www.cnblogs.com/php-linux/p/11956815.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!