下面是关于“python画图时给图中的点加标签和plt.text的使用”的完整攻略。
1. matplotlib.pyplot.text()函数简介
matplotlib.pyplot.text()
函数可以在图表上添加带有任意文本的文本框。文本框可以包含一个或多个文本行。文本可以使用多种字体,颜色和位置参数进行定制。
使用最简单的方法是指定x和y,然后设置文字内容。以下代码演示了如何在坐标点(0.5, 0.5)
的位置添加文本内容"sample"
。
import matplotlib.pyplot as plt
x, y = 0.5, 0.5
plt.text(x, y, "sample")
plt.show()
我们可以看到,图表在(0.5, 0.5)
坐标点的位置上出现了一个文本框,并且文本内容为"sample"
。
2. 在散点图中添加标签
下面我们来看一个更实际的例子,如何在散点图中给点添加标签。
我们首先生成一些随机数据。
import numpy as np
x = np.random.randn(10)
y = np.random.randn(10)
print(x)
print(y)
执行代码,可以得到输出结果。
[-0.27107388 2.01266499 0.51854891 1.03824427 0.28695853 0.38041504
-0.48708095 -0.27817385 0.2182132 1.74882124]
[-0.10297224 -0.90140711 -1.31836638 0.18722475 0.95243132 -1.36169121
-0.61153258 1.02961773 -1.15327242 0.36588708]
然后,我们将这些数据根据坐标点画出来。
import matplotlib.pyplot as plt
plt.scatter(x, y)
plt.show()
这样的散点图并不能很清晰地保证每个点的位置,因此我们需要添加标签来进行说明。
在每个点的旁边加上标签,可以给读者更好的理解这张图。下面我们通过在每个点旁边加上其坐标来展示如何在散点图中添加标签。
import matplotlib.pyplot as plt
for i, (x_, y_) in enumerate(zip(x, y)):
plt.text(x_, y_, f"({x_:.1f}, {y_:.1f})", color="red", fontsize=10)
plt.scatter(x, y)
plt.show()
在for
循环中,我们使用了zip()
函数将两个列表打包成元组,以便对它们进行并行操作。enumerate()
函数将元组和其对应的索引一一迭代,以便在每个标签旁边标注序号。
在plt.text()
函数中,我们将x_
和y_
作为文本框的位置参数,并使用f
来定义待显示的文本。其中{x_:.1f}
和{y_:.1f}
分别表示x_
和y_
的数值,后面的:1f
表示保留一位小数。我们也可以根据需要设置其他参数,如文本框颜色和字体大小。
执行上述代码,我们就会得到一张带标签的散点图。
3. 在折线图中添加标签
接下来我们再来看一个在折线图中添加标签的例子。
import numpy as np
import matplotlib.pyplot as plt
x = np.linspace(-5, 5, 100)
y = x ** 3
plt.plot(x, y)
plt.show()
我们首先定义了一些数据,并使用plt.plot()
函数画出了一条折线图。现在,我们可以在折线上加上一些标签,帮助读者理解这条线的含义。
下面是在折线图中添加标签的代码。
import numpy as np
import matplotlib.pyplot as plt
x = np.linspace(-5, 5, 100)
y = x ** 3
plt.plot(x, y)
for idx in [0, 25, 50, 75, 99]:
plt.text(x[idx], y[idx], f"({x[idx]:.1f}, {y[idx]:.1f})", color="red", fontsize=8)
plt.show()
在这个代码中,for
循环迭代了[0, 25, 50, 75, 99]
这个列表,分别对应了折线中的五个点。在每个点上,我们使用plt.text()
函数来添加标签。注意,在这个例子中,我们需要使用x[idx]
和y[idx]
作为位置参数。使用"red"
设置文本框的颜色参数,使用8
作为字体大小参数。
执行代码,我们可以看到折线图上的五个标签。
这就是使用plt.text()
函数来添加标签的简介和具体实例。希望这个攻略能够帮助到你。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:python画图时给图中的点加标签和plt.text的使用 - Python技术站