数据分析的作用:
数据分析可以使我们的数据更加直观,生动和具体,它将复杂的统计数字变的简单化,通俗化,形象化,使人一目了然,便于理解和比较,数据分析图直观的展示统计信息,使我们能够快速的了解数据变化的趋势,数据比较的结果以及占比
图表的基本组成:
一张完整的图表一般包括画布,图表标题,绘图区,数据系列,坐标轴,坐标轴标题,图例,文本标签,网格线组成
各部分的功能:
(1)画布:图表的容器,最大的白色区域
(2)图表标题:用来概括图标的的文字
(3)绘图区:画布中的一部分,显示图形的矩形区域
(4)数据系列:在数据区域中,同一行或同一列数据集合构成一组数据系列
(5)坐标轴及坐标轴标题:标识数值大小以及分类的垂直线和水平线,x轴,y轴
(6)图例:图表中系列区域的符号、颜色或者形状系列替代的内容
(7)文本标签:用于为数据系列添加说明文字
(8)网格线:贯穿绘图区的线条,类似标尺可以衡量数据的标准
Matplotlin概述:
maplotlib是最基础的python可视化库,学习python的数据可视化
设置画布 figure()
参数说明:
num:图像编号或名称,数字为编号,字符串为名称,可以通过该参数激活不同的画布
figsize:指定画布的宽和高,单位为英寸
facecolor:背景颜色。
edgecolor:边框颜色。
frameon:是否显示边框,默认值为True,绘制边框;如果为False,则不绘制边框
基本绘图plot函数
参数说明:
x:x轴数据
y:y轴数据
format_string:控制曲线格式的字符串,包括颜色、线条样式和标记样式
kwargs:键值参数,相当于一个字典,比如输入参数为(1,2,3,4,k,a=1,b=2,c=3),*args=(1,2,3,4,k),**kwargs={'a':'1,'b':2,'c':3}
颜色设置 color
color参数可以设置线条的颜色,颜色值如下
设置值 | 说明 | 设置值 | 说明 |
b | 蓝色 | m | 洋红色 |
g | 绿色 | y | 黄色 |
r | 红色 | k | 黑色 |
c | 蓝绿色 | w | 白色 |
#FFFF00 | 黄色。十六进制颜色值 | 0.5 | 灰度值字符串 |
线条样式 linestyle()
“-”:实线,默认值。 “--”:双画线 “-.”:点画线。 “:”:虚线。
标记样式 marker
标记 | 说明 | 标记 | 说明 | 标记 | 说明 |
---|---|---|---|---|---|
. | 点标记 | 1 | 下花三角标记 | h | 整六边形标记 |
, | 像素标记 | 2 | 上花三角标记 | H | 横六边形标记 |
o | 实心圆标记 | 3 | 左花三角标记 | + | 加号标记 |
v | 倒三角标记 | 4 | 右花三角标记 | x | 叉号标记 |
^ | 上三角标记 | s | 实心正方形标记 | D | 大菱形标记 |
> | 右三角标记 | P | 实心五角星标记 | d | 小菱形标记 |
< | 左三角标记 | * | 星形标记 | | | 垂直线标记 |
设置坐标轴
x轴,y轴标题 xlable() ylable()
(1)解决中文乱码问题,代码如下:
plt.rcParams['font.sans-serif']=['SimHei'] #解决中文乱码
(2)解决负号不显示问题,代码如下:
plt.rcParams['axes.unicode_minus'] = False #解决负号不显示
坐标轴刻度 xticks() yticks()
参数说明
locs:数组,表示x轴上的刻度
labels:也是数组,默认值和locs相同。locs表示位置,而labels则决定该位置上的标签,如果赋予labels空值,则x轴将只有刻度而不显示任何值
坐标轴范围 xlim() ylim()
网格线 grid()
grid()函数也有很多参数,如颜色、网格线的方向(参数axis='x'隐藏x轴网格线,axis='y'隐藏y轴网格线)、网格线样式linestyle()和网格线宽度等linewidth
添加文本标签 text()
参数说明
hx:x坐标轴的值。
y:y坐标轴的值。
s:字符串,注释内容。
fontdict:字典,可选参数,默认值为None。用于重写默认文本属性。
withdash:布尔型,默认值为False,创建一个TexWithDash实例,而不是Text实例。
kwargs:关键字参数。这里指通用的绘图参数,如字体大小fontsize=12、垂直对齐方式horizontalalignment='center'(或简写为ha='center')、水平对齐方式verticalalignment='center'(或简写为va='center')
设置标题和图例
图表标题 title()
参数说明:
label:字符串,表示图表标题文本。
fontdict:字典,用来设置标题字体的样式。如{'fontsize': 20,'fontweight':20,'va': 'bottom','ha':'center'}。
loc:字符串,表示标题水平位置,参数值为center、left或right,分别表示水平居中、水平居左和水平居右,默认为水平居中。
pad:浮点型,表示标题离图表顶部的距离,默认值为None。
kwargs:关键字参数,可以设置一些其他文本属性。 例如,设置图表标题为“14天基础体温曲线图”,主要代码如下:plt.title('14天基础体温曲线图',fontsize='18')
图表图例 legend()
可以自动添加也可以手动添加
loc参数可以设置图例的显示位置
位置(字符串) | 描述 | 位置(字符串) | 描述 |
---|---|---|---|
best | 自适应 | center left | 左侧中间位置 |
upper right | 右上方 | center right | 右侧中间位置 |
upper left | 左上方 | upper center | 上方中间位置 |
lower left | 左下方 | lower cente | 下方中间位置 |
lower right | 右下方 | center | 正中央 |
right | 右侧 |
添加注释 annotate()
支持带箭头的画线工具,方便我们在合适的位置添加描述信息
xy:被注释的坐标点,二维元组,如(x,y)。
xytext:注释文本的坐标点(也就是本示例中箭头的位置),也是二维元组,默认与xy相同。
xycoords:是被注释点的坐标系属性
设置值 | 说明 |
---|---|
figure points | 以绘图区左下角为参考,单位是点数 |
figure pixels | 以绘图区左下角为参考,单位是像素数 |
figure fraction | 以绘图区左下角为参考,单位是百分比 |
axes points | 以子绘图区左下角为参考,单位是点数 |
axes pixcls | 以子绘图区左下角为参考,单位是像素数 |
axes fraction | 以子绘图区左下角为参考,单位是百分比 |
data | 以被注释的坐标点xy为参考 |
polar | 不使用本地数据坐标系,使用极坐标系 |
arrowprops:箭头的样式,dict(字典)型数据。如果该属性非空,则会在注释文本和被注释点之间画一个箭头
设置值 | 说明 |
---|---|
width | 箭头的宽度(单位是点) |
headwidth | 箭头头部的宽度 |
headlength | 箭头头部的长度 |
shrink | 箭头两端收缩的百分比(占总长) |
? | 任何matplotlib.pathches.Fabcy.ArrowPatch关键字 |
调整图表与画布边缘间距 subplots_adjust()
参数说明: left、bottom、right和top:这4个参数是用来调整上、下、左、右的空白,
注意这里是从画布的左下角开始标记,取值为0~1。left和bottom值越小,则空白越少;而right和top值越大,则空白越少。
wspace和hspace:用于调整列间距和行间距。
坐标轴的刻度线 tick_params()
设置x轴和y轴的刻度线显示方向,其中in表示向内,out表示向外,inout表示在中间,默认刻度线向外
plt.rcParams['xtick.direction'] = 'in'
坐标轴相关属性设置
axis():返回当前axes范围。
axis(v):通过输入v = [xmin, xmax, ymin, ymax],设置x、y轴的取值范围。
axis('off'):关闭坐标轴轴线及坐标轴标签。
axis('equal'):使x、y轴长度一致。
axis('scaled'):调整图框的尺寸(而不是改变坐标轴取值范围),使x、y轴长度一致。
axis('tight'):改变x轴和y轴的限制,使所有数据被展示。如果所有的数据已经显示,它将移动到图形的中心而不修改(xmax~xmin)或(ymax~ymin)。
axis('image'):缩放axis范围(limits),等同于对data缩放范围。
axis('auto'):自动缩放。
axis('normal'):不推荐使用。恢复默认状态,轴限的自动缩放以使数据显示在图表中。