数据分析系列|数据分析系列之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

如图所示:
数据分析系列|数据分析系列之matplotlib库的使用
文章图片

(2).通过Aanconda安装
安装链接:使用Anaconda安装matplotlib - 知乎
(3).在pycharm中安装(两种方法)
方法一:搜索添加
数据分析系列|数据分析系列之matplotlib库的使用
文章图片

数据分析系列|数据分析系列之matplotlib库的使用
文章图片



????数据分析系列|数据分析系列之matplotlib库的使用
文章图片

数据分析系列|数据分析系列之matplotlib库的使用
文章图片



方法二:终端安装
数据分析系列|数据分析系列之matplotlib库的使用
文章图片

(4).利用清华镜像快速安装第三方库
该方法的突出的作用主要是加快安装速度,而利用清华镜像安装也有两种方式,废话少说,直接上步骤。
方法一:
数据分析系列|数据分析系列之matplotlib库的使用
文章图片

数据分析系列|数据分析系列之matplotlib库的使用
文章图片
数据分析系列|数据分析系列之matplotlib库的使用
文章图片
数据分析系列|数据分析系列之matplotlib库的使用
文章图片
数据分析系列|数据分析系列之matplotlib库的使用
文章图片

数据分析系列|数据分析系列之matplotlib库的使用
文章图片

数据分析系列|数据分析系列之matplotlib库的使用
文章图片

镜像网址: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:这部分就是清华源的,通用的,我们只需要修改第三方库名即可
数据分析系列|数据分析系列之matplotlib库的使用
文章图片


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)
下图介绍两种字体设置方式:
数据分析系列|数据分析系列之matplotlib库的使用
文章图片

下面是我更偏爱的一种修改方式,利用plt.rcParams
import matplotlib.pyplot as plt plt.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.自定义图形风格
数据分析系列|数据分析系列之matplotlib库的使用
文章图片

数据分析系列|数据分析系列之matplotlib库的使用
文章图片

6.设置图例
设置图例的代码块:
数据分析系列|数据分析系列之matplotlib库的使用
文章图片

效果展示:
数据分析系列|数据分析系列之matplotlib库的使用
文章图片

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 plt import random plt.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)fori 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()#展示图片

代码结果
数据分析系列|数据分析系列之matplotlib库的使用
文章图片


(4).绘制其他常用图 补充:各种图形的功能
数据分析系列|数据分析系列之matplotlib库的使用
文章图片

注意:个人理解连续性数据是一段一段的,以一段范围的数据为单位
离散型数据是一个一个的,数据之间互不干扰,独立存在
各种图表的绘制都有其对应的函数,而坐标轴刻度 标签 标题都是跟上面折线图一样的,所以绘制不同的图表,我就只给出对应的图标函数啦。
1.直方图(hist)
补充:
把数据分为多少组进行统计???
组数要适当,太少会有较大的统计误差,大多规律不明显
数据分析系列|数据分析系列之matplotlib库的使用
文章图片

数据分析系列|数据分析系列之matplotlib库的使用
文章图片

2.条形图(bar)
数据分析系列|数据分析系列之matplotlib库的使用
文章图片

3.散点图(scatter)
plt.scatter(x,y)

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

    推荐阅读