《机器学习实践》2.2.2分析数据:使用matplotlib创建散点图

#输出散点图
def f():
    datingDataMat,datingLabels = file2matrix("datingTestSet3.txt")

    fig = plt.figure()
    # ax = fig.add_subplot(199,projection=‘polar‘)
    # ax = fig.add_subplot(111,projection=‘hammer‘)
    # ax = fig.add_subplot(111,projection=‘lambert‘)
    # ax = fig.add_subplot(111,projection=‘mollweide‘)
    # ax = fig.add_subplot(111,projection=‘aitoff‘)
    # ax = fig.add_subplot(111,projection=‘rectilinear‘)
    # ax = fig.add_subplot(111,projection=‘rectilinear‘)

    #此处的add_subplot参数的意思是把画布分为3行4列,画在从左到右从上到下的第2个格里
    ax = fig.add_subplot(3,4,2) #fig.add_subplot(342)也可以,但是这样无法表示两位数
    ax.scatter(datingDataMat[:,1],datingDataMat[:,2])

    # ax1 = fig.add_subplot(221)
    # ax1.plot(datingDataMat[:,1],datingDataMat[:,2])
    plt.show()
其中fig.add_subplot(3,4,2)的效果图如下(红框是我加的):

所以fig.add_subplot(3,4,12)的效果就是:
 

所以,第三个参数不能超过前两个的乘积,如果用fig.add_subplot(a,b,c)来表示的话,ab>=c,否则会报错。

对于fig.add_subplot(3,4,12)这个函数,官方网站的解释似乎有点问题,链接https://matplotlib.org/api/_as_gen/matplotlib.figure.Figure.html?highlight=add_subplot#matplotlib.figure.Figure.add_subplot

查询add_subplot(*args**kwargs),得到如下解释:

*args

Either a 3-digit integer or three separate integers describing the position of the subplot. If the three integers are I, J, and K, the subplot is the Ith plot on a grid with J rows and K columns.

意思是,三个参数分别为I, J, K,表示J行K列,那I是什么?没有提及。

倒是下面的See also所指向的matplotlib.pyplot.subplot给出了正确的解释。

matplotlib.pyplot.subplot

subplot(nrows, ncols, index, **kwargs)
 In the current figure, create and return an Axes, at position index of a (virtual) grid of nrows by ncols axes. Indexes go from 1 to nrows *ncols, incrementing in row-major order.

If nrowsncols and index are all less than 10, they can also be given as a single, concatenated, three-digit number.

For example, subplot(2, 3, 3) and subplot(233) both create an Axes at the top right corner of the current figure, occupying half of the figure height and a third of the figure width.

原文地址:https://www.cnblogs.com/Sabre/p/8367305.html

时间: 2024-10-31 15:15:05

《机器学习实践》2.2.2分析数据:使用matplotlib创建散点图的相关文章

Python数据可视化——使用Matplotlib创建散点图

Matplotlib简述: Matplotlib是一个用于创建出高质量图表的桌面绘图包(主要是2D方面).该项目是由John Hunter于2002年启动的,其目的是为Python构建一个MATLAB式的绘图接口.如果结合Python IDE使用比如PyCharm,matplotlib还具有诸如缩放和平移等交互功能.它不仅支持各种操作系统上许多不同的GUI后端,而且还能将图片导出为各种常见的矢量(vector)和光栅(raster)图:PDF.SVG.JPG.PNG.BMP.GIF等. 此外,M

2机器学习实践笔记(k-最近邻)

1:算法是简单的叙述说明 由于训练数据样本和标签,为测试数据的示例,从最近的距离k训练样本,此k练样本中所属类别最多的类即为该測试样本的预測标签. 简称kNN.通常k是不大于20的整数,这里的距离通常是欧式距离. 2:python代码实现 创建一个kNN.py文件,将核心代码放在里面了. (1)   创建数据 #创造数据集 def createDataSet(): group = array([[1.0, 1.1], [1.0, 1.0], [0, 0], [0, 0.1]]) labels =

小团队撬动大数据——当当推荐团队的机器学习实践

先说一下我的初衷.机器学习系统现在多红多NB这件事情我已不必赘述.但是由于机器学习系统的特殊性,构建一个靠谱好用的系统却并不是件容易的事情.每当看到同行们精彩的分享时,我都会想到,这些复杂精妙的系统,是怎样构建起来的?构建过程是怎样的?这背后是否有一些坑?有一些经验?是否可以“偷”来借鉴? 所以我希望做一个更侧重“面向过程”的分享,与大家分享一下我们在构建系统时的一些实践,一些坑,以及如何从坑里爬出来. 另外,我本次分享更侧重的是“小团队”,一是因为当当目前做ML的团队确实还比较小,其次是因为据

机器学习实践指南:案例应用解析

试读及购买链接 <机器学习实践指南:案例应用解析>是机器学习及数据分析领域不可多得的一本著作,也是为数不多的既有大量实践应用案例又包括算法理论剖析的著作,作者针对机器学习算法既抽象复杂又涉及多门数学学科的特点,力求理论联系实际,始终以算法应用为主线,由浅入深以全新的角度诠释机器学习. 前 言第一部分 准备篇第1章 机器学习发展及应用前景 21.1 机器学习概述 21.1.1 什么是机器学习 31.1.2 机器学习的发展 31.1.3 机器学习的未来 41.2 机器学习应用前景 51.2.1 数

机器学习实践初步总结

由本人能力所限,本文不注重原理,主要内容是如何运用这种技术. 数据挖掘和机器学习是做什么用的?        主要是识别和预测.手写输入.人脸识别.指纹识别都是基于识别的.预测的就更多了,股票.天气等等.   机器学习的一般作用原理        一般来讲,给出条件和推导过程,就能推出结果. 数据作为条件,对数据处理的方法就是推导过程,经推导得到的目标数据即为我们需要的结果. x1=1,x2=2作为条件,x1+ x2是推导方法,结果是3.当然只要懂加法,无论条件怎么变化,上面那个算式都能准确的预

[转]当当推荐团队的机器学习实践

转自:http://www.csdn.net/article/2015-10-16/2825925 先说一下我的初衷.机器学习系统现在多红多NB这件事情我已不必赘述.但是由于机器学习系统的特殊性,构建一个靠谱好用的系统却并不是件容易的事情.每当看到同行们精彩的分享时,我都会想到,这些复杂精妙的系统,是怎样构建起来的?构建过程是怎样的?这背后是否有一些坑?有一些经验?是否可以“偷”来借鉴? 所以我希望做一个更侧重“面向过程”的分享,与大家分享一下我们在构建系统时的一些实践,一些坑,以及如何从坑里爬

机器学习实践 测试驱动的开发方法——互动出版网

这篇是计算机类的优质预售推荐>>>><机器学习实践 测试驱动的开发方法> 用测试驱动方法开发出可靠.稳定的机器学习算法. 编辑推荐 本书介绍在开发机器学习算法时如何运用测试驱动的方法,捕捉可能扰乱正常分析的错误.这本实践指南从测试驱动开发和机器学习的基本原理讲起,展示了如何将测试驱动开发运用于若干机器学习算法,包括朴素贝叶斯分类器和神经网络. 任何机器学习算法都有一些传统的测试方法,但它们通常都不会考虑编码中的人为错误.借助测试驱动的开发方法,你便不会像其他研究者那样盲

机器学习实践中应避免的七种常见错误

统计建模和工程开发很相似. 在工程开发中,人们有多种方法搭建一套键-值存储系统,每种设计针对使用模式有一套不同的假设.在统计建模中,也有很多算法来构造一个分类器,每种算法对数据也有各自的假设集合. 当处理少量数据时,因为实验成本很低,我们尽可能多的尝试各种算法,从而选出效果最优的算法.但提到“大数据”,提前分析数据,然后设计相应“管道”模型(预处理,建模,优化算法,评价,产品化)是事半功倍的. 正如在我以前的文章里提到,每个给定的建模问题都存在几十种解法.每个模型会提出不同的假设条件,我们也很难

互利科技让企业更聪明的分析数据

随着移动互联网.电子商务和网络媒体的快速发展,企业需要面临的数据量呈指数增长.据IDC研究报告统计,到2020年全球数据总量预计会达到40ZB,相当于平均每人拥有5247GB的数据.如何对大量数据加以分析.带来业务创新并创造价值,成为所有企业正在思考的问题.现在,越来越多的互联网企业.甚至电信.银行等传统行业都将数据分析平台建设作为企业大数据发展的实践目标.面对日益复杂的数据环境,企业对于大数据分析的效率和实时性提出了更高的要求,采取更高效的数据分析解决方案对于企业的价值不言而喻. 互利科技(w