matplotlib基础学习笔记

一、基本用法

import matplotlib.pyplot as plt
import numpy as np

x=np.linspace(-1,1,50)
y=2*x+1

plt.plot(x,y)
plt.show()

画出y=2x+1的图像

二、画多条线及多张图

import matplotlib.pyplot as plt
import numpy as np

x=np.linspace(-3,3,50)
y1=2*x+1
y2=x**2

plt.figure()
plt.plot(x,y1)

plt.figure()#plt.figure(num=3,figsize=(8,5))
plt.plot(x,y2)

plt.show()

在这里插入图片描述
在这里插入图片描述

import matplotlib.pyplot as plt
import numpy as np

x=np.linspace(-3,3,50)
y1=2*x+1
y2=x**2

plt.figure(num=3,figsize=(8,5))
plt.plot(x,y1,color="red",linewidth=1.0,linestyle='--')
plt.plot(x,y2)
plt.show()

在这里插入图片描述

三、设置坐标轴、图例、标注

3.1设置坐标轴
修改坐标轴的标尺及数值

import matplotlib.pyplot as plt
import numpy as np

x=np.linspace(-3,3,50)
y1=2*x+1
y2=x**2

plt.figure()
plt.plot(x,y1,color="red",linewidth=1.0,linestyle='--')
plt.plot(x,y2)

plt.xlim((-1,2))#设置图中x轴显示的的值范围
plt.ylim((-2,3))#设置y轴显示的的值范围
plt.xlabel('x')#设置x轴的标签
plt.ylabel('y')

new_ticks=np.linspace(-1,2,5)#将(-1,2)分成5段
#print(new_ticks)
plt.xticks(new_ticks)#设置x轴的数值分段
#plt.yticks([-2,-1.8,-1,1.22,3],['really bad','bad','normal','good','really'])#更改y轴数值为文字
plt.yticks([-2,-1.8,-1,1.22,3],[r'$really\ bad$',r'$bad\ \alpha$',r'$normal$',r'$good$',r'$really\ good$'])#更改y轴数值为文字,并更换文字字体

#如何打出alpha,使用\alpha   α

plt.show()

在这里插入图片描述
修改坐标轴的位置

import matplotlib.pyplot as plt
import numpy as np

x=np.linspace(-3,3,50)
y1=2*x+1
y2=x**2

plt.figure()
plt.plot(x,y1,color="red",linewidth=1.0,linestyle='--')
plt.plot(x,y2)

plt.xlim((-1,2))#设置图中x轴显示的的值范围
plt.ylim((-2,3))#设置y轴显示的的值范围
#plt.xlabel('x')#设置x轴的标签   plt.xlabel(fontsize, verticalalignment, horizontalalignment, rotation, bbox)
#plt.ylabel('y')

new_ticks=np.linspace(-1,2,5)#将(-1,2)分成5段
#print(new_ticks)
plt.xticks(new_ticks)#设置x轴的数值分段
#plt.yticks([-2,-1.8,-1,1.22,3],['really bad','bad','normal','good','really'])#更改y轴数值为文字
plt.yticks([-2,-1.8,-1,1.22,3],[r'$really\ bad$',r'$bad\ \alpha$',r'$normal$',r'$good$',r'$really\ good$'])#更改y轴数值为文字,并更换文字字体

#gca='get current axis'
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')
#设置中心位置
ax.spines['bottom'].set_position(('data',0))#设置x轴的上下位置
ax.spines['left'].set_position(('data',0))#设置y轴的左右位置

plt.show()

在这里插入图片描述
3.2legend图例

import matplotlib.pyplot as plt
import numpy as np

x=np.linspace(-3,3,50)
y1=2*x+1
y2=x**2

plt.figure()

plt.xlim((-1,2))#设置图中x轴显示的的值范围
plt.ylim((-2,3))#设置y轴显示的的值范围
plt.xlabel('x')#设置x轴的标签   plt.xlabel(fontsize, verticalalignment, horizontalalignment, rotation, bbox)
plt.ylabel('y')

new_ticks=np.linspace(-1,2,5)#将(-1,2)分成5段
#print(new_ticks)
plt.xticks(new_ticks)#设置x轴的数值分段
#plt.yticks([-2,-1.8,-1,1.22,3],['really bad','bad','normal','good','really'])#更改y轴数值为文字
plt.yticks([-2,-1.8,-1,1.22,3],[r'$really\ bad$',r'$bad\ \alpha$',r'$normal$',r'$good$',r'$really\ good$'])#更改y轴数值为文字,并更换文字字体

plt.plot(x,y1,color="red",linewidth=1.0,linestyle='--',label='down')
plt.plot(x,y2,label='up')
plt.legend()#画出图例

plt.show()



在这里插入图片描述

import matplotlib.pyplot as plt
import numpy as np

x=np.linspace(-3,3,50)
y1=2*x+1
y2=x**2

plt.figure()

plt.xlim((-1,2))#设置图中x轴显示的的值范围
plt.ylim((-2,3))#设置y轴显示的的值范围
plt.xlabel('x')#设置x轴的标签   plt.xlabel(fontsize, verticalalignment, horizontalalignment, rotation, bbox)
plt.ylabel('y')

new_ticks=np.linspace(-1,2,5)#将(-1,2)分成5段
#print(new_ticks)
plt.xticks(new_ticks)#设置x轴的数值分段
#plt.yticks([-2,-1.8,-1,1.22,3],['really bad','bad','normal','good','really'])#更改y轴数值为文字
plt.yticks([-2,-1.8,-1,1.22,3],[r'$really\ bad$',r'$bad\ \alpha$',r'$normal$',r'$good$',r'$really\ good$'])#更改y轴数值为文字,并更换文字字体

l1,=plt.plot(x,y1,color="red",linewidth=1.0,linestyle='--',label='down')
l2,=plt.plot(x,y2,label='up')
plt.legend(handles=[l1,l2,],labels=['aaa','bbb'],loc='best') #画出图例  loc='best left up'


plt.show()

在这里插入图片描述
3.3annotation注解

import matplotlib.pyplot as plt
import numpy as np

x=np.linspace(-3,3,50)
y1=2*x+1
y2=x**2

plt.figure(num=1,figsize=(8,5))
plt.plot(x,y1)

ax=plt.gca()
ax.spines['right'].set_color('none')
ax.spines['top'].set_color('none')
ax.xaxis.set_ticks_position('bottom')
ax.spines['bottom'].set_position(('data',0))
ax.yaxis.set_ticks_position('left')
ax.spines['left'].set_position(('data',0))

x0=1
y0=2*x0+1
plt.scatter(x0,y0,s=50,color='b')#画出点数据,plt.scatter(x,y1)
plt.plot([x0,x0],[0,y0],'k--',lw=2.5)#x轴数据加上y轴数据,放在一个列表里 k-- means black and line --

#method1
plt.annotate(r'$2x+1=%s$'%y0,xy=(x0,y0),xycoords='data',xytext=(+30,-30),textcoords='offset points',
             fontsize=16,arrowprops=dict(arrowstyle='->',connectionstyle='arc3,rad=.2'))

#method2
plt.text(-3.7,3,r'$This\ is\ the\ same\ text.\ \mu\ \sigma_i\ \alpha_t$',fontdict={'size':16,'color':'r'})


plt.show()

在这里插入图片描述
3.4axis tick 坐标轴刻度

import matplotlib.pyplot as plt
import numpy as np

x=np.linspace(-3,3,50)
y=0.1*x

plt.figure(num=1,figsize=(8,5))
plt.plot(x,y,linewidth=10)
plt.ylim(-2,2)
plt.plot(x,y,linewidth=10,color='blue',alpha=1)

ax=plt.gca()
ax.spines['right'].set_color('none')
ax.spines['top'].set_color('none')
ax.xaxis.set_ticks_position('bottom')
ax.spines['bottom'].set_position(('data',0))
ax.yaxis.set_ticks_position('left')
ax.spines['left'].set_position(('data',0))

#重新设置坐标轴kedu面板

for label in ax.get_xticklabels()+ax.get_yticklabels():
    label.set_fontsize(10)
    label.set_bbox(dict(facecolor='grey',edgecolor='None',alpha=1))

plt.show()

在这里插入图片描述

4.Scatter 散点图

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值