如何在 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 参数的输出。