通过for循环使用3次plt.text()时,我想这每次plt.text()后换行展示下一个plt.text()

问题描述:

通过for循环使用3次plt.text()时,我想这每次plt.text()后换行展示下一个plt.text()

解决思路

在Matplotlib中,plt.text() 函数用于在图表的指定位置添加文本。如果你想要在使用 plt.text() 时让每个文本显示在不同的行,你可以通过调整文本的垂直位置来实现换行效果。以下是一个简单的例子:

import matplotlib.pyplot as plt
from matplotlib import rcParams

config = {
    "font.family": 'serif', # 衬线字体
    "font.size": 14, # 相当于小四大小
    "font.serif": ['SimSun'], # 宋体
    "mathtext.fontset": 'stix', # matplotlib渲染数学字体时使用的字体,和Times New Roman差别不大
    'axes.unicode_minus': False # 处理负号,即-号
}
rcParams.update(config)
x = [0,1,2,3,4,5]
y = [1,2,5,7,3,2]

# 假设我们在图表上的固定x位置
x_position = 4

# 不同的y位置,以便文本不会重叠
y_position_list = [4, 5, 6]

# 文本内容
texts = ["First line", "Second line", "Third line"]

# 创建图表
plt.figure(figsize=[8,4])
plt.plot(x,y,c='b')
# 循环添加文本
for y_position, text in zip(y_position_list, texts):
    plt.text(x_position, y_position, text)

# 显示图表
plt.show()

通过for循环使用3次plt.text()时,我想这每次plt.text()后换行展示下一个plt.text()_第1张图片

你可能感兴趣的:(python)