边学边做Manim中如何添加多行文本

对于长篇大段的文本显示,manim中专门提供了一个Paragraph类。 使用Paragraph,就不需要用拼接Text的方式来显示大段的文本。

1. 主要参数

Paragraph可以看作是基于Text的扩展,所以Text的默认参数Paragraph也可以使用。不过当你需要显示多行文本的时候,用Paragraph更加方便。

当然Paragraph特有的参数还有:

参数名称 类型 说明
text list 可以输入多个字符串
line_spacing float 行间距
alignment str 对齐方向

Text也有text参数,是str类型,只能输入一个字符串, 而Paragraphtext参数是不定长的列表,可以输入多个字符串,每个字符串显示成一行。

line_spacing参数Text也有,不过Text多用来显示单行的文本,这个参数用处不大, 而Paragraph则用来显示多行文本,所以line_spacingParagraph更加有用。

alignment参数用来设置段落文本各行的对齐方式的,默认左对齐,还可以设置右对齐居中对齐

2. 使用示例

段落Paragraph也可以使用Text的各种参数,这里前两个示例演示Paragraph常用的两个参数, 最后一个示例演示使用Text的参数来设置颜色。Text中设置字体,样式的参数,Paragraph也同样支持,这里不再演示。

2.1. 调整行间距

通过line_spacing设置不同的行间距。

1
2
3
4
5
6
7
for line_spacing in (0.5, 1.5, 2.5):
p = Paragraph(
"第一行:内容中等内容中等",
"第二行:内容短",
"第三行:内容较长内容较长内容较长",
line_spacing=line_spacing,
)

2.2. 调整对齐方向

通过alignment设置不同的对齐方向。

1
2
3
4
5
6
7
for alignment in ("left", "right", "center"):
p = Paragraph(
"第一行:内容中等内容中等",
"第二行:内容短",
"第三行:内容较长内容较长内容较长",
alignment=alignment,
)

out.gif

2.3. 设置颜色

设置颜色这个示例是为了演示Paragraph也可以使用Text的参数。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
p = Paragraph(
"第一行:内容中等内容中等",
"第二行:内容短",
"第三行:内容较长内容较长内容较长",
t2c={
"第一行": RED,
"第二行": BLUE,
"第三行": GREEN,
},
t2g={
"内容中等": (BLUE, GREEN),
"内容短": (GREEN, RED),
"内容较长": (RED, BLUE),
},
)

out.gif

3. 附件

文中完整的代码放在网盘中了(paragraph.py), 下载地址: 完整代码 (访问密码: 6872)

本文转自 https://www.cnblogs.com/wang_yb/p/18291657,如有侵权,请联系删除。