#PythonDraw.py
import turtle? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? #导入turtle库
turtle.penup()? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? #抬起画笔
turtle.pendown()? ? ? ? ? ? ? ? ? ? ? ? ? ?#画笔落下
turtle.pencolor("purple")? ? ? ? ? ? ? ?#画笔颜色为紫色
turtle.done()? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?#运行完不退出
①turtle库基本介绍
有一只海龟,其在窗体正中心,在画布上游走,走过的轨迹形成了绘制的图形, 海龟由程序控制,可以变换颜色、改变宽度等.
不设置位置,默认在屏幕中心显示
绝对坐标,可以使用goto函数到达指定位置
例如:
今天开始琢磨用Python画图,没使用之前是一脸懵的,我使用的开发环境是Pycharm,这个输出的是一行行命令,这个图画在哪里呢?
搜索之后发现,它会弹出一个对话框,然后就开始画了,比如下图
第一个常用的库是Turtle,它是Python语言中一个很流行的绘制图像的函数库,这个词的意思就是乌龟,你可以想象下一个小乌龟在一个x和y轴的平面坐标系里,从原点开始根据指令控制,爬行出来就是绘制的图形了.
它最常用的指令就是旋转和移动,比如画个圆,就是绕着圆心移动;再比如上图这个怎么画呢,其实主要就两个命令:
然后呢? 循环重复就画出来这个图了
好玩吧.
有需要仔细研究的可以看下这篇文章 ,这个牛人最后用这个库画个移动的钟表,太赞了.
Turtle虽好玩,但是我想要的是我给定数据,然后让它画图,这里就找到另一个常用的画图的库了.
Matplotlib是python最著名的绘图库,它提供了一整套和matlab相似的命令API,十分适合交互式地行制图.其中,matplotlib的pyplot模块一般是最常用的,可以方便用户快速绘制二维图表.
使用起来也挺简单,
首先import matplotlib.pyplot as plt?导入画图的图.
然后给定x和y,用这个命令plt.plot(x, y)就能画图了,接着用plt.show()就可以把图形展示出来.
接着就是各种完善,比如加标题,设定x轴和y轴标签,范围,颜色,网格等等,在 这篇文章里介绍的很详细.
现在互联网的好处就是你需要什么内容,基本上都能搜索出来,而且还是免费的.
我为什么要研究这个呢?当然是为了用,比如我把比特币的曲线自己画出来可好?
假设现在有个数据csv文件,一列是日期,另一列是比特币的价格,那用这个命令画下:
这两列数据读到pandas中,日期为df['time']列,比特币价格为df['ini'],那我只要使用如下命令
plt.plot(df['time'], df['ini'])
plt.show()
就能得到如下图:
自己画的是不是很香,哈哈!
图形如下:
继续谷歌一下,把第二个Y轴放右边就行了,不过呢得使用多图,重新绘制
fig = plt.figure() # 多图
ax1 = fig.add_subplot(111)
ax1.plot(df['time'], df['ini'], label="BTC price")? #?绘制第一个图比特币价格
ax1.set_ylabel('BTC price') #?加上标签
# 第二个直接对称就行了
plt.grid(color="k", linestyle=":")# 网格
fig.legend(loc="center")#图例
跑起来看看效果,虽然丑了点,但终于跑通了.
这样就可以把所有指数都绘制到一张图中,等等,三个甚至多个Y轴怎么加?这又是一个问题,留给爱思考爱学习的你.
python内置了很多内置函数、类方法属性及各种模块.当我们想要当我们想要了解某种类型有哪些属性方法以及每种方法该怎么使用时,我们可以使用dir()函数和help()函数在python idle交互式模式下获得我们想要的信息.
dir()函数获得对象中可用属性的列表
Python中的关键词有哪些?
dir(__builtins__):查看python内置函数
help('keywords'):查看python关键词
如微分积分方程的求解程序、访问互联网、获取日期和时间、机器学习算法等.这些程序往往被收入程序库中,构成程序库.
只有经过严格检验的程序才能放在程序库里.检验,就是对程序作充分的测试.通常进行的有正确性测试、精度测试、速度测试、边界条件和出错状态的测试.经过检验的程序不但能保证计算结果的正确性,而且对错误调用也能作出反应.程序库中的程序都是规范化的.所谓规范化有三重含义:①同一库里所有程序的格式是统一的;② 对这些程序的调用方法是相同的;③ 每个程序所需参数的数目、顺序和类型都是严格规定好的.
Python的库包含标准库和第三方库
标准库:程序语言自身拥有的库,可以直接使用.help('modules')
第三方库:第三方者使用该语言提供的程序库.
标准库: turtle 库(必选)、 random 库(必选)、 time 库(可选).
turtle 库:图形绘制库
原理如同控制一只海龟,以不同的方向和速度进行位移而得到其运动轨迹.
使用模块的帮助时,需要先将模块导入.
例如:在IDLE中输入import turtle
dir(turtle)
help(turtle.**)
①画布
setup()方法用于初始化画布窗口大小和位置,参数包括画布窗口宽、画布窗口高、窗口在屏幕的水平起始位置和窗口在屏幕的垂直起始位置.
参数:width, height: 输入宽和高为整数时,表示 像素 ;为小数时,表示占据电脑屏幕的比例.(startx,starty):这一坐标表示
矩形窗口左上角顶点的位置,如果为空,则窗口位于屏幕中心:
color() 用于设置或返回画笔颜色和填充颜色.
例如:color('red')将颜色设为红色,也可用fillcolor()方法设置或返回填充颜色,或用pencolor()方法设置或返回笔触颜色.
? ?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()返回最后记录的多边形.
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)
/pre
以上就是土嘎嘎小编为大家整理的python函数绘制库相关主题介绍,如果您觉得小编更新的文章只要能对粉丝们有用,就是我们最大的鼓励和动力,不要忘记讲本站分享给您身边的朋友哦!!