如何在Manim中为图顶点1-6添加邻近标签A-F
解决方案
要给Manim创建的图顶点添加自定义标签及指定位置,可通过Graph类的vertex_config参数实现,具体修改如下:
关键修改点
- 定义字典映射每个顶点到对应的标签配置,包含标签文本和相对于顶点的位置(使用Manim内置的
UP/DOWN/LEFT/RIGHT方向向量) - 创建
Graph对象时传入该配置字典 - 修正原代码中
from manim import的语法错误,补充完整导入语句
修改后的完整代码
from manim import * import math class MovingVertices(Scene): def construct(self): vertices = [1, 2, 3, 4 , 5 , 6] edges = [(1, 2), (2, 3), (3, 4), (4,1) , (1,5) , (5,2) , (2,6) , (6,3) ] lt = {1: [0, 0, 0], 2: [2, 0, 0], 3: [2, 2, 0], 4: [0, 2, 0] , 5: [1, math.sqrt(3), 0] , 6: [2+math.sqrt(3), 1, 0]} # 自定义顶点标签及位置 vertex_labels = { 1: {"label": "A", "label_position": DOWN}, 2: {"label": "B", "label_position": DOWN}, 3: {"label": "C", "label_position": UP}, 4: {"label": "D", "label_position": UP}, 5: {"label": "E", "label_position": RIGHT}, 6: {"label": "F", "label_position": RIGHT} } g = Graph(vertices, edges, layout=lt, vertex_config=vertex_labels) g.shift(DOWN ,LEFT) self.play(Create(g), run_time=5) self.wait()
额外调整选项
如果需要自定义标签样式,可在vertex_labels的每个顶点配置中添加参数:
label_font_size: 设置标签字体大小(如24)label_color: 设置标签颜色(如RED)- 若需要更精确的位置,可将
label_position替换为自定义坐标(如[0.3, 0.2, 0])
内容的提问来源于stack exchange,提问作者Salim Bou
相关产品推荐
相关产品推荐

