Python—Matplotlib基础

一.Matplotlib简介

Matplotlib 能够创建多数类型的图表,如条形图,散点图,条形图,饼图,堆叠图,3D 图和地图图表。
Matplotlib 是 Python 的绘图库。 它可与 NumPy 一起使用,提供了一种有效的 MatLab 开源替代方案。 它也可以和图形工具包一起使用,如 PyQt 和 wxPython。

Matplotlib的安装

(由于我很早之前安装了就部分命令没有截图,所以以下是步骤)

  • pip install matplotlib
    打开cmd命令窗口输入
    如果有提示则说明有问题


    Python—Matplotlib基础_第1张图片
    示例1

    需要安装pip命令或者更新版本

  • pip --version
    查看是否安装pip命令


    示例2

    没有安装pip命令的可以自行百度~

  • python -m pip install -U pip setuptools
    升级版本
  • python -m pip install matplotlib
    进行自动安装
    如果安装好了matplotlib那么就写一个简单的小例子:
  • import matplotlib.pyplot as plt
    这一行导入集成的pyplot,我们将在整个系列中使用它。 我们将pyplot导入为plt,这是使用pylot的 python 程序的传统惯例。
  • plt.plot([1,2,3],[5,7,4])
    我们调用plot的.plot方法绘制一些坐标。 这个.plot需要许多参数,但前两个是'x'和'y'坐标,我们放入列表。 这意味着,根据这些列表我们拥有 3 个坐标:1,5 2,7和3,4。
  • plt.show()
    展示图形


    Python—Matplotlib基础_第2张图片
    示例1

二.图例、标题和标签

Python—Matplotlib基础_第3张图片
示例2

三.条形图和直方图

条形图:


Python—Matplotlib基础_第4张图片
示例3

直方图:
直方图非常像条形图,倾向于通过将区段组合在一起来显示分布


Python—Matplotlib基础_第5张图片
示例3.1

四.散点图

散点图通常用于比较两个变量来寻找相关性或分组,如果你在 3 维绘制则是 3 个。


Python—Matplotlib基础_第6张图片
示例4

五.堆叠图

堆叠图用于显示部分[图片上传中...(AT}16`3%2E@WQ9YSF[~0)YW.png-1f65d7-1561004179741-0)]
对整体随时间的关系。 堆叠图基本上类似于饼图,只是随时间而变化。
让我们考虑一个情况,我们一天有 24 小时,我们想看看我们如何花费时间。 我们将我们的活动分为:睡觉,吃饭,工作和玩耍。
我们假设我们要在 5 天的时间内跟踪它,因此我们的初始数据将如下所示:


Python—Matplotlib基础_第7张图片
示例5

我们可以至少在颜色上看到,我们如何花费我们的时间。 问题是,如果不回头看代码,我们不知道什么颜色是什么。 下一个问题是,对于多边形来说,我们实际上不能为数据添加『标签』。 因此,在任何不止是线条,带有像这样的填充或堆叠图的地方,我们不能以固有方式标记出特定的部分。我们可以解决这个问题:


Python—Matplotlib基础_第8张图片
示例5.1

我们在这里做的是画一些空行,给予它们符合我们的堆叠图的相同颜色,和正确标签。 我们还使它们线宽为 5,使线条在图例中显得较宽。 现在,我们可以很容易地看到,我们如何花费我们的时间。

六.饼图

饼图很像堆叠图,只是它们位于某个时间点。 通常,饼图用于显示部分对于整体的情况,通常以%为单位。


Python—Matplotlib基础_第9张图片
示例6

在plt.pie中,我们需要指定『切片』,这是每个部分的相对大小。 然后,我们指定相应切片的颜色列表。 接下来,我们可以选择指定图形的『起始角度』。 这使你可以在任何地方开始绘图。 在我们的例子中,我们为饼图选择了 90 度角,这意味着第一个部分是一个竖直线条。 接下来,我们可以选择给绘图添加一个字符大小的阴影,然后我们甚至可以使用explode拉出一个切片。
我们总共有四个切片,所以对于explode,如果我们不想拉出任何切片,我们传入0,0,0,0。 如果我们想要拉出第一个切片,我们传入0.1,0,0,0。
最后,我们使用autopct,选择将百分比放置到图表上面。
对于Matplotlib的介绍就先这么多,等以后用到的话在继续增加~
(此文章仅作为个人学习笔记使用,如有错误欢迎指正~)

你可能感兴趣的:(Python—Matplotlib基础)