几个必会的matplotlib入门例子

1.条形图

from matplotlib import pyplot as plt 
x =  [5,8,10] 
y =  [12,16,6] 
x2 =  [6,9,11] 
y2 =  [6,15,7] 
plt.bar(x, y, color =  'r', align =  'center') 
plt.bar(x2, y2, color =  'g', align =  'center') 
plt.show()

在这里插入图片描述
2.等高线图

x=np.linspace(-10,10,100)
y=np.linspace(-10,10,100)
X,Y=np.meshgrid(x,y)#把原始数据变为网格数据形式
Z=X**2+Y**2
plt.figure(figsize=(6,6))#设置画布大小为长6宽6
plt.contourf(X,Y,Z)#填充颜色,f即filled
plt.contour(X,Y,Z)#画等高线
plt.show()
#只画z=20和40的线,并将颜色设置为黑色
contour = plt.contour(X,Y,Z,[20,40],colors='k')
#等高线上标明z(即高度)的值,字体大小是10,颜色分别是黑色和红色
plt.clabel(contour,fontsize=10,colors=('k','r'))
plt.show()

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

def height(x,y):
    return (1-x/2+x**5+y**3)*np.exp(-x**2-y**2)
x=np.linspace(-3,3,300)
y=np.linspace(-3,3,300)
X,Y=np.meshgrid(x,y)
plt.contourf(X,Y,height(X,Y),10,alpha=.5)#为等高线填充颜色,10表示按照高度分成10层
c=plt.contour(X,Y,height(X,Y),10,color='black')
plt.clabel(c,inline=True,fontsize=10)#绘制等高线标签
plt.show()

在这里插入图片描述

new_ticks=np.linspace(-2,2,11)
y1=2*x+1
y2=x**2
plt.xlim((-1,2))#限制x和y的取值范围
plt.ylim((-2,3))
plt.xlabel('I am X')
plt.ylabel('I am Y')#x和y的描述
plt.plot(x,y1,color='red',linewidth=1.0,linestyle='--')#设置线的宽度,颜色,虚实。
plt.plot(x,y2,color='blue',linewidth=5.0,linestyle='-')
plt.xticks(new_ticks)
plt.yticks([-1,0,1,2,3],#设置x轴的值
           ['level1','level2','level3','level4','level5'])#把坐标值对应文字。
plt.show()

在这里插入图片描述

new_ticks=np.linspace(-2,2,11)
y1=2*x+1
y2=x**2
plt.xlim((-1,2))#限制x和y的取值范围
plt.ylim((-2,3))
plt.xlabel('I am X')
plt.ylabel('I am Y')#x和y的描述
plt.plot(x,y1,color='red',linewidth=1.0,linestyle='--')#设置线的宽度,颜色,虚实。
plt.plot(x,y2,color='blue',linewidth=5.0,linestyle='-')
plt.xticks(new_ticks)
plt.yticks([-1,0,1,2,3],#设置x轴的值
           ['level1','level2','level3','level4','level5'])#把坐标值对应文字。
#gca是获得当前的x轴和y轴
ax=plt.gca()
ax.spines['right'].set_color('none')
ax.spines['top'].set_color('none')
#把x轴刻度设置为’bottom‘
#把y轴刻度设置为’left‘
ax.xaxis.set_ticks_position('bottom')
ax.yaxis.set_ticks_position('left')
#设置bottom和left对应到0点
ax.spines['bottom'].set_position(('data',0))
ax.spines['left'].set_position(('data',0))
plt.show()

在这里插入图片描述

ax=plt.gca()
ax.spines['right'].set_color('none')
ax.spines['top'].set_color('none')
#把x轴刻度设置为’bottom‘
#把y轴刻度设置为’left‘
ax.xaxis.set_ticks_position('bottom')
ax.yaxis.set_ticks_position('left')
#设置bottom和left对应到0点
ax.spines['bottom'].set_position(('data',0))
ax.spines['left'].set_position(('data',0))

x0=0.01
y0=2*x0+1
plt.scatter(x0,y0,s=50,color='b')
plt.plot(([x0,x0]),[y0,0],'k--',lw=2)
plt.annotate(r'$2x+1=%s$' %y0,xy=(x0,y0),xytext=(+30,-30),textcoords='offset points',fontsize=16,
arrowprops=dict(arrowstyle='->',connectionstyle='arc3,rad=.2'))
plt.plot(x0,y0)
plt.show()

在这里插入图片描述

plt.scatter(np.arange(5),np.arange(5))
plt.show()

在这里插入图片描述

x=np.random.normal(0,1,500)
y=np.random.normal(0,1,500)
plt.scatter(x,y,s=50,c='b',alpha=0.5)#alpha为透明度
plt.xlim((-2,2))
plt.ylim((-2,2))
plt.xticks(())
plt.yticks(())#去掉x,y轴上的坐标值
plt.show()

在这里插入图片描述

x=np.arange(10)
y=2**x+10
plt.bar(x,y,facecolor='#9999ff',edgecolor='white')
for x,y in zip(x,y):
    plt.text(x,y,'%.2f'%y,ha='center',va='bottom')
plt.show()

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值