如何在 Matplotlib 中根据变量为散点图着色?


在 Python 库的 Matplotlib 中,有几种方法可以根据变量为散点图着色。我们在散点函数中有三个参数,即 **cmap**、**alpha** 和 c,我们可以使用它们来更改绘图的颜色。

Matplotlib 是 Python 中可用的库之一,用于绘制和可视化给定的数据。它可以用作 Numpy 库的扩展来绘制数组。此库有一个名为 pyplot 的模块,它使数据可视化和绘图变得非常容易。

这个 pyplot 模块有很多函数和参数,可以帮助我们以不同的自定义功能绘制图形。让我们逐一看看在 Matplotlib 中根据变量为散点图着色的每种方法。

使用颜色映射

颜色映射是用于表示连续变量的颜色范围。颜色映射由 **cmap** 参数在散点图中表示。

语法

以下是散点图颜色映射参数的语法。

pyplot.scatter(x, y, cmap = color)

其中,

  • x 和 y 是要绘制的数组。

  • **cmap** 是为散点图着色的参数

示例

在下面的示例中,我们将两个数组和颜色映射值作为输入参数传递给散点图函数,然后将绘制具有定义颜色的散点图。

import matplotlib.pyplot as plt
import numpy as np
x = np.array([20,30,40,70,50])
y = np.array([30,20,34,56,88])
z = np.random.rand(5)*10
plt.scatter(x, y, c = z, cmap = "viridis")
plt.show()

输出

以下是 scatter() 函数的 cmap 参数的输出,用于在 matplotlib 中根据变量为散点图着色。

使用离散的颜色集

在这里,我们将分配一组离散值,在其中我们可以使用颜色列表为每个值分配一个特定的颜色。我们将颜色列表传递给散点函数的 c 参数。

语法

以下是使用散点图的 c 参数的语法。

import matplotlib.pyplot as plt
plt.scatter(x, y, c=list_colors)

其中,

  • **matplotlib.pyplot** 是 matplotlib 中的模块。

  • **plt** 是别名。

  • **scatter** 是函数。

  • **x, y** 是两个数组

  • **c** 是包含颜色列表的参数

示例

在下面的示例中,我们将两个数组和颜色列表作为输入参数传递给 **scatter()** 函数。

import matplotlib.pyplot as plt
import numpy as np
x = np.array([[20,30,40],[70,50,89]])
y = np.array([[30,20,34],[5,6,88]])
z = np.random.rand(6)
plt.scatter(x,y,c = z)
plt.show()

输出

使用 **scatter()** 函数为每个值绘制不同颜色的散点图的输出如下所示。

使用 alpha(透明度)

我们在 **scatter()** 函数中有一个 alpha 参数,它使点或多或少地透明,具体取决于变量。alpha 的值应在 0 和 1 之间。

语法

以下是使用散点图的 alpha 参数的语法。

scatter(x,y,c = ‘color’, alpha = value)

其中,

  • **scatter()** 是 matplotlib.pyplot 模块的函数。

  • scatter()
  • **x, y** 是两个数组

  • **c** 是包含颜色的参数。

  • **alpha** 是颜色的值,介于 0 和 1 之间

示例

当我们将两个数组、c 参数的颜色和 0 和 1 范围内的 alpha 值传递给 **matplotlib.pyplot** 的 scatter() 函数时,绘图将以定义的颜色绘制,并根据值进行变化。

import matplotlib.pyplot as plt
import numpy as np
x = np.random.rand(100)
y = np.random.rand(100)
z = np.random.rand(100)
plt.scatter(x, y, c= 'green', alpha=z)
plt.show()

输出

以下是 **scatter()** 函数 alpha 参数的输出。

更新于: 2023年8月9日

3K+ 次浏览

启动您的 职业生涯

通过完成课程获得认证

开始
广告