Matplotlib 如何按变量对散点图进行着色
在Python的Matplotlib库中,有几种方法可以通过一个变量对散点图进行着色。我们在散点函数scatter中有三个参数,分别是、和,可以通过它们来改变图表的颜色。
Matplotlib是Python中的一个可用于绘制和可视化给定数据的库。它可以作为Numpy库的扩展来绘制数组。该库中有一个名为pyplot的模块,可以使数据的可视化和绘图变得非常简单。
pyplot模块具有许多函数和参数,可以帮助我们以不同和自定义的方式绘制图形。让我们逐个看看如何通过变量对散点图进行着色。
使用颜色映射
颜色映射是用来表示连续变量的一系列颜色。在散点图中,颜色映射由参数表示。
语法
下面是散点图的参数的语法。
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()
输出
下面是在matplotlib中使用scatter()函数的cmap参数进行散点图着色的输出结果。
使用离散颜色集
在这里,我们将分配一组离散的值,可以使用颜色列表来为每个值分配特定的颜色。我们将颜色列表传递给scatter函数的参数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 的范围内。
语法
下面是scatter plot使用 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参数的输出。