欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Python数据可视化之matplotlib实践(1.入门)

程序员文章站 2022-03-22 16:55:57
...

**

一、Python可视化之matplotlib的入门技术*

学习环境:Anaconda

用到的编辑软件:Spder(Python 3.7)

学习内容:
使用matplotlib库绘制基本统计图像。
matplotlib库的图表组成元素的概念和实现方法
细化matplotlib库的图形内容基本操作方法

1.1绘制matplotlib图表组成元素的主要函数
Python数据可视化之matplotlib实践(1.入门)
画布:在一个图形输入窗口中,底层是一个figure实例,我们称之为画布。在画布上显示图形,图形有坐标轴,刻度,标签,线,标记等,称之为Axes实例。

matplotlib提供多种API函数,例如matplotlib.pyplot.xlim()和matplotlib.pyplot.ylim()控制x轴和y轴的数值显示范围

1.2准备数据

导入第三方包科学计算包Numpy和快速绘图模块pyplot。
其中matplotlib库实在Numpy基础上进行绘图的,数据生成代码如下:

import matplotlib.pyplot as plt  #导入pyplot绘图模块
import numpy as np  #导入numpy包
x = np.linspace(0.5,3.5,100)
y = np.sin(x)
y1 = np.random.randn(100)

注释:
函数np.linspace(0.5,3.5,100)表示在0.5至3.5之间均匀地取100个数。
函数np.random.randn(100)表示在标准正太分布中随机地取100个数。

1.3绘制matplotlib图表组成元素的函数用法

1.3.1函数plot()

函数功能:展示变量的变化趋势

函数样例:plt.plot(x, y, ls = ‘-’, lw = 2, label = ‘plot figure’)

参数说明:
ls:线条风格
lw:线条宽度
label:标签文本

代码展示:

#-*-coding: UTF-8 -*-
import matplotlib.pyplot as plt
import numpy as np
 
x = np.linspace(0.05, 10, 1000)
y = np.cos(x)
 
plt.plot(x, y, ls='-', lw=2, label='plot figure')
plt.legend()  #显示label标签
plt.show()

运行结果:
Python数据可视化之matplotlib实践(1.入门)
扩展代码:

import matplotlib.pyplot as plt
import numpy as np
x = np.linspace(0.05, 10, 10)
y = np.cos(x) 
plt.plot(x, y, ls = '-', lw = 2, label = 'plot figure', color = 'r', marker = 's',markersize = 10)
plt.legend()  #显示label标签
plt.show()

运行结果:
Python数据可视化之matplotlib实践(1.入门)
ls参数:
Python数据可视化之matplotlib实践(1.入门)
color参数:
Python数据可视化之matplotlib实践(1.入门)
marker参数:
Python数据可视化之matplotlib实践(1.入门)
Python数据可视化之matplotlib实践(1.入门)
1.3.2函数scatter()

函数功能:寻找变量之间的关系

函数样例:plt.scatter(x, y, c = ‘b’, label = ‘scatter figure’)

参数说明:
c:颜色(取color首字母)

代码如下:

#-*-coding: UTF-8 -*-
import matplotlib.pyplot as plt
import numpy as np
x = np.linspace(0.05, 10, 1000)
y = np.random.rand(1000) 
#rand: 均匀分布
plt.scatter(x, y, c='r', label='scatter figure')
plt.legend()
plt.show()

运行结果:
Python数据可视化之matplotlib实践(1.入门)
1.3.3 函数xlim()

函数功能:设置x轴的数值范围显示范围

函数样例:plt.xlim(xmin,xmax)

参数说明:
xmin,xmax:轴的数值显示范围
同理,plt.ylim(ymin,ymax)用来设置y轴的数值显示范围

代码展示:

import matplotlib.pyplot as plt
import numpy as np
x = np.linspace(0.05, 10, 1000)
y = np.random.rand(1000)
plt.scatter(x, y, label='scatter figure')
plt.legend()
plt.xlim(0.05, 10)   #x轴的显示范围
plt.ylim(0, 1)          #y轴的显示范围
plt.show()

运行结果:
Python数据可视化之matplotlib实践(1.入门)
1.3.4函数xlabel()

函数功能:设置x轴的标签文本

函数样例:plt.xlabel(string)

参数说明:
string:标签的内容
同理,plt.ylabel(string)用来设置y轴的标签文本

代码样例:

#-*-coding: UTF-8 -*-
import matplotlib.pyplot as plt
import numpy as np
x = np.linspace(0.05, 10, 1000)
y = np.sin(x)
plt.plot(x, y, ls='-.', lw =2, c='c', label='plot figure')
plt.legend()
plt.xlabel('x-axis') #x轴标签
plt.ylabel('y-axis') #y轴标签
plt.show()

运行结果:
Python数据可视化之matplotlib实践(1.入门)
1.3.5函数grid()

函数功能:绘制刻度线的网格线

函数样例:plt.grid(ls = ‘:’, color = ‘r’)

参数说明:
ls:网格线的线条风格
color:网格线颜色

代码样例:

#-*-coding: UTF-8 -*-
import matplotlib.pyplot as plt
import numpy as np
x = np.linspace(0.05, 10, 1000)
y = np.sin(x)
plt.plot(x, y, ls='-.', lw =2, c='c', label='plot figure')
plt.legend()
plt.grid(ls=':', c='r', lw=2)
#功能:绘制刻度线的网格线
#ls:线条风格
#c: 线条颜色
#lw:线条宽度
plt.show()

运行结果:
Python数据可视化之matplotlib实践(1.入门)
1.3.6函数axhline()

函数功能:绘制平行于x轴的水平参考线

函数样例:plt.axhline(y=0.0, c=’r’, ls=’–’, lw=2)

参数说明:
y: 水平参考线的位置
同理,plt.axvline(x=0.0, c=’r’, ls=’–’, lw=2) 绘制垂直于x轴的垂直参考线

函数样例:

#-*-coding: UTF-8 -*-
import matplotlib.pyplot as plt
import numpy as np
x = np.linspace(0.05, 10, 1000)
y = np.sin(x)
plt.plot(x, y, ls='-.', lw =2, c='c', label='plot figure')
plt.legend()
plt.axhline(y=0, c='r', ls='--', lw=2)
#绘制平行于x轴的水平参考线
plt.axvline(x=4, c='k', ls='--', lw=2)
#绘制垂直于x轴的垂直参考线
plt.show()

运行结果:
Python数据可视化之matplotlib实践(1.入门)
1.3.7函数axvspan()

函数功能:绘制垂直于x轴的参考区域

函数样例:plt.axvspan(xmin=1, xmax=2, facecolor=’y’, alpha=0.3)

参数说明:
xmin,xmax: 参考区域的起始位置和终止位置
facecolor: 参考区域的填充颜色
alpha: 参考区域的填充颜色的透明度
同理,plt.axhspan(ymin=1.0, ymax=2.0, facecolor=’y’, alpha=0.3)表示绘制平行于x轴的参考区域。

代码样例:

#-*-coding: UTF-8 -*-
import matplotlib.pyplot as plt
import numpy as np
x = np.linspace(0.05, 10, 1000)
y = np.sin(x)
plt.plot(x, y, ls='-.', lw =2, c='c', label='plot figure')
plt.legend()
plt.axhspan(ymin=0, ymax=0.5, facecolor='y', alpha=0.5)
#绘制平行于x轴的参考区域, alpha:透明度
plt.axvspan(xmin=4, xmax=6, facecolor='r', alpha=0.3)
#绘制垂直于x轴的参考区域
plt.show()

运行结果:
Python数据可视化之matplotlib实践(1.入门)