matplotlib之基本图像的绘制

安装matplotlib库

首先如何在python中安装matplotlib库呢?
在cmd中使用命令

pip install matplotlib

在坐标系中绘制简单的一元一次方程

任务目标:
在这里插入图片描述
代码实例:

import matplotlib.pyplot as plt
#加载matplotlib库的pyplot模块并起别名叫plt
import numpy as np
#再导入numpy库并起别名叫做np
x=np.linspace(-2,2,50)
#返回以起点为-2终点为2内的50个均匀间隔样本作为方程y的x数据
y=2*x+1
#方程y,2x+1
plt.plot(x,y)
#以x,y绘制方程图
plt.show()
#展示绘制的方程

'''
运行结果:

如任务目标所示
'''

linspace函数

代码较简单就说一下linspace函数

numpy.linspace(start,stop,num = 50,endpoint = True,retstep = False,dtype = None,axis = 0 )

start参数(必选):序列的起始值。
end参数(必选):序列的终止值,在没有设置endpoint参数的时候,是不包括终止点的,除非将endpoint参数设置为False。
num参数(可选):要生成start-end之间的样本数,默认为50。
endpoint参数(可选):如果为True,就不会包括start-end之间的最后一个样本数,也就是end,反之。默认值为True。
retstep(可选):如果是True,则返回样本之间的间隔,默认是False
dydpe(可选):输出数组的类型,如果没选,默认自动根据其他参数推断数据类型。
axis(可选):如当成三维数组的类型,就可使用该参数,axis=0是对维度为0进行操作,axis=1是对维度为1进行操作,axis=2是对维度为2进行操作,默认为0,注意:当不是多维数组使用该参数会报错。

plot函数

plot([x], y, [fmt], *, data=None, **kwargs)
plot([x], y, [fmt], [x2], y2, [fmt2], ..., **kwargs)

这是官方定义的格式,我们就掌握最核心的即可

参数描述
[x](可选参数)方程y的数据
y(必选参数)方程y
[fmt](可选参数)格式化字符串,定义图形的基本样式:颜色,点形,线形
Kwargs代表以不定长的关键字参数设置绘制线的其他属性,比如线标签(用于自动图例),线宽,抗锯齿,标记面颜色

fmt = ‘[marker][line][color]’
第一个是标记物可以是如下的内容

字符描述
‘.’点标记
‘,’像素标记
‘o’圆圈标记
‘v’倒三角标记
‘^’正三角标记
‘<’左三角标记
‘>’右三角标记
‘1’tri_down标记
‘2’tri_up标记
‘3’tri_left标记
‘4’tri_right标记
‘s’方形标记
‘p’五边形标记
‘*’星标
‘h’六角形标记
‘H’六角标记
‘+’加号
‘x’X标记
‘D’钻石笔
‘d’thin_diamond标记
‘|’vline标记
‘_’hline标记

第二个是线条属性

线性

线型描述
'-‘或者’solid’实线
'–‘或者’dashed’虚线
‘-.’ 或者’dashdot’点划线
':‘或者’dotted’虚线

标记物

第三个是颜色

字符颜色
‘b’blue
‘g’green
‘r’red
‘c’cyan
‘m’magenta
‘y’yellow
‘k’black
‘w’white

**kwargs较多就不写了。

任务目标:
在这里插入图片描述

import matplotlib.pyplot as plt
import numpy as np
x=np.linspace(-3,3,50)
#返回以起点为-3终点为3内的50个均匀间隔样本作为方程y1,y2的x数据
y1=2*x+1
y2=x**2

plt.figure(num=2,figsize=(8,5))
#利用figure绘制图像,并且窗口的大小为8,5,窗口标题为2
plt.plot(x,y2)
plt.plot(x,y1,color="red",linewidth=1.0,linestyle="--")
#将y2,跟y1都画在一个图形标题为2的图上,并且y1这条线是红色,线宽为1,线的属性使用的是'--'
plt.show()
#展示绘制的图
'''
运行结果:

如任务目标所示
'''

figure()函数

官方定义的figure函数

matplotlib.pyplot.figure(num = None,figsize = None,dpi = None,facecolor = None,edgecolor = None,frameon = True,FigureClass = <class'matplotlib.figure.Figure'>,clear = False** kwargs )

主要参数描述:

参数描述
num(可选参数)如果未选择,每次创建一个新图形,都会将图形编号增1。如果提供了num,并且num已经是之前用过的了,则会激活并再次引用,如果图不存在,则创建。
figsize(可选参数)设置宽度,高度,单位是英寸。如果未选择,则默认使用(6.4,4.8)
dqi(可选参数)设置图的分辨率,如果未选择则默认为100.0100
facecolor(可选参数)背景颜色。如果未选择默认使用白色
edgecolor(可选参数)边框颜色,如果未选择默认使用白色
frameon(可选参数)是否绘制图形边框,如果未选择默认使用True
clear (可选参数)如果为True并且该图已经存在,则将其清楚,如果未选择默认使用False

更改坐标的名字
任务目标:

在这里插入图片描述

代码示例:

import matplotlib.pyplot as plt
import numpy as np
x=np.linspace(-3,3,50)
y1=2*x+1
y2=x**2

plt.rcParams['font.sans-serif'] = ['SimHei']
plt.rcParams['axes.unicode_minus'] = False
#这两行可使画出来的图形中的中文显示出来

plt.plot(x,y2)
plt.plot(x,y1,color="red",linewidth=1.0,linestyle="--",label="{}".format(y1))
plt.xlim((-1,2))
#设置x轴的极限为-1到2
plt.ylim((-2,3))
#设置y轴的极限为-2到3
plt.xlabel(r'x轴')
#设置x轴的标签
plt.ylabel(r'y轴')
#设置y轴的标签
new_ticks=np.linspace(-1,2,5)
plt.yticks([-2,-1.8,-1,1.22,3,],[r'$really\ bad$',r'$bad\ \alpha$',r'$normal$',r'$good$',r'$really\ good$'])
#将y轴的[-2,-1.8,-1,1.22,3]处都换成....省略
plt.show()

xlim()函数

设置当前x轴(横轴)的极限
如果不设置,就可通过拉动窗口使x轴可见极限增大或缩小

ylim()函数

设置当前y轴(纵轴)的极限
如果不设置,就可通过拉动窗口使x轴可见极限增大或缩小

xticks()函数

获取或设置x轴的当前刻度位置和标签。

matplotlib.pyplot.xticks(ticks = None,labels = None** kwargs )
参数描述
tick(必选参数)放置刻度的位置列表,可以使用空列表禁用调
labels在给定位置放置的显式标签的列表。
** kwargs用于控制标签的外观

gca()函数

在图形上获取所有的轴

任务目标:
在这里插入图片描述
代码示例

import matplotlib.pyplot as plt
import numpy as np
x=np.linspace(-3,3,50)
y1=2*x+1
y2=x**2

plt.rcParams['font.sans-serif'] = ['SimHei']
plt.rcParams['axes.unicode_minus'] = False

plt.plot(x,y2)
plt.plot(x,y1,color="red",linewidth=1.0,linestyle="--")
plt.xlim((-1,2))
plt.ylim((-2,3))
plt.xlabel("x轴")
plt.ylabel("y轴")
new_ticks=np.linspace(-1,2,5)
plt.yticks([-2,-1.8,-1,1.22,3,],[r'$really\ bad$',r'$bad\ \alpha$',r'$normal$',r'$good$',r'$really\ good$'])

ax=plt.gca()
#获取两个横轴两个竖轴
ax.spines['right'].set_color('none')
ax.spines['top'].set_color('none')
#获取右边与顶部的轴设置右边框和头部边框给颜色为空
ax.xaxis.set_ticks_position('bottom')
#将x轴的位置设置在底部
ax.yaxis.set_ticks_position('left')
#将y轴的位置设置在右边
ax.spines['bottom'].set_position(('data',0))#outward,axes
#获取底部的轴移动轴的位置到交叉轴的指定坐标为0
ax.spines['left'].set_position(('data',0))
#获取左边的轴移动轴的位置到交叉轴地指定位置为0
plt.show()

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值