Python编程数据分析篇之Matplotlib

Python编程数据分析篇之Matplotlib

Matplotlib介绍#

什么是Matplotlib

Matplotlib是Python的一个基础绘图库,它可与Numpy一起使用,代替Matlab使用。

为什么要学习Matplotlib

  • 将数据进行可视化,使数据更直观
  • 使数据更具有说服力
  • 直观筛选数据的异常值
  • 为数据建模提供灵感

Matplotlib安装

由于Matplotlib是第三方库,所以我们需要安装它才可以使用。注意,Matplotlib3.0要求Python3版本才可安装使用。

安装命令: pip install Matplotlib

安装可参考官网:https://matplotlib.org/users/installing.html

Matplotlib绘图

图片与子图

Matplotlib所绘制的图位于图片(Figure)对象中。我们可以通过plt.figure生成一个新的图片
代码如下(示例):

import matplotlib.pyplot as plt
fig = plt.figure()

注意:
在IPython中,执行该代码一个空白的绘图窗口就会出现,但在Jupyter中则没有任何显示。但是,可以通过plt.subplot创建一个或多个子图。
**plt.subplot()**有返回值

除此之外,Matplotlib包含一个便捷方法plt.subplots创建一个新的图片,然后返回包含了已生成子图对象的Numpy数组。

  • plt.subplots(nrows,ncols,sharex,sharey)
    nrows:子图的行数
    ncols:子图的列数
    sharex:默认False,共享x轴
    sharey:默认False,共享y轴
    代码如下(示例):
import matplotlib.pyplot as plt

fig, axes = plt.subplots(2,2,sharex=True,sharey=True,figsize=(14,8))
axes[0,0].scatter(range(5), range(5))  # 选取第一张子图并绘制散点图
axes[0,1].scatter(range(5), list(range(5))[::-1])  # 选取第二张子图并绘制散点图  

# 调整子图之间的间距
plt.subplots_adjust(wspace=0, hspace=0)

# 展示图片
plt.show()

注意:
plt.subplots有两个返回值fig,ax

实际上,当我们不需要使用子图时,可以直接使用plt对象绘制图形。

Matplotlib绘制图形

matplotlib能够绘制折线图,散点图,条形图,直方图和饼图等。
具体可参考:https://matplotlib.org/stable/gallery/index.html

折线图

折线图介绍

折线图以折线的上升或下降来表示统计数量的增减变化的统计图。

特点:能够显示数据的变化趋势,反映事物的变化情况

折线图绘制

  • plt.plot()
    在这里插入图片描述

  • plt.subplots()
    在这里插入图片描述
    注意:

  • 第一种方法之所以能够直接使用plt对象调用plot()方法是因为默认使用的当前坐标轴。第二种方法是正常的逻辑,即使用plt.subplots()生成两个对象fig(画布或图片)和ax(坐标轴),再用ax调用plot()方法,也就是ax.plot()进行画图。

  • 一块画布fig上可以画多张图,而每一张图都有一个的坐标轴,所以可以通过每张图的坐标轴调用plot()方法来指定在哪张图上画图。

  • plt.plot()可以直接画图而没有指定坐标轴,是因为它默认在当前轴上进行画图操作。

marker参数的使用说明
在这里插入图片描述

参数linstyle的使用说明
在这里插入图片描述
参数color的使用说明
在这里插入图片描述

图形组成

实际上,图形的组成除了x,y轴还有很多组件。如下图:
在这里插入图片描述

方法 描述
plt.figure(figsize=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) 设置x轴标签
plt.title() 设置图片标题
plt.grid() 根据x轴和y轴的数值展示轴网格

中文显示问题

# 法一
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.font_manager import FontProperties

font = FontProperties(fname=f'c:\windows\fonts\simsun.ttc',size=14) # 相当于将windows中的这个字体注册到了matplotlib字体库中
plt.xitcks(x_t,fontproperties=font)

添加注释文本

plt.annotate() 基本使用

  • text:要注释的文本
  • xy:需要注释的点的坐标
  • xytext:注释文本的坐标
  • arrowprops:箭头的样式属性

散点图

散点图介绍

散点图用两

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值