【Matplotlib数据可视化】绘制数学图像

1,784 阅读3分钟

携手创作,共同成长!这是我参与「掘金日新计划 · 8 月更文挑战」的第26天,点击查看活动详情

1. 折线图的应用场景

  • 折线图以折线的上升或下降来表示统计数量的增减变化的统计图。
  • 折线图可以反应某一变量随时间变化关系,例如:某城市不同时间段的温度变化情况。
  • 折线图可以反应某一变量随地点变化情况,例如:某产品在不同城市的销售量。
  • 简而言之,折线图可以直观的看出某一变量的趋势以及变化。

2. 绘制数学图像

注意:我们所用到的plt.plot()除了可以绘制折线图,还可以用于绘制各种数学函数图像。

绘制数学图像大体步骤:

  1. 准备数据:用到了numpy库
  2. 创建画布
  3. 绘制函数图像
  4. 显示图像

下面将以绘制sin函数图像进行案例演示,我们将在(-10, 10)坐标范围内绘制sin函数图像。案例中我们需要导入numpy这个库,它是一个数学工具库,我们用该库进行数据准备。

代码演示如下所示:

import matplotlib.pyplot as plt
import numpy as np

# 0.准备数据
x = np.linspace(-10, 10, 1000)
y = np.sin(x)

# 1. 创建画布
plt.figure(figsize=(20, 8), dpi=100)

# 2. 绘制函数图像
plt.plot(x, y)
# 2.1 添加网格显示
plt.grid()

# 3. 显示图像
plt.show()

运行结果如下图所示:

image.png

3. 绘制常见图形

Matplotlib能够绘制折线图、散点图、直方图、饼图。我们需要知道不同的统计图的意义,以此来决定选择哪种统计图来呈现我们的数据。

  • 散点图:用两组数据构成多个坐标点,考察坐标点的分布,判断两变量之间是否存在某种关联或总结坐标点的分布模式。

    • 特点:判断变量之间是否存在数量关联趋势,展示离群点(分布规律)
    • 语法:plt.scatter(x, y)
  • 柱状图:排列在工作表的列或行中的数据可以绘制到柱状图中

    • 特点:绘制离散的数据,能够清楚的看出各个数据的大小,比较数据之间的差别。(统计/对比)
    • 语法:plt.bar(x, width, align='center', **kwargs)
    • width:柱状条宽度
    • align:x坐标卡在柱的中间,左边,还是右边
  • 直方图:由一系列高度不等的纵向条纹或线段表示数据分布的情况,一般用横轴表示数据范围,纵轴表示分布情况。

    • 特点:绘制连续性的数据展示一组或者多组数据的分布状况(统计)
    • 语法:matplotlib.pyplot.hist(x, bins=None)
    • x:需要传递的数据
    • bins:组距
  • 饼图:用于表示不同分类的占比情况,通过弧度大小来对比各种分类

    • 特点:分类数据的占比情况(占比)
    • 语法:plt.pie(x, labels=, autopct=, color)
    • x:数量,自动算百分比
    • labels:每部分名称
    • autopct:百分比显示的形式
    • color:每部分颜色