📜  Matplotlib 中带换行的文本框

📅  最后修改于: 2022-05-13 01:54:23.809000             🧑  作者: Mango

Matplotlib 中带换行的文本框

Matplotlib 是一个主要用于可视化(静态、动画、创意和交互)的Python综合库。它 提供了多种通过文本注释和描述情节的方法。此外,它可以自动换行文本。

文本在情节中用于各种目的 除了描述情节外,文本的另一个用途是提供一般注释和读者的注意力。 Matplotlib 提供了向绘图添加文本的方法。

方法

  • 导入模块
  • 创建数据
  • 绘图数据
  • 添加文字
  • 显示图
  • text() :此方法为图形提供一般文本。它将文本添加到任意位置。

句法 :

例子 :

Python3
import matplotlib.pyplot as plt
  
  
x = [1, 2, 3, 4, 5]
y = [50, 40, 40, 80, 20]
y2 = [80, 20, 20, 50, 60]
  
plt.plot(x, y, 'g', label='BMW', linewidth=5)
plt.plot(x, y2, 'c', label='Ferrari', linewidth=5)
  
plt.title('Car details in line plot')
plt.ylabel('Distance in kms')
plt.xlabel('Days')
  
# Text on Ferrari line plot
plt.text(2.5, 23, "Ferrari")
  
# Text on BMW line plot
plt.text(2.5, 43, "BMW")
plt.legend()


Python3
import matplotlib.pyplot as plt
x = [1, 2, 3, 4, 5]
y = [50, 40, 40, 80, 20]
y2 = [80, 20, 20, 50, 60]
  
plt.plot(x, y, 'g', label='BMW', linewidth=5)
plt.plot(x, y2, 'c', label='Ferrari', linewidth=5)
  
plt.title('Car details in line plot')
plt.ylabel('Distance in kms')
plt.xlabel('Days')
plt.figtext(0.4, 0.2, "Ferrari")  
plt.figtext(0.35, 0.4, "BMW")  
plt.legend()


Python3
import matplotlib.pyplot as plt
x = [1, 2, 3, 4, 5]
y = [50, 40, 40, 80, 20]
y2 = [80, 20, 20, 50, 60]
  
plt.plot(x, y, 'g', label='BMW', linewidth=5)
plt.plot(x, y2, 'c', label='Ferrari', linewidth=5)
  
plt.title('Car details in line plot')
plt.ylabel('Distance in kms')
plt.xlabel('Days')
  
# Text on Ferrari line plot
plt.annotate('BMW', xy=(2.5, 40), xytext=(3, 55), arrowprops=dict(
               width=1, headwidth=8, facecolor='black', shrink=0.05))  
  
plt.legend()


Python3
import matplotlib.pyplot as plt
  
fig = plt.figure()
plt.axis([0, 10, 0, 10])
t = ("Welcome to GeeksforGeeks")
plt.text(5, 8, t, fontsize=18, style='oblique', ha='center',
         va='top', wrap=True)
  
plt.show()


Python3
import matplotlib.pyplot as plt
  
fig = plt.figure()
plt.axis([0, 10, 0, 10])
t = ("Welcome to GeeksforGeeks")
  
plt.text(5, 8, t, fontsize=18, rotation=15, style='oblique', ha='center',
         va='top', wrap=True)  # rotate the text 15 degree.
  
plt.show()


输出 :

  • figtext() : figtext()可以用作text()方法的替代方法。 figtext()有助于将文本放置在图形的任何位置。我们还可以将文本放在图的轴之外。

句法 :

例子 :

蟒蛇3

import matplotlib.pyplot as plt
x = [1, 2, 3, 4, 5]
y = [50, 40, 40, 80, 20]
y2 = [80, 20, 20, 50, 60]
  
plt.plot(x, y, 'g', label='BMW', linewidth=5)
plt.plot(x, y2, 'c', label='Ferrari', linewidth=5)
  
plt.title('Car details in line plot')
plt.ylabel('Distance in kms')
plt.xlabel('Days')
plt.figtext(0.4, 0.2, "Ferrari")  
plt.figtext(0.35, 0.4, "BMW")  
plt.legend()

输出 :

  • annotation():借助这些方法,我们可以通过添加箭头来注释图上的一个点。

句法 :



示例 1:

蟒蛇3

import matplotlib.pyplot as plt
x = [1, 2, 3, 4, 5]
y = [50, 40, 40, 80, 20]
y2 = [80, 20, 20, 50, 60]
  
plt.plot(x, y, 'g', label='BMW', linewidth=5)
plt.plot(x, y2, 'c', label='Ferrari', linewidth=5)
  
plt.title('Car details in line plot')
plt.ylabel('Distance in kms')
plt.xlabel('Days')
  
# Text on Ferrari line plot
plt.annotate('BMW', xy=(2.5, 40), xytext=(3, 55), arrowprops=dict(
               width=1, headwidth=8, facecolor='black', shrink=0.05))  
  
plt.legend()

输出 :

示例 2:使用 pyplot.text() 换行的文本框:

蟒蛇3

import matplotlib.pyplot as plt
  
fig = plt.figure()
plt.axis([0, 10, 0, 10])
t = ("Welcome to GeeksforGeeks")
plt.text(5, 8, t, fontsize=18, style='oblique', ha='center',
         va='top', wrap=True)
  
plt.show()

输出 :

 我们可以使用旋转参数来旋转文本。

示例 3:

蟒蛇3

import matplotlib.pyplot as plt
  
fig = plt.figure()
plt.axis([0, 10, 0, 10])
t = ("Welcome to GeeksforGeeks")
  
plt.text(5, 8, t, fontsize=18, rotation=15, style='oblique', ha='center',
         va='top', wrap=True)  # rotate the text 15 degree.
  
plt.show()

输出 :