Matplotlib库的简单使用

1.折线图:给出一组x和y值,绘制由x和y值关联的折线图。

import matplotlib.pyplot as plt
x = [1,2,3,4,5,6,7,8,9,10]
y = [1,4,10,15,26,34,45,60,80,97]
plt.plot(x, y )
plt.show()

2.修改轴标题以及轴坐标

import matplotlib.pyplot as plt
x = [1,2,3,4,5,6,7,8,9,10]
y = [1,4,10,15,26,34,45,60,80,97]
plt.plot(x, y,
'r--'
,lw=3)
plt.title('Sales Record') #添加图标题
plt.xlabel('Time') #添加坐标轴标题
plt.ylabel('Sales')
plt.xlim(0.0, max(x)+1) #设定坐标轴限制
plt.ylim(0.0, max(y)+1)
plt.show()

3.一个坐标系上绘制多个图

import numpy as np
import matplotlib.pyplot as plt
x = [1,2,3,4,5,6,7,8,9,10]
y = [1,4,10,15,26,34,45,60,80,97]
z = [3,6,13,8,20,43,30,55,76,90]
plot1,=plt.plot(x,y,'g--',linewidth=2) #绘制折线图
plot2,=plt.plot(x,z,'r',linewidth=2) #绘制折线图
plt.title('Sales Record') #添加图标题
plt.xlabel('Time') #添加坐标轴标题
plt.ylabel('Sales')
plt.xlim(0.0, max(x)+1) #设定坐标轴限制
plt.ylim(0.0, max(y)+1)
plt.legend((plot1 , plot2 ),('y Company','z Company'),\
loc='lower right',fontsize=10,numpoints=1) #添加图例
plt.show() #显示

在这里插入图片描述
4.绘制多个子图示例。

import numpy as np
import matplotlib.pyplot as plt
def f(t):
    return np.exp(-t)*np.cos(2*np.pi*t)
t1=np.arange(0.0,5.0,0.1)
t2=np.arange(0.0,5.0,0.02)
plt.figure(1)
plt.subplot(211)
plt.plot(t1,f(t1),'bo',t2,f(t2),'k')
plt.subplot(212)
plt.plot(t2,np.cos(2*np.pi*t2),'r--')
plt.show()

5.点图

import matplotlib.pyplot as plt
x = [1,2,3,4,5,6,7,8,9,10]
y = [1,4,10,15,26,34,45,60,80,97]
plt.plot(x, y,’o’ )
plt.show()

6.直方图

import matplotlib.pyplot as plt
X=[1,2,3,4,5]
Y=[3,5,6,5,4]
Label = ['A','B','C','D','E']
plt.figure(1)
plt.bar(X,Y,tick_label=Label)
plt.show()
plt.figure(2)
plt.barh(X,Y,tick_label=Label)
plt.show()

在这里插入图片描述
7.散点图

import matplotlib.pyplot as plt
x = [1,2,3,4,5,6,7,8]
y = [5,2,4,2,1,4,5,2]
plt.scatter(x,y, label='skitscat', color='k', s=25,marker="o")
plt.xlabel('x')
plt.ylabel('y')
plt.title('Interesting Graph\nCheck it out')
plt.legend()
plt.show()

8.堆叠图基本上类似于饼图,只是随时间而变化

import matplotlib.pyplot as plt 
days = [1,2,3,4,5]
sleeping = [7,8,6,11,7] 
eating = [2,3,4,3,2]
working = [7,8,7,2,2] 
playing = [8,5,7,8,13] 
plt.stackplot(days, sleeping,eating,working,playing, colors=['m','c','r','k']) 
plt.xlabel('x') 
plt.ylabel('y') 
plt.title('Interesting Graph\nCheck it out') 
plt.show()

在这里插入图片描述
9.饼图并且设置字体参数使之可以中文显示

import numpy as np
import matplotlib.pyplot as plt
import matplotlib.font_manager as font_manager
fontpath = 'C:/Windows/Fonts/msyh.ttc'                            # 选择字体
prop = font_manager.FontProperties(fname=fontpath,size=16)

labels = ['娱乐', '育儿', '饮食', '房贷', '交通', '其它']
sizes = [2, 3, 12, 70, 2, 8]
explode = [0, 0, 0, 0.1, 0, 0]

plt.pie(sizes, explode=explode, labels=labels, textprops={'fontproperties': prop})
plt.title('饼图', fontproperties=prop)
plt.show()

在这里插入图片描述
10.等高图:将具有相等高度数值的数据点通过等高线表示出来,可分析数据之间的分布规律。

import matplotlib.pyplot as plt
import numpy as np
def f(x,y):
    return (x+y)* np.exp(-x**2-y**2)
n=300
x=np.linspace(-2,2,n)
y=np.linspace(-2,2,n)
X,Y= np.meshgrid(x,y)
plt.axes([0.55,0.55,0.9,0.9])
plt.contourf(X,Y,f(X,Y),10,alpha=.8,cmap=plt.cm.hot)
C=plt.contour(X,Y,f(X,Y),10,colors='black')
plt.clabel(C,inline=1, fontsize=15)
plt.xticks([])
plt.yticks([])
plt.show()

在这里插入图片描述
11.热度图:通过色差、亮度等表示数据之间的差异,是常用的数据分析方法之一。

import matplotlib.pyplot as plt
import numpy as np
data=np.arange(-6,6,0.02)
X,Y=np.meshgrid(data,data)
Z=np.sqrt(X**2+Y**2)
plt.imshow(Z)
plt.colorbar(shrink=.90)
plt.xticks(())
plt.yticks(())
plt.show()

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值