如何在 Google Colab 中使用 Matplotlib 绘制交互式图像

如何在 Google Colab 中使用 Matplotlib 绘制交互式图像

概述

Google Colab 是一个允许使用 Python 代码进行在线互动计算的平台,可以免费使用 Google 的 GPU 或 TPU 资源。而 Matplotlib 是一个用于创建静态、动态和交互式数据可视化的 Python 库。本文将介绍如何在 Google Colab 中使用 Matplotlib 绘制交互式图像。

阅读更多:Matplotlib 教程

安装与导入 Matplotlib

在 Google Colab 中,默认情况下还没有安装 Matplotlib 库。因此,我们需要先安装它。安装 Matplotlib 是相对简单的。只需要在代码单元格中使用 !pip install matplotlib 命令即可完成安装。然后我们需要导入 Matplotlib 库,通常会使用下面的别名:

import matplotlib.pyplot as plt

绘制基本的 Matplotlib 图像

在使用 Matplotlib 绘制图片之前,我们需要先了解三个最重要的概念:

  1. Figure:画布,用于设置绘制的图片大小、坐标系等参数。
  2. Axes:绘图区,一个画布可以有多个绘图区,每个绘图区可以绘制不同的数据图像。
  3. Artist:所有的数据图像都是由各种 Artists 组成的,包括但不限于 Line2D、Text、Axis、Axes、Figure 等。

有了以上初步的了解,我们现在可以通过 Matplotlib 来创建一些基本的图像了。

折线图

折线图是一种展示数据变化趋势的图像。继续创建一个代码单元格,输入如下代码:

import numpy as np

x = np.linspace(-5, 5, 101)
y = x ** 2

plt.plot(x, y)
plt.show()

输出结果应该是一个代表 y=x^2 的简单折线图。

散点图

散点图显示两个数值变量之间的关系。使用 scatter() 函数即可绘制散点图。我们可以使用 random() 函数和 randint() 函数来生成一些随机的数据用于绘制散点图。

x = np.random.random(100)
y = np.random.randint(0, 100, 100)

plt.scatter(x, y)
plt.show()

上述代码会绘制出一个随机的点分布图。

条形图

条形图是用它的长方形区域的长度表示比较量,条形图也是英文中最常见的表示数据的形式之一。对于绘制条形图,我们可以使用 bar() 函数。

height = [3, 12, 5, 18, 45]
bars = ('A', 'B', 'C', 'D', 'E')
y_pos = np.arange(len(bars))

plt.bar(y_pos, height, color=['black', 'red', 'green', 'blue', 'cyan'])
plt.xticks(y_pos, bars)
plt.show()

上述代码会绘制出所谓的经典“五分钱一根”的条形图。

在 Google Colab 中绘制交互式 Matplotlib 图像

Matplotlib 的核心库并不支持在 Google Colab 中绘制交互式图像。我们需要使用 %matplotlib inline 命令来将图像显示在单元格中,这意味着输出的图像为静态图像,无法进行交互。

要绘制交互式 Matplotlib 图像,我们需要使用 %matplotlib notebook 命令来导入 Notebook 模式。注意,Notebook 模式会创建一个新的交互式图像窗口,该窗口将首先出现在当前单元格中。如果您想在 Colab 代码编辑器外部显示图像窗口,则必须将鼠标指针悬停在图像上,然后单击并选择“Save”图标。这样,图像将保存为 HTML 文件,并在新窗口中打开。

%matplotlib notebook

接下来,我们可以使用 interact() 函数在单元格中创建交互式图像。首先,我们需要定义一个绘制函数,该函数将包含我们要绘制的图形和所有必要的参数。

from ipywidgets import interact, interactive, fixed, interact_manual

def plot_interactive_graph(scaling_factor):
  x = np.arange(0, 10, 0.1)
  y = np.sin(x) * scaling_factor
  plt.plot(x, y)
  plt.title('Scaling factor: {}'.format(scaling_factor))
  plt.show()

interact(plot_interactive_graph, scaling_factor=(1, 5, 0.1))

上述代码将创建一个可以使用滑块调整参数进行交互的图表,滑块的范围为 1 到 5,步长为 0.1。

总结

Matplotlib 是一个可靠的 Python 库,可用于创建静态和动态的图像表示。在 Google Colab 中,我们可以使用 %matplotlib inline 命令来绘制静态图像,或使用 %matplotlib notebook 命令来创建交互式 Matplotlib 图像。通过使用 interact() 函数,我们可以将交互性引入您的图像,您可以调整绘图参数并轻松地进行快速分析。

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程