简介:Matplotlib 是一个Python的 2D绘图库,它以各种硬拷贝格式和跨平台的交互式环境生成出版质量级别的图形 。通过 Matplotlib,开发者可以仅需要几行代码,便可以生成绘图,直方图,功率谱,条形图,错误图,散点图等。
编程环境:Python 3.8
pycharm 2017
需要安装的库:numpy,matplotlib
源码链接:python-matplotlib-26个编程实例.rar
'''1.折线图'''
import numpy as np
import matplotlib.pyplot as plt
x=np.linspace(-100,100,10)#等区间分成100个数
y=x**2
plt.plot(x,y)
plt.show()
y1=np.sin(x)
plt.plot(x,y1)
plt.show()
'''2.散点图'''
import numpy as np
import matplotlib.pyplot as plt
height = [161,162,165,170,182,175,173,165]
weight = [50,51,53,58,80,70,69,55]
plt.scatter(height,weight,s=100,c='red',marker='<',alpha=0.5,)
plt.show()
N=1000
x=np.random.randn(N)
y=np.random.randn(N)
plt.scatter(x,y)
plt.show()
y1=x+np.random.randn(N)*0.5
plt.scatter(x,y1)
plt.show()
'''3.条形图'''
import numpy as np
import matplotlib.pyplot as plt
N=5
y=[20,10,30,25,15]
index=np.arange(N)
pl=plt.bar(x=index,height=y,width=0.5,color='orange')
plt.show()
pl=plt.bar(x=0,bottom=index,height=0.5,width=y,color='blue',orientation='horizontal')#水平条形图
plt.show()
salesBJ=[52,55,63,53,51]
salesSH=[44,66,55,41,58]
bar_width=0.3
plt.bar(index,salesBJ,bar_width,color='orange')
plt.bar(index+bar_width,salesSH,bar_width,color='red')
plt.show()
#层叠图
plt.bar(index,salesBJ,bar_width,color='orange')
plt.bar(index,salesSH,bar_width,color='red',bottom=salesBJ)
plt.show()
'''4.直方图'''
import numpy as np
import matplotlib.pyplot as plt
'''和条形的区别,某一变量的连续分布'''
mu=100#均值
sigma=20 # 标准差
x=mu+sigma*np.random.randn(20000) #产生2000个数据
'''normed标准化 edgecolor边界颜色'''
plt.hist(x,bins=100,color='orange',edgecolor='k',normed=True)
plt.show()
'''双变量直方图'''
x1=np.random.randn(1000)+2
y1=np.random.randn(1000)+5
plt.hist2d(x1,y1,bins=40)#颜色深浅表示频率大小
plt.show()
'''5.饼状图'''
import numpy as np
import matplotlib.pyplot as plt
'''各个数据占总和的比例'''
labels='A','B','C','D'
fracs=[17,33,49,18]
explode=[0,0.05,0,0]
plt.pie(x=fracs,labels=labels,autopct='%1.1f%%',explode=explode,shadow=True)
plt.show()
'''6.箱型图'''
import numpy as np
import matplotlib.pyplot as plt
'''盒须图,盒式图,箱线图
显示一组数据分散情况的统计图
参数:上边缘,上四分位数,中位数,下四分位数,下边缘,异常值'''
np.random.seed(100)
data=np.random.normal(size=1000,loc=0,scale=1)
plt.boxplot(data,sym='<',whis=1.5)
plt.show()
data1=np.random.normal(size=(1000,4),loc=0,scale=1)
labels=['A','B','C','D']
plt.boxplot(data1,labels=labels)
plt.show()
'''7.颜色和样式'''
import numpy as np
import matplotlib.pyplot as plt
'''1.颜色'''
'''八种内建默认颜色缩写
blue:'b'
green:'g'
red:'r'
cyan:'c'
magenta:'m'
yellow:'y'
black:'k'
white:'w'
其他颜色表示方法
灰色阴影
HTML十六进制
RGB元组
'''
y=np.arange(1,5)
plt.plot(y,color='c')
plt.plot(y+1,color='0.5')
#plt.plot(y+2,color='#FFOOFF')
plt.plot(y+3,color=(0.5,0.1,0.3))
plt.show()
'''2.点、线的样式'''
'''23种点形状。注意:不同点形状默认使用不同的颜色
'.'
','
'o'
'v'
'^'
'<'
'>'
'1'
'2'
'3'
'4'
'8'
's'
'p'
'*'
'h'
'H'
'+'
'x'
'D'
'd'
'|'
'_'
四种线型
- 实线
-- 虚线
-. 点划线
: 点线
'''
plt.plot(y,marker='o',)
plt.plot(y+1,marker='<')
plt.plot(y+2,marker='h')
plt.show()
plt.plot(y,'-',)
plt.plot(y+1,'--')
plt.plot(y+2,'-.')
plt.plot(y+3,':')
plt.show()
'''3.样式字符串
可以将颜色,点型,线型写成一个字符串,如:
cx--
mo:
kp-
'''
plt.plot(y,'cx--',)
plt.plot(y+1,'mo:')
plt.plot(y+2,'bp-')
plt.plot(y+3,'gh-.')
plt.show()
接下篇: 【Python数据可视化】Matplotlib学习笔记之pyplot(2) <<<点此阅读