如何注释 Matplotlib 散点图?
散点图使用点来表示两个不同数值变量的值。在Python,我们有一个库 matplotlib,其中有一个名为 scatter 的函数可以帮助我们创建散点图。在这里,我们将使用 matplotlib.pyplot.scatter() 方法进行绘图。
Syntax : matplotlib.pyplot.scatter(x,y)
Parameters:
- x and y are float values and are the necessary parameters to create a scatter plot
- marker : MarkerStyle, default: rcParams[“scatter.marker”] (default: ‘o’)
- cmap : cmapstr or Colormap, default: rcParams[“image.cmap”] (default: ‘viridis’)
- linewidths : float or array-like, default: rcParams[“lines.linewidth”] (default: 1.5)
- alpha : float, default: None → represents the transparency
matplotlib 的注释意味着我们要在散点图旁边放置一段文本。根据我们必须注释的点数,可能有两种情况:
- 单点注释
- 所有点注释
单点注释
在单点注释中,我们可以使用 matplotlib.pyplot.text 并提及散点的 x 坐标和 y 坐标 + 一些因素,以便从图中可以清楚地看到文本,然后我们必须提及文本。
Syntax: matplotlib.pyplot.text( x, y, s)
Parameters:
- x, y : scalars — The position to place the text. By default, this is in data coordinates. The coordinate system can be changed using the transform parameter.
- s : str — The text.
- fontsize — It is an optional parameter used to set the size of the font to be displayed.
方法:
- 导入库。
- 创建数据。
- 制作散点图。
- 应用 plt.text() 方法。
执行:
Python3
# Importing libraries
import matplotlib.pyplot as plt
# Preparing dataset
x = [x for x in range(10)]
y = [5, 4, 4, 8, 5, 6, 8, 7, 1, 3]
# plotting scatter plot
plt.scatter(x, y)
# annotation of the third point
plt.text(2,4.2,"third")
plt.show()
Python3
# Importing libraries
import matplotlib.pyplot as plt
# Preparing dataset
x = [x for x in range(10)]
y = [5, 2, 4, 8, 5, 6, 8, 7, 1, 3]
text = ["first", "second", "third", "fourth", "fifth",
"sixth", "seventh", "eighth", "ninth", "tenth"]
# plotting scatter plot
plt.scatter(x, y)
# Loop for annotation of all points
for i in range(len(x)):
plt.annotate(text[i], (x[i], y[i] + 0.2))
# adjusting the scale of the axes
plt.xlim((-1, 10))
plt.ylim((0, 10))
plt.show()
输出:
所有点注释
如果我们想注释散点图中的所有点,那么 matplotlib.pyplot 有一个内置函数annotate,它接受点的文本、x 和 y 坐标。
Syntax: matplotlib.pyplot.annotate( text, xy )
Parameters:
- text : str — The text of the annotation. s is a deprecated synonym for this parameter.
- xy : (float, float) — The point (x, y) to annotate. The coordinate system is determined by xy coordinates.
方法:
- 导入库。
- 创建数据。
- 按照要显示的点的顺序将所有注释存储在一个列表中。
- 绘制散点图。
- 使用 for 循环注释每个点。
执行:
蟒蛇3
# Importing libraries
import matplotlib.pyplot as plt
# Preparing dataset
x = [x for x in range(10)]
y = [5, 2, 4, 8, 5, 6, 8, 7, 1, 3]
text = ["first", "second", "third", "fourth", "fifth",
"sixth", "seventh", "eighth", "ninth", "tenth"]
# plotting scatter plot
plt.scatter(x, y)
# Loop for annotation of all points
for i in range(len(x)):
plt.annotate(text[i], (x[i], y[i] + 0.2))
# adjusting the scale of the axes
plt.xlim((-1, 10))
plt.ylim((0, 10))
plt.show()
输出: