> 文档中心 > 数据分析系列之matplotlib库的使用

数据分析系列之matplotlib库的使用

目录

前言

一、matplotlib是什么?

二、具体内容

1.安装matplotlib库的几种方式

(1).使用pip理器安装

 (2).通过Aanconda安装

(3).在pycharm中安装(两种方法)

(4).利用清华镜像快速安装第三方库

2.matplotlib库的使用

(1).matplotlib库的导入语法

(2).matplotlib绘制折线图

        1.设置图片大小

        2.调整坐标轴刻度

        3.设置中文显示

         4.设置坐标轴标签和标题

        5.自定义图形风格

        6.设置图例

        7.展示

(3).例子实操:气温变化折线图

        代码展示

        代码结果

(4).绘制其他常用图

        补充:各种图形的功能

        1.直方图(hist)

         2.条形图(bar)

         3.散点图(scatter)

总结:

前言

学过数据分析的伙伴们都知道字不如表,表不如图的基本原则,数据可视化使得数据中的规律、关系更加直观、更加人性化。所以这章我们先来看看数据分析三大工具之一的matplotlib库的一些基本操作。

一、matplotlib是什么?

matplotlib: 最流行的Python底层绘图库,主要做数据可视化图表,名字取材于MATLAB,模仿MATLAB构建,注意matplotlib库属于第三方库,需要自主安装。

二、具体内容

1.安装matplotlib库的几种方式

(1).使用pip理器安装

使用 Python 包管理器 pip 来安装 Matplotlib 是一种最轻量级的方式。打开 CMD 命令提示符窗口,并输入以下命令:

pip install matplotlib

如图所示:

pip安装

 (2).通过Aanconda安装

安装链接:使用Anaconda安装matplotlib - 知乎

(3).在pycharm中安装(两种方法)

方法一:搜索添加

 

 ​​​​

 

 方法二:终端安装

(4).利用清华镜像快速安装第三方库

该方法的突出的作用主要是加快安装速度,而利用清华镜像安装也有两种方式,废话少说,直接上步骤。

方法一:

 

 

 

镜像网址:https://pypi.tuna.tsinghua.edu.cn/simple/

方法二:在终端安装

安装通式:

pip install 第三方库名 -i http://pypi.douban.com/simple/ --trusted-host pypi.douban.com

-i http://pypi.douban.com/simple/ --trusted-host pypi.douban.com:这部分就是清华源的,通用的,我们只需要修改第三方库名即可

 

2.matplotlib库的使用

(1).matplotlib库的导入语法

import matplotlib#导入matplotlib库from matplotlib import *#导入matpotlib库中的所有模块from matplotlib import pyplot as plt#导入matplotlib库中的pyplot模块import matplotlib.pyplot as plt#与上一条一样都是导入pyplot模块

(2).matplotlib绘制折线图

1.设置图片大小

fig=plt.figure(figesize=(20,8),dpi=80)#figure的中文意思是画图,里面的基本参数figesize是定义大小的,dpi参数可以设置清晰度

2.调整坐标轴刻度

plt.xticks(x)#设置x刻度plt.xticks(x[::2])#当刻度过于密集时使用列表步长(间隔取值)来解决,这里是每间隔2个数取值plt.xticks(x[::5],_x_ticks[::5],rotation=90)#_x_ticks[::5]与x[::5]必须一一对应替代,ratation旋转角度,这里是旋转90度。

3.设置中文显示

提醒:查看函数源码,了解函数用法——把光标放在函数前,再ctrl+B,便可以查看该函数的内置源码。

注意:matplotlib默认不支持中文字符,因为默认的英文字体无法显示汉字
        查看linux/mac下面支持的字体:fc-list   à查看支持的字体

        fc-list :lang=zh à查看支持的中文(冒号前面有空格)

        那么问题来了:如何修改matplotlib的默认字体?

        通过matplotlib.rc可以修改,具体方法参见源码(windows/linux)

        通过matplotlib 下的font_manager可以解决(windows/linux/mac)

设置字体步骤:设置字体对象,引用字体对象(传给对应的参数,例如这里设置x轴的字体,那么就给xticks的字体参数fontproperties赋值定义好的字体对象my_font)

下图介绍两种字体设置方式:

下面是我更偏爱的一种修改方式,利用plt.rcParams

import matplotlib.pyplot as pltplt.rcParams['font.sans-serif']=['SimHei'] # 用来显示中文标签plt.rcParams['axes.unicode_minus']=False # 用来显示负号plt.rcParams['figure.figsize'] = (16.0, 10.0) # 调整生成的图表最大尺寸plt.rcParams['figure.dpi'] = 300 # 每英寸点数

只需要在[]里面填入修改的参数类型以及要修改的值就行,相当方便

此外,plt.rcParams还有很多参数可以设置如下:

'figure.dpi': 100.0   每英寸点数'figure.figsize': [6.0, 4.0]  生成的图表最大尺寸'font.size': 10.0  字体大小'hist.bins': 10  直方图分箱个数'lines.linewidth': 1.5  线宽'lines.marker': 'None'  标记样式'savefig.format': 'png'  保存图片的格式'savefig.jpeg_quality': 95  图片质量'text.color': 'black'  文本颜色'timezone': 'UTC'  时区格式

(如果想查看rcParams的全部参数以及默认值可以通过plt.rcParams.keys())

 4.设置坐标轴标签和标题

plt.xlabel("时间",fontproperties=my_font)#设置x轴标签plt.ylabel("温度",fontproperties=my_font)#设置y轴标签plt.title("10点到12点每分钟的时间变化情况",fontproperties=my_font)#设置标题

5.自定义图形风格

 

6.设置图例

设置图例的代码块:

效果展示:

prop其实相当于fontproperties,其他地方设置字体基本都是fontproperties,而这里用来缩写prop,所以只是设置图例这里比较特殊。

7.展示

plt.show()

(3).例子实操:气温变化折线图

假设一天中每隔两个小时(range(2,26,2))的气温()分别[15,13,14.5,17,20,25,26,26,27,22,18,15],通过折线图展示一下气温变化情况。

代码展示

from matplotlib import pyplot as pltimport randomplt.rcParams['font.sans-serif']=['SimHei']#字体类型为黑体plt.rcParams['axes.unicode_minus']=False#表示可以显示负数x=range(0,120)y=[random.randint(20,35)for i in range(120)]plt.figure(figsize=(20,8),dpi=80)#dpi可以调节清晰度,绘制宽为20,高为8的图片plt.plot(x,y)#绘画_xtick_labels=["10点{}分".format(i)for i in range(60)]_xtick_labels+=["11点{}分".format(i)for  i in range(60)]#一个小时60分,统计两个小时plt.xticks(x[::3],_xtick_labels[::3],rotation=45)#x轴刻度旋转45度,注意_xtick_labels[::3]替代x[::3]时要一一对应plt.xlabel("时间")#x轴标签plt.ylabel("温度 单位(℃)")#y轴标签plt.title("10点到12点每分钟的气温变化情况")#标题plt.show()#展示图片

代码结果

(4).绘制其他常用图

补充:各种图形的功能

 注意:个人理解连续性数据是一段一段的,以一段范围的数据为单位

             离散型数据是一个一个的,数据之间互不干扰,独立存在

各种图表的绘制都有其对应的函数,而坐标轴刻度 标签 标题都是跟上面折线图一样的,所以绘制不同的图表,我就只给出对应的图标函数啦。

1.直方图(hist)

补充:

数据分为多少组进行统计???

组数要适当,太少会有较大的统计误差,大多规律不明显

 

 2.条形图(bar)

 3.散点图(scatter)

plt.scatter(x,y)

总结:

        本文仅仅简单介绍了数据分析中的matplotlib库的安装和基本使用方法,而matplotlib库中还有更多便捷的数据分析模块,更多炫酷实用的图形函数值得我们继续学习,生命不息,学习不止,让我们一起加油吧。