Python数据分析8——Matplotlib基本绘图

目录

一.Matplotlib介绍安装

Matplotlib介绍

作用

Matplotlib安装

二.使用Matplotlib绘制基本图形 

1.折线图

折线图绘制

折线图特点

2.plt基本方法——图形的基本设置

方法

中文显示问题及负数显示

使用Jupyter的plt.show()不直接显示图像问题

添加注释文本

3. 条形图

条形图绘制

条形图特点 

4.饼图

饼图绘制

饼图特点

5.直方图

直方图绘制

直方图特点

6.箱线图

绘制箱线图

箱线图特点 

7.散点图

散点图绘制

散点图特点 

8.雷达图

绘制雷达图

雷达图特点


一.Matplotlib介绍安装

Matplotlib介绍

Matplotlib是一个Python的基本绘图库,它可以和Numpy一起使用。代替Matlab的一些功能。

作用

1.将数据进行可视化,使数据更直观;

2.使数据更加更具有说服力;

Matplotlib安装

由于Matplotlib是第三方库,所以我们需要安装它才可以使用。

安装命令:pip install matplotlib

安装参考:Installation — Matplotlib 3.5.2 documentationhttps://matplotlib.org/stable/users/installing/index.html

二.使用Matplotlib绘制基本图形 

1.折线图

折线图绘制

方法:plot()函数

plt.plot(x,y)——默认的线样式及颜色绘制x,y构建的图形

实例:

参数:

        (1)color        设置线的颜色;

        (2)linestyle        设置线的样式;

        (3)marker        标记样式;

        (4)markerfacecolor        标记样式的颜色;

        (5)markersize        标记样式的大小;

样式表:

等......

实例:

折线图特点

能够显示数据的变化趋势,反应事物的变化情况。

2.plt基本方法——图形的基本设置

方法

方法                                                                                                                        

描述
plt.figure(figure=None,dpi=None)生成新的图片,figsize:图片大小,dpi:透明度
plt.savefig(fname)保存图片
plt.xticks(ticks=None)设置x轴刻度的值
plt.yticks(ticks=None)设置y轴刻度的值
plt.xlabel(xlabel)设置x轴标签
plt.ylabel(ylabel)设置y轴标签
plt.title()设置图标题
plt.grid()根据x轴和y轴的数值展示轴网络

实例:

 

中文显示问题及负数显示

当我们要设置轴标签,标题等,通常会使用中文,但是,我们的Matplotlib默认不会显示中文。

方法一:

import matplotlib
font = {
    'family':'SimHei',
    'weight':'bold',
    'size':12
}
matplotlib.rc("font", **font)

 

方法二:

import matplotlib.pyplot as plt
plt.rcParams['font.sans-serif'] = ['SimHei'] # 步骤一(替换sans-serif字体)
plt.rcParams['axes.unicode_minus'] = False   # 步骤二(解决坐标轴负数的负号显示问题)

方法三:

from matplotlib import pyplot as plt
from matplotlib.font_manager import FontProperties 
font = FontProperties(fname=r"c:\windows\fonts\simsun.ttc", size=14)
x = [1,2,3,4]
y = [3,2,1,3]

plt.plot(x,y)
plt.xlabel("x轴标签",fontproperties=font)
plt.show()

使用Jupyter的plt.show()不直接显示图像问题

当我们使用Jupyter来使用Matplotlib绘制图形时,一般会自动显示图形,但由于有些Python的版本问题,我们需要进行一些设置,否则会出现这样的情况:

 

在导包的时候引入配置项:

方法一:

import matplotlib
matplotlib.use('TkAgg')   # 在一个新窗口打开图形

方法二:

%matplotlib inline    # 推荐使用:正常显示

添加注释文本

plt.annotate() 基本使用

(1)text        要注释的文本;

(2)xy        需要注释点的坐标;

(3)xytext        注释文本的坐标;

(4)arrowprops        是箭头的样式属性;

实例:

3. 条形图

条形图绘制

方法:bar()函数;

plt.bar(x, height)        # 绘制以x为x轴位置,height为y轴位置的竖型条形图;

实例:

 

plt.barh(y,width)        # 绘制以y为y轴位置,weight为x轴位置的水平条形图;

实例:

条形图特点 

(1)能够使人们一眼看出各个数据的大小;

(2)易于比较数据之间的区别;

4.饼图

饼图绘制

方法:pie()函数;

plt.axes(aspect='equal')   # 保住饼图是圆  不是默认椭圆

plt.pie(x)        # 绘制饼图

参数:

        (1)x        饼图的数据;

        (2)label        数据的标签名称;

        (3)autopct        百分比数据标签;

        (4)colors        设置自定义颜色;

        (5)redius        设置饼图半径;

        (6)center        设置原点;

        (7)labeldistance        标签与圆心距离;

        (8)textprops        设置文本标签的属性值;

        (9)pctdistance        占比和图的距离;

        (10)explode        设置分块突出某数据;

        (11)shadow        设置阴影;

等......

plt.pie()有三个返回值

(1)patches        绘制饼图每一块的对象;

(2)texts        文本的列表;

(3)autotexts        百分比的文本列表;

实例:

饼图特点

通常用来描述量、频率和百分比之间的关系。在饼图中,每个扇区的弧长大小为其所表示的数量的比例。

 

5.直方图

直方图绘制

方法:hist()函数

plt.hist(x,bins=None)        #绘制以x为数值,bins为组数

返回值:

(1) nums 每个区间值出现的个数   
(2) bins 区间的值   
(3)patches 每根柱子的对象

实例:

直方图特点

 绘制连续性的数据,展示一组或多组数据的分布情况。

6.箱线图

绘制箱线图

方法:boxplot()函数;

plt.boxplot()

参数

(1)x:需要绘制的箱线图的数据;

(2)notch:是否展示置信区间 默认为False;

(3)sym:代表异常点的符号表示 默认为原点;

(4)vert:是否是垂直的 默认是True;

(5)whis:上下限系数 默认为1.5;

(6)positions:设置每个盒子的宽度;

(7)widths:设置每个盒子的宽度;

(8)labels:每个盒子的label;

(9)meanline和showmean:都为True的时候会展示平均线;

实例:

箱线图特点 

箱线图是一种直观简洁的方式去呈现一组数据的分布。箱线图广泛用于各种数据分析领域,它能非常简单明了地显示一组数据中5个重要的数值,并且还能发现一组数据中存在的异常值。

7.散点图

散点图绘制

方法:scatter()函数;

plt.scatter(x,y)        # 以默认的形状颜色等绘制散点图;

实例:

散点图特点 

判断两变量之间是否存在某种关联或总结坐标点的分布模式,判断变量之间是否存在某种关联或总结坐标点的分布模式。

8.雷达图

绘制雷达图

方法:polar()函数;

绘制雷达图的参数与plt.plot()(折线图)非常相似,只不过是x轴的坐标点应该为弧度(2*PI=360度)。

实例:

 

注意:

(1)因为 polar 并不会完成线条闭合绘制,所以我们在绘制的时候需要在 theta 和 values 中最后多重复添加第0个位置的值,然后在绘制的时候就可以和第一个点进行闭合了。

(2)polar 只是绘制线条,所以想要把里面进行颜色填充,那么需要调用 fill 函数的实现。

(3)polar 默认的圆圈坐标是角度,如果我们想要改成文字显示,那么可以通过 xticks来设置。

雷达图特点

雷达图又被叫做蜘蛛网图,适用于显示三个或更多维度的变量的强弱情况。比如某个企业在哪些业务方面的投入等,都可以用雷达图方便的表示。