对于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两种画散点图的方式的更多相关文章

  1. 两种获取connectionString的方式

    两种获取connectionString的方式 1. public static string connectionString = ConfigurationManager.ConnectionSt ...

  2. Spring两种实现AOP的方式

    有两种实现AOP的方式:xml配置文件的方式和注解的形式 我们知道通知Advice是指对拦截到的方法做什么事,可以细分为 前置通知:方法执行之前执行的行为. 后置通知:方法执行之后执行的行为. 异常通 ...

  3. OC中两种单例实现方式

    OC中两种单例实现方式 写在前面 前两天探索了一下C++ 的单例,领悟深刻了许多.今天来看看OC中的单例又是怎么回事.查看相关资料,发现在OC中一般有两种实现单例的方式,一种方式是跟C++ 中类似的常 ...

  4. javascript两种声明函数的方式的一次深入解析

    声明函数的方式 javascript有两种声明函数的方式,一个是函数表达式定义函数,也就是我们说的匿名函数方式,一个是函数语句定义函数,下面看代码: /*方式一*/ var FUNCTION_NAME ...

  5. JIT(Just in time,即时编译,边运行边编译)、AOT(Ahead Of Time,运行前编译),是两种程序的编译方式

    JIT(Just in time,即时编译,边运行边编译).AOT(Ahead Of Time,运行前编译),是两种程序的编译方式

  6. Java中有两种实现多线程的方式以及两种方式之间的区别

    看到一个面试题.问两种实现多线程的方法.没事去网上找了找答案. 网上流传很广的是一个网上售票系统讲解.转发过来.已经不知道原文到底是出自哪里了. Java中有两种实现多线程的方式.一是直接继承Thre ...

  7. Hibernate中两种获取Session的方式

    转自:https://www.jb51.net/article/130309.htm Session:是应用程序与数据库之间的一个会话,是hibernate运作的中心,持久层操作的基础.对象的生命周期 ...

  8. FMX有两种消息处理的实现方式,一种是用TMessageManager来实现自定义的消息,另外一种象TEdit中的实现,直接声明消息方法(firemonkey messaging)

    看FMX代码,发现有两种消息处理的实现方式,一种是用TMessageManager来实现自定义的消息,另外一种象TEdit中的实现,直接声明消息方法.   早前,看过文章说TMessageManage ...

  9. flask框架--设置配置文件的几种方式 与Flask两种配置路由的方式

    设置配置文件的几种方式 ==========方式一:============ app.config['SESSION_COOKIE_NAME'] = 'session_lvning' #这种方式要把所 ...

随机推荐

  1. 160824、ionic添加地图站点

    1.基本的地图显示 <!DOCTYPE html> <html ng-app="myApp"> <head> <meta charset= ...

  2. Python中MRO

    MRO(方法解析顺序) 当有多重继承时,基于“从左到右,深度优先原则”: class CommonBase(): def Method(self): print('CommonBase') class ...

  3. PopuWindow和软件盘共存时的设置

    版权声明:本文为博主原创文章.未经博主同意不得转载. https://blog.csdn.net/mingyue_1128/article/details/32316069 一.键盘不消失,popuw ...

  4. Longest Common Prefix -最长公共前缀

    问题:链接 Write a function to find the longest common prefix string amongst an array of strings. 解答: 注意 ...

  5. Linux三种网络

    Host-Only 桥接

  6. 两个div同时滚动

    <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/stri ...

  7. python学习之路-第一天-接触python

    我的入门就决定用<简明Python教程> <简明Python教程> 1. python的优势 简单:专注于解决问题而不是关注语言本身 易学:容易上手 开源.免费 可移植性非常强 ...

  8. Linux的Cache Memory(缓存内存)机制

    转:https://blog.csdn.net/kaikai_sk/article/details/79177036 PS:为什么Linux系统没运行多少程序,显示的可用内存这么少?其实Linux与W ...

  9. java配置好jdk-bash: /usr/bin/java: No such file or directory

    在 Linux 系统中安装 JDK 环境,配置好环境变量后,输入 java.javac 或者 java -version 等时,都提示如下错误: -bash: /usr/local/java/bin/ ...

  10. SQL查询语句的执行顺序