1、常见的图形种类及意义
- 折线图:以折现的上升或下降来表示统计数量的增减变化的统计图
特点:能够显示数据的变化趋势,反应事物的变化情况。(变化)
- 散点图:用两组数据构成多个坐标点,考察坐标点的分布,判断两变量之间是否存在某种关联或总结坐标点的分布模式
特点:判断变量之间是否存在数量关联趋势,展示离群点(分布规律)
- 柱状图:排列在工作表的列或行中的数据可以绘制到柱状图中。
特点:绘制连离散的数据,能够一眼看出各数组的大小,比较数据之间的差别(统计)
- 直方图:由一系列高度不等的纵向条纹或线段表示数据分布的情况。一般用横轴表示数据范围
特点:绘制连续性的数据展示一组或者多组数据的分布状况(统计)
- 饼图(略)
2、Matplotlib画图的简单实现
#导入模块,两种导入方式 #import matplotlib.pyplot as plt from matplotlib import pyplot as plt #在jupyter中执行的时候显示图片,相当于plt.show() #用其他的开发环境的时候不能用这句 %matplotlib inline #传入数据,二维坐标数据,用x、y表示 #x和y的数量必须一一对应,因为是坐标值 x = [1, 0, 9] y = [2, 5, 2] plt.plot(x, y) plt.show()
matplotlib.plot(*args, **kwargs):在画布上绘制图表函数
matplotlib.subplot(*args, **kwargs):功能同plot函数相同,区别是subplot可以在一个画布上绘制多个图表
这个例子完成了一个最简单的图表的绘制,涉及两个函数matplotlib.plt和matplotlib.show(绘制然后显示),需要提供坐标数据
3、对Matplotlib图像结构的认识
注:此图非常重要,要在脑中记住
解析图片:
- 画布(plt.figure()):Figure,想象成现实中的画布,然后再画布上绘制图表,可以绘制多个。
plt.figure(num=None, figsize=None, dpi=None, facecolor=None, edgecolor=None, frameon=True, FigureClass=<class 'matplotlib.figure.Figure'>, clear=False, **kwargs):这个函数可以设置画布的信息
num:大致相当于画布对象的名字,因为可能有多个画布对象,每个画布对象需要num表示,比如“a”画布、‘b’画布,多个画布的话需要用到plt.close():关闭figure对象
figsize:画布尺寸
dpi:画布像素个数
facecolor:背景颜色
edgecolor:边框颜色
frameon:默认True为可以绘制边框,如果是False则是禁止绘制边框
FigureClass:派生类
clear:重建figure实例
- 折线图:plt.plot()
- 散点图:plt.scatter()
- 网格:plt.grid()
- x轴:标题、标签、刻度
- y轴:标题、标签、刻度
- 图形标题:plt.title
- 图例说明:legend
- 绘图区边框:spines
- 中文的显示
以上就是图像结构包含的元素,这些元素都可以自己通过plt.XXX函数来设置,得到自己想要的图形,只需要提供数据就行,所以这个图形结构很重要。
下面就是对以上介绍的元素进行设置的基本流程及代码实现
4、绘制折线图(plt.plot())
from matplotlib import pyplot as plt x = range(1, 8) #X轴的位置,从1到7共7个 y = [random.randint(11, 19) for i in range(1, 8)] plt.plot(x, y) #注意,这里的plot函数隐藏着迭代功能,因为这行代码 #相当于plt.plot(range(1, 8), y),python弱语言的体现 plt.show()
plt.plot(*args, **kwargs)函数的使用:通过对参数的设定,可以控制折线的不同表现形式,比如折线的颜色、折线的透明度、折线的形式、折线的宽度等等
color、alpha、linestyle、linewidth、marker(折点的样式)
5、plt.figure
6、绘制x、y轴的刻度:plt.xticks()、plt.yticks()