快上网专注成都网站设计 成都网站制作 成都网站建设
成都网站建设公司服务热线:028-86922220

网站建设知识

十年网站开发经验 + 多家企业客户 + 靠谱的建站团队

量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决

python画图形要用的函数 python能画函数图像吗

python画hist直方图

简单说下图形选择啦,通常我们最常用的图形是折线图、扇形图、条形图,它们的功能简单概括为:

网站建设哪家好,找创新互联!专注于网页设计、网站建设、微信开发、小程序设计、集团企业网站建设等服务项目。为回馈新老客户创新互联还提供了元江县免费建站欢迎大家使用!

折线图:表示变化情况;

扇形图:表示各类别的分布占比情况;

条形图:表示具体数值;

接下来要说的直方图是以条形图的形式展现的,在统计学中, 直方图 (英语:Histogram)是一种对数据分布情况的图形表示。

以下展示了python画直方图的几种方式,这里涉及到了3个包:matplotlib、pandas、seanborn。

1、使用 matplotlib.pyplot.hist 函数(本文主要讲解该方法画直方图)

2、使用 pandas.DataFrame.plot.hist 函数

3、使用 pandas.DataFrame.hist 函数

4、使用 seaborn.distplot 函数

以下为 matplotlib.pyplot.hist 函数介绍:

参数:

返回值:

模拟真实场景:我们通过分析打分,给1000个客户进行了排名,排名越靠前,说明客户越优异,为了找到特定的200个客户的排名处于这1000个客户中的位置,使用了直方图对比的方式。以下使用的数据是为模拟场景,随机出来的结果排名比较靠后,所以这些客户质量并不高:

hist:

matplotlib中文乱码:

Python reportlab 之 draw函数介绍

本节我们讲介绍一下操作canvas时经常用的工具API。在后续教程中我将会对每个工具进行详细介绍,本文把他们都介绍给大家,方便朋友们开发之用。

用line和lines方法可以直接在canvas里绘制直线段

用shape方法可以绘制复杂的形状

我们可以通过beginText函数创建text对象,然后可以通过textobject对文本进行格式化处理。最后通过drawText完成最终的绘制工作。

Path对象与Text对象十分相似,他们可以绘制更为复杂的图形(文字我们也归类的图形里)。

我们还可以使用clipPath来将一个矩形的照片剪裁成圆形的头像。

ReportLab需要使用 Python Imaging Library(PIL)来处理图片。

在ReportLab里定力两种绘制图形的方法,我们建议您采用drawImage方法,因为该方法拥有缓存机制,可以提供绘制效率。另外的方法是drawInlineImage,这个方法古老,该方法通过page stream方式存在位图,如果您反复使用一张图片,该方法每次都要重新绘制,从而造成性能低下的问题。不过如果您的照片很少而且较少使用,那么drawInlineImage方法也是非常快速的。

我们先看看古老的方法

drawInlineImage可以在canvas上绘制图片。image参数既可以是PIL对象也可以是图片的地址。ReportLab接受大部分常用图片文件格式,例如GIF或JPEG。这个函数最终返回一个 tuple(组),其中包含图片width和height

drawImage的参数和返回值与drawInlineImage基本一样。然后,drawImage却自带了缓存系统。当您第一次使用图片时,系统会将image引用存入序列中。如果您第二次使用时,系统会根据文件名取队列中查找,如果您用PIL对象,系统还会检测PIL的内容是否变更。

mask参数可帮助您创建一个透明的图形。他有个6个参数可以拥有绝对RGB那个颜色被掩盖或透明。

例如

他将使用1或0 来遮盖红色,40或41来覆盖绿色。

showPage()方法将把所有内容绘制到页面中。

用Python画图

今天开始琢磨用Python画图,没使用之前是一脸懵的,我使用的开发环境是Pycharm,这个输出的是一行行命令,这个图画在哪里呢?

搜索之后发现,它会弹出一个对话框,然后就开始画了,比如下图

第一个常用的库是Turtle,它是Python语言中一个很流行的绘制图像的函数库,这个词的意思就是乌龟,你可以想象下一个小乌龟在一个x和y轴的平面坐标系里,从原点开始根据指令控制,爬行出来就是绘制的图形了。

它最常用的指令就是旋转和移动,比如画个圆,就是绕着圆心移动;再比如上图这个怎么画呢,其实主要就两个命令:

turtle.forward(200)

turtle.left(170)

第一个命令是移动200个单位并画出来轨迹

第二个命令是画笔顺时针转170度,注意此时并没有移动,只是转角度

然后呢? 循环重复就画出来这个图了

好玩吧。

有需要仔细研究的可以看下这篇文章 ,这个牛人最后用这个库画个移动的钟表,太赞了。

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()

就能得到如下图:

自己画的是不是很香,哈哈!

然后呢,我在上篇文章 中介绍过求Ahr999指数,那可不可以也放到这张图中呢?不就是加一条命令嘛

plt.plot(df['time'], df['Ahr999'])

图形如下:

但是,Ahr999指数怎么就一条线不动啊, 原来两个Y轴不一致,显示出来太怪了,需要用多Y轴,问题来了。

继续谷歌一下,把第二个Y轴放右边就行了,不过呢得使用多图,重新绘制

fig = plt.figure() # 多图

ax1 = fig.add_subplot(111)

ax1.plot(df['time'], df['ini'], label="BTC price")  # 绘制第一个图比特币价格

ax1.set_ylabel('BTC price') # 加上标签

# 第二个直接对称就行了

ax2 = ax1.twinx()# 在右边增加一个Y轴

ax2.plot(df['time'], df['Ahr999'], 'r', label="ahr999")  # 绘制第二个图Ahr999指数,红色

ax2.set_ylim([0, 50])# 设定第二个Y轴范围

ax2.set_ylabel('ahr999')

plt.grid(color="k", linestyle=":")# 网格

fig.legend(loc="center")#图例

plt.show()

跑起来看看效果,虽然丑了点,但终于跑通了。

这样就可以把所有指数都绘制到一张图中,等等,三个甚至多个Y轴怎么加?这又是一个问题,留给爱思考爱学习的你。

有了自己的数据,建立自己的各个指数,然后再放到图形界面中,同时针对异常情况再自动进行提醒,比如要抄底了,要卖出了,用程序做出自己的晴雨表。

python中plt.post是什么函数

2018-05-04 11:11:36

122点赞

qiurisiyu2016

码龄7年

关注

matplotlib

1、plt.plot(x,y)

plt.plot(x,y,format_string,**kwargs) 

x轴数据,y轴数据,format_string控制曲线的格式字串 

format_string 由颜色字符,风格字符,和标记字符

import matplotlib.pyplot as plt

plt.plot([1,2,3,6],[4,5,8,1],’g-s’) 

plt.show()

结果

**kwards: 

color 颜色 

linestyle 线条样式 

marker 标记风格 

markerfacecolor 标记颜色 

markersize 标记大小 等等 

plt.plot([5,4,3,2,1])   

plt.show()

结果

plt.plot([20,2,40,6,80])   #缺省x为[0,1,2,3,4,...]

plt.show()

结果

plt.plot()参数设置

Property Value Type

alpha 控制透明度,0为完全透明,1为不透明

animated [True False]

antialiased or aa [True False]

clip_box a matplotlib.transform.Bbox instance

clip_on [True False]

clip_path a Path instance and a Transform instance, a Patch

color or c 颜色设置

contains the hit testing function

dash_capstyle [‘butt’ ‘round’ ‘projecting’]

dash_joinstyle [‘miter’ ‘round’ ‘bevel’]

dashes sequence of on/off ink in points

data 数据(np.array xdata, np.array ydata)

figure 画板对象a matplotlib.figure.Figure instance

label 图示

linestyle or ls 线型风格[‘-’ ‘–’ ‘-.’ ‘:’ ‘steps’ …]

linewidth or lw 宽度float value in points

lod [True False]

marker 数据点的设置[‘+’ ‘,’ ‘.’ ‘1’ ‘2’ ‘3’ ‘4’]

markeredgecolor or mec any matplotlib color

markeredgewidth or mew float value in points

markerfacecolor or mfc any matplotlib color

markersize or ms float

markevery [ None integer (startind, stride) ]

picker used in interactive line selection

pickradius the line pick selection radius

solid_capstyle [‘butt’ ‘round’ ‘projecting’]

solid_joinstyle [‘miter’ ‘round’ ‘bevel’]

transform a matplotlib.transforms.Transform instance

visible [True False]

xdata np.array

ydata np.array

zorder any number

确定x,y值,将其打印出来

x=np.linspace(-1,1,5)

y=2*x+1

plt.plot(x,y)

plt.show()

2、plt.figure()用来画图,自定义画布大小

fig1 = plt.figure(num='fig111111', figsize=(10, 3), dpi=75, facecolor='#FFFFFF', edgecolor='#0000FF')

plt.plot(x,y1)           #在变量fig1后进行plt.plot操作,图形将显示在fig1中

fig2 = plt.figure(num='fig222222', figsize=(6, 3), dpi=75, facecolor='#FFFFFF', edgecolor='#FF0000')

plt.plot(x,y2)           #在变量fig2后进行plt.plot操作,图形将显示在fig2中

plt.show()

plt.close()

结果

fig1 = plt.figure(num='fig111111', figsize=(10, 3), dpi=75, facecolor='#FFFFFF', edgecolor='#0000FF')

plt.plot(x,y1)

plt.plot(x,y2)

fig2 = plt.figure(num='fig222222', figsize=(6, 3), dpi=75, facecolor='#FFFFFF', edgecolor='#FF0000')

plt.show()

plt.close()

结果:

3、plt.subplot(222)

将figure设置的画布大小分成几个部分,参数‘221’表示2(row)x2(colu),即将画布分成2x2,两行两列的4块区域,1表示选择图形输出的区域在第一块,图形输出区域参数必须在“行x列”范围                       ,此处必须在1和2之间选择——如果参数设置为subplot(111),则表示画布整个输出,不分割成小块区域,图形直接输出在整块画布上

plt.subplot(222) 

plt.plot(y,xx)    #在2x2画布中第二块区域输出图形

plt.show()

plt.subplot(223)  #在2x2画布中第三块区域输出图形

plt.plot(y,xx)

plt.subplot(224)  # 在在2x2画布中第四块区域输出图形

plt.plot(y,xx)

4、plt.xlim设置x轴或者y轴刻度范围

plt.xlim(0,1000)  #  设置x轴刻度范围,从0~1000         #lim为极限,范围

plt.ylim(0,20)   # 设置y轴刻度的范围,从0~20

5、plt.xticks():设置x轴刻度的表现方式

fig2 = plt.figure(num='fig222222', figsize=(6, 3), dpi=75, facecolor='#FFFFFF', edgecolor='#FF0000')

plt.plot(x,y2)

plt.xticks(np.linspace(0,1000,15,endpoint=True))  # 设置x轴刻度

plt.yticks(np.linspace(0,20,10,endpoint=True))

结果

6、ax2.set_title('xxx')设置标题,画图

#产生[1,2,3,...,9]的序列

x = np.arange(1,10)

y = x

fig = plt.figure()

ax1 = fig.add_subplot(221)

#设置标题

ax1.set_title('Scatter Plot1')

plt.xlabel('M')

plt.ylabel('N')

ax2 = fig.add_subplot(222)

ax2.set_title('Scatter Plot2clf')

#设置X轴标签

plt.xlabel('X')           #设置X/Y轴标签是在对应的figure后进行操作才对应到该figure

#设置Y轴标签

plt.ylabel('Y')

#画散点图

ax1.scatter(x,y,c = 'r',marker = 'o')          #可以看出画散点图是在对figure进行操作

ax2.scatter(x,y,c = 'b',marker = 'x')

#设置图标

plt.legend('show picture x1 ')

#显示所画的图

plt.show()

结果

7、plt.hist()绘制直方图(可以将高斯函数这些画出来)

绘图都可以调用matplotlib.pyplot库来进行,其中的hist函数可以直接绘制直方图

调用方式:

n, bins, patches = plt.hist(arr, bins=10, normed=0, facecolor='black', edgecolor='black',alpha=1,histtype='bar')

hist的参数非常多,但常用的就这六个,只有第一个是必须的,后面四个可选

arr: 需要计算直方图的一维数组

bins: 直方图的柱数,可选项,默认为10

normed: 是否将得到的直方图向量归一化。默认为0

facecolor: 直方图颜色

edgecolor: 直方图边框颜色

alpha: 透明度

histtype: 直方图类型,‘bar’, ‘barstacked’, ‘step’, ‘stepfilled’

返回值 :

n: 直方图向量,是否归一化由参数normed设定

bins: 返回各个bin的区间范围

patches: 返回每个bin里面包含的数据,是一个list

from skimage import data

import matplotlib.pyplot as plt

img=data.camera()

plt.figure("hist")

arr=img.flatten()

n, bins, patches = plt.hist(arr, bins=256, normed=1,edgecolor='None',facecolor='red')  

plt.show()

例:

mu, sigma = 0, .1

s = np.random.normal(loc=mu, scale=sigma, size=1000)

a,b,c = plt.hist(s, bins=3)

print("a: ",a)

print("b: ",b)

print("c: ",c)

plt.show()

结果:

a:  [ 85. 720. 195.]         #每个柱子的值

b:  [-0.36109509 -0.1357318   0.08963149  0.31499478]   #每个柱的区间范围

c:  a list of 3 Patch objects       #总共多少柱子

8、ax1.scatter(x,y,c = 'r',marker = 'o') 

使用注意:确定了figure就一定要确定象限,然后用scatter,或者不确定象限,直接使用plt.scatter

x = np.arange(1,10)

y = x

fig = plt.figure()

a=plt.subplot()            #默认为一个象限

# a=fig.add_subplot(222)

a.scatter(x,y,c='r',marker='o')

plt.show()

结果

x = np.arange(1,10)

y = x

plt.scatter(x,y,c='r',marker='o')

plt.show()

结果

import numpy as np

import matplotlib.pyplot as plt

x = np.arange(1,10)

y = x

plt.figure()

plt.scatter(x,y,c='r',marker='o')

plt.show()

结果

文章知识点与官方知识档案匹配

Python入门技能树基础语法函数

211242 人正在系统学习中

打开CSDN APP,看更多技术内容

plt的一些函数的使用_班花i的博客_plt函数

plt.函数 Fwuyi的博客 6513 1plt.figure( )函数:创建画布 2plt.plot(x, y, format_string, label="图例名"):绘制点和线, 并控制样式。 其中x是x轴数据,y是y轴数据,xy一般是列表和数组。format_string 是字符串的格式包括线...

继续访问

Python的数据科学函数包(三)——matplotlib(plt)_hxxjxw的博客...

import matplotlib.pyplot as plt plt.imshow(img) plt.show() plt.imshow()有一个cmap参数,即指定颜色映射规则。默认的cmap即颜料板是十色环 哪怕是单通道图,值在0-1之间,用plt.imshow()仍然可以显示彩色图,就是因为颜色映射的关...

继续访问

对Python中plt的画图函数详解

今天小编就为大家分享一篇对Python中plt的画图函数详解,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧

plt.plot()函数详解

plt.plot()函数详细介绍 plt.plot(x, y, format_string, **kwargs) 参数 说明 x X轴数据,列表或数组,可选 y Y轴数据,列表或数组 format_string 控制曲线的格式字符串,可选 **kwargs 第二组或更多(x,y,format_string),可画多条曲线 format_string 由颜色字符、风格字符、标记字符组成 颜色字符 'b' 蓝色 'm' 洋红色 magenta 'g' 绿色 'y.

继续访问

python图像处理基础知识(plt库函数说明)_小草莓爸爸的博客_p...

1.画图(plt库)1.1 plt.figure(num=’’,figsize=(x, y),dpi= ,facecolor=’’,edgecolor=’’)num:表示整个图标的标题 figsize:表示尺寸 facecolor:表示1.2 plt.plot(x,y,format_string,**kwargs)...

继续访问

plt的一些函数使用_neo3301的博客_plt函数

1、plt.plot(x,y) plt.plot(x,y,format_string,**kwargs) x轴数据,y轴数据,format_string控制曲线的格式字串 format_string 由颜色字符,风格字符,和标记字符 import matplotlib.pyplot as plt ...

继续访问

最新发布 python plt 绘图详解(plt.版本)

python plt绘图详解

继续访问

python图像处理基础知识(plt库函数说明)

import matplotlib.pyplot as plt的一些基础用法,包括直方图

继续访问

plt.subplot() 函数解析_Ensoleile。的博客_plt.subplot

plt.subplot()函数用于直接制定划分方式和位置进行绘图。 函数原型 subplot(nrows, ncols, index, **kwargs),一般我们只用到前三个参数,将整个绘图区域分成 nrows 行和 ncols 列,而 index 用于对子图进行编号。

继续访问

...中plt的画图函数_Ethan的博客的博客_python的plt函数

1、plt.legend plt.legend(loc=0)#显示图例的位置,自适应方式 说明: 'best' : 0, (only implemented for axes legends)(自适应方式) 'upper right' : 1, 'upper left' : 2, 'lower left' : 3, 'lower right' : 4, ...

继续访问

plt.函数

1 plt.figure( ) 函数:创建画布 2 plt.plot(x, y, format_string, label="图例名"):绘制点和线, 并控制样式。 其中x是x轴数据,y是y轴数据,xy一般是列表和数组。format_string 是字符串的格式包括线条颜色、点类型、线类型三个部分。向参数label传入图例名,使用plt.legend( )创建图例。 2.1 画一条含x、y的线条 import matplotlib.pyplot as plt x = [1, 2, 3, 4] y

继续访问

Python深度学习入门之plt画图工具基础使用(注释详细,超级简单)

Python自带的plt是深度学习最常用的库之一,在发表文章时必然得有图作为支撑,plt为深度学习必备技能之一。作为深度学习入门,只需要掌握一些基础画图操作即可,其他等要用到的时候看看函数API就行。 1 导入plt库(名字长,有点难记) import matplotlib.pyplot as plt 先随便画一个图,保存一下试试水: plt.figure(figsize=(12,8), dpi=80) plt.plot([1,2,6,4],[4,5,6,9]) plt.savefig('./plt_pn

继续访问

python画图plt函数学习_dlut_yan的博客_python plt

figure()函数可以帮助我们同时处理生成多个图,而subplot()函数则用来实现,在一个大图中,出现多个小的子图。 处理哪个figure,则选择哪个figure,再进行画图。 参考博客 importmatplotlib.pyplotaspltimportnumpyasnp x=np.arange(-1,1,0.1...

继续访问

plt.plot()函数_安之若醇的博客_plt.plot()函数

plt.plot()函数是matplotlib.pyplot用于画图的函数传一个值列表:import numpy as npimport matplotlib.pyplot as pltt=[1,2,3,4,5]y=[3,4,5,6,7]plt.plot(t, y)当x省略的时候,默认[0,1…,N-1]递增可以传元组也可以传...

继续访问

python画图plt函数学习

python中的绘图工具 :matplotli,专门用于画图。 一. 安装与导入 工具包安装:conda install matplotli 导入:import matplotlib.pyplot as plt 画图主要有:列表绘图;多图绘图;数组绘图 二. 列表绘图 1. 基础绘图:plt.plot;plt.show import matplotlib.pyplot as plt x = [1, 2, 3, 4] y = [1, 4, 9, 16] plt.plot(x, y) plt.show()

继续访问

python中plt的含义_对Python中plt的画图函数详解

1、plt.legendplt.legend(loc=0)#显示图例的位置,自适应方式说明:'best' : 0, (only implemented for axes legends)(自适应方式)'upper right' : 1,'upper left' : 2,'lower left' : 3,'lower right' : 4,'right' : 5,'cent...

继续访问

Python中plt绘图包的基本使用方法

其中,前两个输入参数表示x轴和y轴的坐标,plot函数将提供的坐标点连接,即成为要绘制的各式线型。常用的参数中,figsize需要一个元组值,表示空白画布的横纵坐标比;plt.xticks()和plt.yticks()函数用于设置坐标轴的步长和刻度。plt.xlabel()、plt.ylabel()和plt.title()函数分别用于设置x坐标轴、y坐标轴和图标的标题信息。的数据处理时,发现了自己对plt的了解和使用的缺失,因此进行一定的基础用法的学习,方便之后自己的使用,而不需要频繁的查阅资料。...

继续访问

python-plt.xticks与plt.yticks

栗子: plt.figure(figsize=(10, 10)) for i in range(25): plt.subplot(5, 5, i+1) plt.xticks([]) plt.yticks([]) plt.grid(False) plt.imshow(train_images[i], cmap=plt.cm.binary) plt.xlabel(class_names[train_labels[i]]) plt.show() 设置x或y轴对应显

继续访问

plt绘图总结

matplotlib绘图

继续访问

Python的数据科学函数包(三)——matplotlib(plt)

继续访问

热门推荐 python plt 画图

使用csv数据文件在百度网盘 import pandas as pd unrate = pd.read_csv('unrate.csv') # pd.to_datetime() 转换成日期格式,即由 1948/1/1 转换为 1948-01-01 unrate['DATE'] = pd.to_datetime(unrate['DATE']) print(unrate.head(12)) ...

继续访问

python数据可视化实现步骤,Python数据可视化图实现过程详解

Python数据可视化图实现过程详解更多python视频教程请到菜鸟教程画分布图代码示例:# encoding=utf-8import matplotlib.pyplot as pltfrom pylab import * # 支持中文mpl.rcParams[‘font.sans-serif’] = [‘SimHei’]‘mention...

继续访问

matplotlib-plt.plot用法

文章目录 英语好的直接参考这个网站 matplotlib.pyplot.plot(*args, scalex=True, scaley=True, data=None, **kwargs) 将x,y绘制为线条或标记 参数: x, y:数据点的水平/垂直坐标。x值是可选的,默认为range(len(y))。通常,这些参数是 一维数组。它们也可以是标量,也可以是二维的(在这种情况下,列代表单独的数据集)。 这些参数不能作为关键字传递。 fmt:格式字符串,格式字符串只是用于快速设置基本行属性的缩

继续访问

python Plt学习

plt的简单学习

继续访问

plt.show()和plt.imshow()的区别

问题:plt.imshow()无法显示图像 解决方法:添加:plt.show(),即 plt.imshow(image) #image表示待处理的图像 plt.show() 原理:plt.imshow()函数负责对图像进行处理,并显示其格式,而plt.show()则是将plt.imshow()处理后的函数显示出来。 ...

继续访问

python题库刷题网站_python在线刷题网站

{"moduleinfo":{"card_count":[{"count_phone":1,"count":1}],"search_count":[{"count_phone":4,"count":4}]},"card":[{"des":"阿里技术人对外发布原创技术内容的最大平台;社区覆盖了云计算、大数据、人工智能、IoT、云原生、数据库、微服务、安全、开发与运维9大技术领域。","link1":...

继续访问

python xticks_Python Matplotlib.pyplot.yticks()用法及代码示例

Matplotlib是Python中的一个库,它是数字的-NumPy库的数学扩展。 Pyplot是Matplotlib模块的基于状态的接口,该模块提供了MATLAB-like接口。Matplotlib.pyplot.yticks()函数matplotlib库的pyplot模块中的annotate()函数用于获取和设置y轴的当前刻度位置和标签。用法: matplotlib.pyplot.yticks...

继续访问

python的plt函数_plt.plot画图函数

[‘font.sans-serif’]=[‘SimHei’]plt.rcParams[‘axes.unicode_minus’] = False#设置横纵坐标的名称以及对应字体格式font1 = {‘weight’ : ‘normal’,‘size’ : 15,...

继续访问

plt函数

写评论

7

794

122

Python绘图之(1)Turtle库详解

Turtle库是Python语言中一个很流行的绘制图像的函数库,想象一个小乌龟,在一个横轴为x、纵轴为y的坐标系原点,(0,0)位置开始,它根据一组函数指令的控制,在这个平面坐标系中移动,从而在它爬行的路径上绘制了图形。

画布就是turtle为我们展开用于绘图区域,我们可以设置它的大小和初始位置。

设置画布大小

turtle.screensize(canvwidth=None, canvheight=None, bg=None),参数分别为画布的宽(单位像素), 高, 背景颜色。

如:turtle.screensize(800,600, "green")

turtle.screensize() #返回默认大小(400, 300)

turtle.setup(width=0.5, height=0.75, startx=None, starty=None),参数:width, height: 输入宽和高为整数时, 表示像素; 为小数时, 表示占据电脑屏幕的比例,(startx, starty): 这一坐标表示矩形窗口左上角顶点的位置, 如果为空,则窗口位于屏幕中心。

如:turtle.setup(width=0.6,height=0.6)

turtle.setup(width=800,height=800, startx=100, starty=100)

2.1 画笔的状态

在画布上,默认有一个坐标原点为画布中心的坐标轴,坐标原点上有一只面朝x轴正方向小乌龟。这里我们描述小乌龟时使用了两个词语:坐标原点(位置),面朝x轴正方向(方向), turtle绘图中,就是使用位置方向描述小乌龟(画笔)的状态。

2.2 画笔的属性

画笔(画笔的属性,颜色、画线的宽度等)

1) turtle.pensize():设置画笔的宽度;

2) turtle.pencolor():没有参数传入,返回当前画笔颜色,传入参数设置画笔颜色,可以是字符串如"green", "red",也可以是RGB 3元组。

3) turtle.speed(speed):设置画笔移动速度,画笔绘制的速度范围[0,10]整数,数字越大越快。

2.3 绘图命令

操纵海龟绘图有着许多的命令,这些命令可以划分为3种:一种为运动命令,一种为画笔控制命令,还有一种是全局控制命令。

(1) 画笔运动命令

(2) 画笔控制命令

(3) 全局控制命令

(4) 其他命令

3. 命令详解

3.1 turtle.circle(radius, extent=None, steps=None)

描述:以给定半径画圆

参数:

radius(半径):半径为正(负),表示圆心在画笔的左边(右边)画圆;

extent(弧度) (optional);

steps (optional) (做半径为radius的圆的内切正多边形,多边形边数为steps)。

举例:

circle(50) # 整圆;

circle(50,steps=3) # 三角形;

circle(120, 180) # 半圆

实例:

1、太阳花

2、五角星

3、时钟程序


新闻标题:python画图形要用的函数 python能画函数图像吗
分享网址:http://6mz.cn/article/doccgoj.html

其他资讯