python绘图函数实例的简单介绍( 二 )


?lines(x, y, ...) , 添加线段
?text(x, y, labels, ...),添加文字
?abline(a, b, ...),添加直线y=a+bx
?abline(h=y, ...),添加水平线
?abline(v=x, ...),添加垂直线
?polygon(x, y, ...),添加一个闭合的多边形
?segments(x0, y0, x1, y1, ...),画线段
?arrows(x0, y0, x1, y1, ...),画箭头
?symbols(x, y, ...),添加各种符号
?legend(x, y, legend, ...),添加图列说明
python-第十三课-函数实例-万花筒本节中的万花筒通过彩色随机螺旋线来实现 。我们首先定义一个函数draw(),这个函数用来绘制一个螺旋线,函数中的画笔起始位置的坐标为函数的两个形参 。然后调用函数的时候使用一个for循环来实现多次调用函数,同时,函数的两个实参由random模块生成的随机数组成 。
Python实操:手把手教你用Matplotlib把数据画出来 作者:迈克尔·贝耶勒(Michael Beyeler)
如需转载请联系华章 科技
如果已安装Anaconda Python版本,就已经安装好了可以使用的 Matplotlib 。否则,可能要访问并从中获取安装说明:
正如使用np作为 NumPy 的缩写,我们将使用一些标准的缩写来表示 Matplotlib 的引入:
在本书中 , plt接口会被频繁使用 。
让我们创建第一个绘图 。
假设想要画出正弦函数sin(x)的线性图 。得到函数在x坐标轴上0≤x<10内所有点的值 。我们将使用 NumPy 中的 linspace 函数来在x坐标轴上创建一个从0到10的线性空间,以及100个采样点:
可以使用 NumPy 中的sin函数得到所有x点的值 , 并通过调用plt中的plot函数把结果画出来:
你亲自尝试了吗?发生了什么吗?有没有什么东西出现?
实际情况是,取决于你在哪里运行脚本 , 可能无法看到任何东西 。有下面几种可能性:
1. 从.py脚本中绘图
如果从一个脚本中运行 Matplotlib,需要加上下面的这行调用:
在脚本末尾调用这个函数,你的绘图就会出现!
2. 从 IPython shell 中绘图
这实际上是交互式地执行Matplotlib最方便的方式 。为了让绘图出现 , 需要在启动 IPython 后使用所谓的%matplotlib魔法命令 。
接下来,无须每次调用plt.show()函数,所有的绘图将会自动出现 。
3. 从 Jupyter Notebook 中绘图
如果你是从基于浏览器的 Jupyter Notebook 中看这段代码,需要使用同样的%matplotlib魔法命令 。然而,也可以直接在notebook中嵌入图形,这会有两种输出选项:
在本书中,将会使用inline选项:
现在再次尝试一下:
上面的命令会得到下面的绘图输出结果:
如果想要把绘图保存下来留作以后使用,可以直接在 IPython 或者 Jupyter Notebook 使用下面的命令保存:
仅需要确保你使用了支持的文件后缀,比如.jpg、.png、.tif、.svg、.eps或者.pdf 。
作为本章最后一个测试,让我们对外部数据集进行可视化,比如scikit-learn中的数字数据集 。
为此,需要三个可视化工具:
那么开始引入这些包吧:
第一步是载入实际数据:
如果没记错的话 , digits应该有两个不同的数据域:data域包含了真正的图像数据,target域包含了图像的标签 。相对于相信我们的记忆,我们还是应该对digits稍加 探索。输入它的名字,添加一个点号,然后按Tab键:digits.TAB , 这个操作将向我们展示digits也包含了一些其他的域,比如一个名为images的域 。images和data这两个域 , 似乎简单从形状上就可以区分 。
两种情况中,第一维对应的都是数据集中的图像数量 。然而,data中所有像素都在一个大的向量中排列 , 而images保留了各个图像8×8的空间排列 。

推荐阅读