matplotlib学习笔记

导入matplotlib库

使用

import matplotlib.pyplot as plt

导入matplotlib库

使用matplotlib创建图像

使用matplotlib绘制出y=x*2+5在(0,50)上的图像

x=np.array([i for i in range(50)])
y=x*2+5
plt.plot(x,y)
plt.show()

得到图像在这里插入图片描述

figure的使用

使用figure语句创建多个窗口

使用plt.figure()语句可以在多个窗口中绘制出各个图像
在不同的plt.figure()语句下使用plt.plot()语句即可在多个窗口中绘制出各个图像

y1=x*2+5
y2=x**10+3*x
plt.figure(num=1)
plt.plot(x,y1)

plt.figure(num=2)
plt.plot(x,y2)

plt.show()

pli.figure()中可填写num 代表figure窗口的号码

得到图像在这里插入图片描述

在同一个figure窗口中绘制多条图像

将多个pli.plot()写在同一个plt.figure()语句下即可在同一个figure窗口中绘制多个图像

y1=x*2+5
y2=x**10+3*x
plt.figure()
plt.plot(x,y1)
plt.plot(x,y2,color='green',linewidth=2.0,linestyle='-.')

plt.show()

其中plt.plot(x,y,color,linewidth,linestyle)中对应线条的颜色、宽度、样式
其中样式可以选择

‘-’, ‘–’, ‘-.’, ‘:’, ‘None’, ’ ', ‘’, ‘solid’, ‘dashed’, ‘dashdot’, ‘dotted’

得到图像
在这里插入图片描述

修改坐标轴

限定坐标轴范围

使用plt.xlim() 和 ply.ylim()语句来限定x和y轴的范围

x=np.array([i for i in range(50)])
y1=x*2+5
y2=x**10+3*x
plt.figure()
plt.plot(x,y1)
plt.plot(x,y2,color='green',linewidth=2.0,linestyle='-.')
plt.xlim((4,50))
plt.ylim((1,50))

plt.show()

得到图像
在这里插入图片描述

添加坐标轴的说明

使用plt.xlabel()与plt.ylabel()语句来添加x和y轴的说明

x=np.array([i for i in range(50)])
y1=x*2+5
y2=x**10+3*x
plt.figure()
plt.plot(x,y1)
plt.plot(x,y2,color='green',linewidth=2.0,linestyle='-.')
plt.xlim((4,50))
plt.ylim((1,50))
plt.xlabel('x line')
plt.ylabel('y line')

plt.show()

在这里插入图片描述

替换坐标轴上点的名称

使用plt.xticks()和plt.yticks()语句修改坐标轴上的名称
括号中可以使用np.linspace()语句进行替换 同时也可以使用二维数组进行替换

x=np.array([i for i in range(50)])
y1=x*2+5
y2=x**10+3*x
plt.figure()
plt.plot(x,y1)
plt.plot(x,y2,color='green',linewidth=2.0,linestyle='-.')
plt.xlim((4,50))
plt.ylim((1,50))
plt.xlabel('x line')
plt.ylabel('y line')
line=np.linspace(5,50,10)
plt.xticks(line)
plt.yticks([5,10,20,40,50],
            ['one','two','three','four','five'])

plt.show()

得到图像
在这里插入图片描述

修改坐标轴的位置

使用到plt.gca()语句

取消坐标轴

使用ax.spines[].set_color(‘none’)语句可以使坐标轴消失
其中中括号中的参数为’top’,‘bottom’,‘left’,'right’分别对应上下左右

x=np.array([i for i in range(50)])
y1=x*2+5
y2=x**10+3*x
plt.figure()
plt.plot(x,y1)
plt.plot(x,y2,color='green',linewidth=2.0,linestyle='-.')
plt.xlim((4,50))
plt.ylim((1,50))
plt.xlabel('x line')
plt.ylabel('y line')
line=np.linspace(5,50,10)
plt.xticks(line)
plt.yticks([5,10,20,40,50],
            ['one','two','three','four','five'])
ax=plt.gca()
ax.spines['top'].set_color('none')
ax.spines['right'].set_color('none')

plt.show()

得到图像在这里插入图片描述

修改坐标轴的位置

首先使用ax.axis.set_ticks_position()语句取消坐标轴当前位置
其中括号中的参数为’top’, ‘bottom’, ‘both’, ‘default’, ‘none’
然后使用ax.spines[].set_position()语句更改坐标轴位置

x=np.array([i for i in range(50)])
y1=x*2+5
y2=x**10+3*x
plt.figure()
plt.plot(x,y1)
plt.plot(x,y2,color='green',linewidth=2.0,linestyle='-.')
plt.xlim((4,50))
plt.ylim((1,50))
plt.xlabel('x line')
plt.ylabel('y line')
line=np.linspace(5,50,10)
plt.xticks(line)
plt.yticks([5,10,20,40,50],
            ['one','two','three','four','five'])
ax=plt.gca()
ax.spines['top'].set_color('none')
ax.spines['right'].set_color('none')
ax.xaxis.set_ticks_position('both')
ax.yaxis.set_ticks_position('both')
ax.spines['left'].set_position(('data',5))
ax.spines['bottom'].set_position(('data',10))

plt.show()

得到图像在这里插入图片描述

添加legend图例

在plt.plot()语句中添加label语句 添加图例名称
使用plt.legend()语句生成图例

x=np.array([i for i in range(50)])
y1=x*2+5
y2=x**10+3*x
plt.figure()
plt.plot(x,y1,label='first')
plt.plot(x,y2,color='green',linewidth=2.0,linestyle='-.',label='second')
plt.xlim((4,50))
plt.ylim((1,50))
plt.xlabel('x line')
plt.ylabel('y line')
line=np.linspace(5,50,10)
plt.xticks(line)
plt.yticks([5,10,20,40,50],
            ['one','two','three','four','five'])
ax=plt.gca()
ax.spines['top'].set_color('none')
ax.spines['right'].set_color('none')
ax.xaxis.set_ticks_position('both')
ax.yaxis.set_ticks_position('both')
ax.spines['left'].set_position(('data',5))
ax.spines['bottom'].set_position(('data',10))
plt.legend()

plt.show()

得到图像在这里插入图片描述

绘制散点图

绘制简单的散点图

使用plt.scatter()语句绘制散点图

x=np.array([i for i in range(50)])
y=x*2+5
plt.scatter(x,y)

plt.show()

得到散点图在这里插入图片描述

绘制散点图矩阵

同样使用plt.scatter()语句

n=1000
X=np.random.normal(0,1,n)
Y=np.random.normal(0,1,n)

plt.scatter(X,Y,s=50,alpha=0.5)

plt.show()

得到图像
在这里插入图片描述

绘制柱状图

使用plt.bar()语句绘制柱状图

n=10
X=np.arange(n)
X1=np.random.uniform(1,10,n)
Y1=np.random.uniform(1,10,n)
plt.bar(X,Y1)

plt.show()

得到图像
在这里插入图片描述

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值