python函数的作用是:
①.、函数其实是把某个功能的代码封装到一个代码块中,用来为某个重复使用的功能做调用的一个代码块,可以称为一个函数的代码封装.可以在自定义函数的小括号中传入多个参数.
更多关于python函数的作用,进入:查看更多内容
? ?Turtle库是Python语言中一个很流行的绘制图像的函数库,想象一个小乌龟,在一个横轴为x、纵轴为y的坐标系原点,(0,0)位置开始,它根据一组函数指令的控制,在这个平面坐标系中移动,从而在它爬行的路径上绘制了图形.
turtle 绘图的基础知识:
① 画布(canvas)
? ? ? 设置画布大小
turtle.screensize(canvwidth=None, canvheight=None, bg=None),参数分别为画布的宽(单位像素), 高, 背景颜色.
startx=None, starty=None),参数:width, height: 输入宽和高为整数时, 表示像素; 为小数时, 表示占据电脑屏幕的比例,(startx, starty): 这一坐标表示矩形窗口左上角顶点的位置, 如果为空,则窗口位于屏幕中心.
? ? ? 在画布上,默认有一个坐标原点为画布中心的坐标轴,坐标原点上有一只面朝x轴正方向小乌龟.这里我们描述小乌龟时使用了两个词语:坐标原点(位置),面朝x轴正方向(方向), turtle绘图中,就是使用位置方向描述小乌龟(画笔)的状态.
? ? ? 画笔(画笔的属性,颜色、画线的宽度等)
? ? ? 1) turtle.pensize():设置画笔的宽度;
(1)?画笔运动命令
命令说明
turtle.forward(distance)向当前画笔方向移动distance像素长度
turtle.backward(distance)向当前画笔相反方向移动distance像素长度
turtle.right(degree)顺时针移动degree'
turtle.left(degree)逆时针移动degree'
turtle.pendown()移动时绘制图形,缺省时也为绘制
turtle.goto(x,y)将画笔移动到坐标为x,y的位置
turtle.penup()提起笔移动,不绘制图形,用于另起一个地方绘制
turtle.circle()画圆,半径为正(负),表示圆心在画笔的左边(右边)画圆
setx( )将当前x轴移动到指定位置
sety( )将当前y轴移动到指定位置
setheading(angle)设置当前朝向为angle角度
home()设置当前画笔位置为原点,朝向东.
dot(r)绘制一个指定直径和颜色的圆点
turtle.fillcolor(colorstring)绘制图形的填充颜色
turtle.filling()返回当前是否在填充状态
turtle.begin_fill()准备开始填充图形
turtle.end_fill()填充完成
turtle.hideturtle()隐藏画笔的turtle形状
turtle.showturtle()显示画笔的turtle形状
turtle.clear()清空turtle窗口,但是turtle的位置和状态不会改变
turtle.reset()清空窗口,重置turtle状态为起始状态
turtle.undo()撤销上一个turtle动作
turtle.isvisible()返回当前turtle是否可见
stamp()复制当前图形
turtle.write(s
[,font=("font-name",font_size,"font_type")])
写文本,s为文本内容,font是字体的参数,分别为字体名称,大小和类型;font为可选项,font参数也是可选项
turtle.mainloop()或turtle.done()启动事件循环 -调用Tkinter的mainloop函数.
必须是乌龟图形程序中的最后一个语句.
turtle.mode(mode=None)设置乌龟模式("standard","logo"或"world")并执行重置.如果没有给出模式,则返回当前模式.
模式初始龟标题正角度
standard向右(东)逆时针
logo向上(北)顺时针
turtle.delay(delay=None)设置或返回以毫秒为单位的绘图延迟.
turtle.begin_poly()开始记录多边形的顶点.当前的乌龟位置是多边形的第一个顶点.
turtle.end_poly()停止记录多边形的顶点.当前的乌龟位置是多边形的最后一个顶点.将与第一个顶点相连.
turtle.get_poly()返回最后记录的多边形.
如需转载请联系华章 科技
如果已安装Anaconda Python版本,就已经安装好了可以使用的 Matplotlib.否则,可能要访问官网并从中获取安装说明:
正如使用np作为 NumPy 的缩写,我们将使用一些标准的缩写来表示 Matplotlib 的引入:
在本书中,plt接口会被频繁使用.
让我们创建第一个绘图.
假设想要画出正弦函数sin(x)的线性图.得到函数在x坐标轴上0≤x<10内所有点的值.我们将使用 NumPy 中的 linspace 函数来在x坐标轴上创建一个从0到10的线性空间,以及100个采样点:
可以使用 NumPy 中的sin函数得到所有x点的值,并通过调用plt中的plot函数把结果画出来:
你亲自尝试了吗?发生了什么吗?有没有什么东西出现?
实际情况是,取决于你在哪里运行脚本,可能无法看到任何东西.有下面几种可能性:
① 从.py脚本中绘图
如果从一个脚本中运行 Matplotlib,需要加上下面的这行调用:
在脚本末尾调用这个函数,你的绘图就会出现!
这实际上是交互式地执行Matplotlib最方便的方式.为了让绘图出现,需要在启动 IPython 后使用所谓的%matplotlib魔法命令.
此时此刻呢,无须每次调用plt.show()函数,所有的绘图将会自动出现.
如果你是从基于浏览器的 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这两个域,似乎简单从形状上就可以区分.
所以呢,如果想要绘制出一副单独的图像,使用images将更加合适.首先,使用NumPy的数组切片从数据集中获取一幅图像:
上面的命令得到下面的输出:
此外,这里也使用cmap参数指定了一个颜色映射.默认情况下,Matplotlib 使用MATLAB默认的颜色映射jet.然而,在灰度图像的情况下,gray颜色映射更有效.
最后,可以使用plt的subplot函数绘制全部数字的样例.subplot函数与MATLAB中的函数一样,需要指定行数、列数以及当前的子绘图索引(从1开始计算).我们将使用for 循环在数据集中迭代出前十张图像,每张图像都分配到一个单独的子绘图中.
这会得到下面的输出结果:
本文摘编自<<机器学习:使用OpenCV和Python进行智能图像处理>>,经出版方授权发布.
利用python中的 turtle (海龟绘图)模块提供的函数绘制直线 turtle.penup(): 画笔抬起
turtle.color(): 设置颜色
turtle.goto(): 画笔移动到下一目标
turtle.pendown(): 画笔落下
pre
import numpy as np
import matplotlib.pyplot as plt
from matplotlib.patches import Polygon
def func(x):
x=np.linspace(0,10)
y=func(x)
fig,ax = plt.subplots()
ax.set_xticks([a,b])
ax.set_xticklabels(['$a$','$b$'])
ax.set_yticks([])
ix=np.linspace(a,b)
iy=func(ix)
ixy=zip(ix,iy)
verts=[(a,0)]+list(ixy)+[(b,0)]
ax.add_patch(poly)
plt.show()
/pre
以上就是土嘎嘎小编为大家整理的python函数画图功能相关主题介绍,如果您觉得小编更新的文章只要能对粉丝们有用,就是我们最大的鼓励和动力,不要忘记讲本站分享给您身边的朋友哦!!