Python绘图库Matplotlib的基本用法

 更新时间:2021年05月06日 10:00:35   作者:Apple-yeran  
这篇文章主要介绍了Python绘图库Matplotlib的基本用法,文中有非常详细的代码示例,对正在学习python的小伙伴们有非常好的帮助,需要的朋友可以参考下

一、前言

Matplotlib是Python的绘图库,不仅具备强大的绘图功能,还能够在很多平台上使用,和Jupyter Notebook有极强的兼容性。

二、线型图

import matplotlib.pyplot as plt
import numpy as np

# 指定生成随机数的种子,这样每次运行得到的随机数都是相同的
np.random.seed(42)
# 生成30个满足平均值为0、方差为1的正态分布的样本
x = np.random.randn(30)
# plot本意有“绘制(图表)”的意思,所以下面这一行代码是绘制图表。r指定绘制的线条颜色为红色,o指定标记实际点使用的形状为圆形,--指定线条形状为虚线
plt.plot(x, "r--o")
# 显示图表
plt.show()

在这里插入图片描述

三、线条颜色、标记形状和线型

线条颜色常用参数:

  • “b”:指定绘制的线条颜色为蓝色。
  • “g”:指定绘制的线条颜色为绿色。
  • “r”:指定绘制的线条颜色为红色。
  • “c”:指定绘制的线条颜色为蓝绿色。
  • “m”:指定绘制的线条颜色为洋红色。
  • “y”:指定绘制的线条颜色为黄色。
  • “k”:指定绘制的线条颜色为黑色。
  • “w”:指定绘制的线条颜色为白色。

标记形状常用参数:

  • “o”:指定标记实际点使用的形状为圆形。
  • “*”:指定标记实际点使用的形状为星形。
  • “+”:指定标记实际点使用的形状为加号形状。
  • “x”:指定标记实际点使用的形状为x形状。

线型常用参数:

  • “-”:指定线条形状为实线。
  • “–”:指定线条形状为虚线。
  • “-.”:指定线条形状为点实线。
  • “:”:指定线条形状为点线。
import matplotlib.pyplot as plt
import numpy as np

# 未指定种子的值,所以最终产生的随机数不同
# randn()生成30个满足平均值为0、方差为1的正态分布的样本
a = np.random.randn(30)
b = np.random.randn(30)
c = np.random.randn(30)
d = np.random.randn(30)

# a:红色,虚线,圆形;b:蓝色,实线,星号;c:绿色,点实线,加号;d:洋红色,点线,x形状
plt.plot(a, "r--o", b, "b-*", c, "g-.+", d, "m:x")
plt.show(

在这里插入图片描述

四、标签和图例

为了让绘制的图像更易理解,我们可以增加一些绘制图像的说明,一般是添加图像的轴标签图例,如下面的例子所示:

import matplotlib.pyplot as plt
import numpy as np

np.random.seed(42)
x = np.random.randn(30)
y = np.random.randn(30)

# 图表标题
plt.title("Example")
# 图表标签
plt.xlabel("X")
plt.ylabel("Y")

# X, Y后面的逗号去掉会报出警告
X, = plt.plot(x, "r--o")
Y, = plt.plot(y, "b-*")
# 图例显示(显示图片右上角的图例)
# legend()有两个列表参数,第一个列表参数是图中实际使用的标记和线性,第二个列表参数是对应图例的文字描述
# legend本意:传奇、图例、解释、说明,这里是图例的意思
plt.legend([X, Y], ["X", "Y"])

plt.show()

在这里插入图片描述

五、子图

当需要将多个图像同时在不同的位置显示,则需要用到子图(Subplot)的功能。

import matplotlib.pyplot as plt
import numpy as np

# 未指定随机数种子的值
a = np.random.randn(30)
b = np.random.randn(30)
c = np.random.randn(30)
d = np.random.randn(30)

# 定义一个实例fig,相当于子图最外面的大图
fig = plt.figure()
# 向fig实例中添加需要的子图,前两个参数表示把大图分成了2行2列,最后一个参数表示使用哪一张子图进行绘制
ax1 = fig.add_subplot(2, 2, 1)
ax2 = fig.add_subplot(2, 2, 2)
ax3 = fig.add_subplot(2, 2, 3)
ax4 = fig.add_subplot(2, 2, 4)

# 设置图例
A, = ax1.plot(a, "r--o")
ax1.legend([A], ["A"])
B, = ax2.plot(b, "b-*")
ax2.legend([B], ["B"])
C, = ax3.plot(c, "g-.+")
ax3.legend([C], ["C"])
D, = ax4.plot(d, "m:x")
ax4.legend([D], ["D"])

plt.show()

在这里插入图片描述

六、散点图

如果需要获取的是一些散点数据,则可以通过绘制散点图(Scatter)来展示数据的分布和布局。

import matplotlib.pyplot as plt
import numpy as np

# 设置随机数种子的值
np.random.seed(42)
x = np.random.randn(30)
y = np.random.randn(30)

# 散点图,scatter()的参数必须同时含有x, y
plt.scatter(x, y, c = 'g', marker='o', label = "(X, Y)")
# 散点图的标题
plt.title("Example")
# 设置坐标轴的标签
plt.xlabel("X")
plt.ylabel("Y")
# 设置图例,loc=0表示使用最好的位置,loc=1强制图例使用图中右上角的位置,loc=2强制使用左上角位置,loc=3强制使用左下角位置,loc=4强制使用右下角位置
plt.legend(loc = 1)

# 显示图像
plt.show()

在这里插入图片描述

scatter()方法中特别需要注意的参数:

  • “c”:指定散点图中绘制的参数使用哪种颜色,这与第2部分线条常用参数相,所以这里g表示设置为绿色。
  • “marker”:指定散点图中绘制的参数点使用哪种形状,和第2部分标记形状常用参数相同,所以这里o表示设置为圆形。
  • “label”:指定在散点图中绘制的参数使用的图例,这里与第3部分图例有所不同,注意区别。

七、直方图

直方图(Histogram)是一种统计报告图,通过使用一些列高度不等的纵向条纹或直方表示数据分布的情况,一般用横轴表示数据类型,纵轴表示分布情况。下面来看具体实例:

import matplotlib.pyplot as plt
import numpy as np

# 指定随机数种子的值
np.random.seed(42)
x = np.random.randn(1000)

# 直方图,bins表示绘制的直方图的条纹的数量;color表示直方图条纹的颜色,g表示绿色
plt.hist(x, bins = 20, color = 'g')
# 设置标题
plt.title("Example")
# 设置坐标轴标签
plt.xlabel("X")
plt.ylabel("Y")

# 显示图像
plt.show()

在这里插入图片描述

八、饼图

import matplotlib.pyplot as plt

# 标签
labels = ['Dos', 'Cats', 'Birds']
# sizes的三个数字确定了每部分数据系列在整个圆形中的占比
sizes = [15, 50, 35]

# 饼图,explode定义每部分数据系列之间的间隔,设置两个0和一个0.1,就能突出第三部分;autopct将sizes中的数据以所定义的浮点数精度进行显示;
# startangle是绘制第一块饼图时,该饼图与X轴正方向的夹角度数,这是设置90度,默认是0度。
plt.pie(sizes, explode = (0, 0, 0.1), labels = labels, autopct = '%1.1f%%', startangle = 90)
# 下面的一行代码必须存在,用于使X轴和Y轴的刻度时刻保持一致,只有这样,最后得到的饼图才是圆的
plt.axis('equal')

# 显示图像
plt.show()

在这里插入图片描述

到此这篇关于Python绘图库Matplotlib的基本用法的文章就介绍到这了,更多相关Python Matplotlib的用法内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Python基础教程之控制结构详解

    Python基础教程之控制结构详解

    Python中有三大控制结构,分别是顺序结构、分支结构(选择结构)以及循环结构,任何一个项目或者算法都可以使用这三种结构来设计完成,这篇文章主要给大家介绍了关于Python基础教程之控制结构的相关资料,需要的朋友可以参考下
    2021-11-11
  • NumPy中np.c_ 和 np.r_ 的区别小结

    NumPy中np.c_ 和 np.r_ 的区别小结

    np.c_和 np.r_是NumPy库中两个非常有用的函数,它们分别用于按列和按行拼接数组本文主要介绍了NumPy中np.c_ 和 np.r_ 的区别小结,具有一定的参考价值,感兴趣的可以了解一下
    2024-02-02
  • pyqt5主窗口按键弹出子窗口的实现

    pyqt5主窗口按键弹出子窗口的实现

    本文主要介绍了pyqt5主窗口按键弹出子窗口的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-02-02
  • Python利用字典和列表实现学生信息管理系统

    Python利用字典和列表实现学生信息管理系统

    这篇文章主要为大家详细介绍了Python如何利用字典和列表实现一个简易的学生信息管理系统,文中详细注释,方便理解,需要的可以参考一下
    2022-06-06
  • pycharm如何使用anaconda中的各种包(操作步骤)

    pycharm如何使用anaconda中的各种包(操作步骤)

    这篇文章主要介绍了pycharm如何使用anaconda中的各种包,本文通过操作步骤给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-07-07
  • PHP webshell检查工具 python实现代码

    PHP webshell检查工具 python实现代码

    Web安全应急响应中,不免要检查下服务器上是否被上传了webshell,手工检查比较慢,就写了个脚本来检查了。Windows平台下已经有了lake2写的雷克图的了,一般的检查也够用了,写了个Linux下面的,用python写的。
    2009-09-09
  • Spring实战之使用util:命名空间简化配置操作示例

    Spring实战之使用util:命名空间简化配置操作示例

    这篇文章主要介绍了Spring实战之使用util:命名空间简化配置操作,结合实例形式分析了Spring使用util:命名空间简化配置操作的具体步骤与相关操作注意事项,需要的朋友可以参考下
    2019-12-12
  • 用python实现学生管理系统

    用python实现学生管理系统

    这篇文章主要为大家详细介绍了用python实现学生管理系统,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2020-07-07
  • 对python操作kafka写入json数据的简单demo分享

    对python操作kafka写入json数据的简单demo分享

    今天小编就为大家分享一篇对python操作kafka写入json数据的简单demo,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-12-12
  • python元组操作实例解析

    python元组操作实例解析

    这篇文章主要介绍了python元组操作,以实例的形式较为直观的讲述了Python中元组的特点与用法,需要的朋友可以参考下
    2014-09-09

最新评论