Manim绘图教程:如何隐藏plot_line_graph中的顶点圆点

5次阅读

Manim 绘图教程:如何隐藏 plot_line_graph 中的顶点圆点

本教程详细介绍了在 manim 中使用 `plot_line_graph` 方法绘制线图时,如何精确控制是否显示线图上的顶点圆点。通过调整 `add_vertex_dots` 参数,用户可以轻松地隐藏或显示这些默认出现的圆点,从而实现更精细的图形定制,提升动画视觉效果。

理解 plot_line_graph 与顶点圆点

Manim 是一个强大的数学动画库,其中 Axes.plot_line_graph 方法是用于在坐标系中绘制折线图的常用 工具。默认情况下,当您使用此方法绘制线图时,Manim 不仅会连接数据点形成线条,还会在每个数据点(即线图的顶点)处绘制一个小圆点。虽然这些圆点在很多情况下有助于突出数据点,但在某些设计或教学场景中,用户可能希望只显示线条,隐藏这些顶点圆点,以获得更简洁或特定的视觉效果。

隐藏顶点圆点的关键参数:add_vertex_dots

幸运的是,Manim 的 plot_line_graph 方法提供了一个名为 add_vertex_dots 的参数,专门用于控制这些顶点圆点的显示。

  • 当 add_vertex_dots 参数设置为 True 时(这也是其默认值),Man 图会绘制出每个顶点上的圆点。
  • 当 add_vertex_dots 参数设置为 False 时,这些顶点圆点将被隐藏,只有连接各点的线条会显示出来。

通过简单地设置此参数,您可以轻松地切换线图的显示模式。

示例代码:演示如何隐藏顶点圆点

下面的 Manim 代码示例将演示如何使用 plot_line_graph 方法绘制一个折线图,并特别展示如何通过设置 add_vertex_dots=False 来隐藏其顶点圆点。

from manim import *  class HidePlotLineGraphDots(Scene):     def construct(self):         # 1. 设置坐标系         # 创建一个标准的坐标系,x 轴和 y 轴范围均为 0 到 10         axes = Axes(x_range=[0, 10, 1],             y_range=[0, 10, 1],             x_length=7,             y_length=5,             axis_config={"color": BLUE}, # 坐标轴颜色             x_axis_config={"numbers_to_include": range(0, 11, 2)}, # x 轴刻度             y_axis_config={"numbers_to_include": range(0, 11, 2)}, # y 轴刻度         ).add_coordinates() # 添加坐标数字         self.add(axes)          # 2. 定义数据点         # plot_line_graph 期望一个列表的列表或元组,每个内部列表 / 元组代表一个点 [x, y]         data_points = [[1, 2], [3, 5], [5, 4], [7, 8], [9, 6]]          # 3. 绘制带有默认顶点圆点的线图(演示默认行为)# 这里我们明确设置 add_vertex_dots=True,其效果与省略此参数相同         line_graph_with_dots = axes.plot_line_graph(list_of_graph_points=data_points,             line_color=red, # 线条颜色             vertex_dot_color=YELLOW, # 顶点圆点颜色             vertex_dot_radius=0.08, # 顶点圆点半径             add_vertex_dots=True # 明确指定显示圆点         )         label_with_dots = Text(" 默认带圆点 ", font_size=28, color=RED).next_to(line_graph_with_dots, UP)          self.play(Create(line_graph_with_dots),             Write(label_with_dots)         )         self.wait(1.5)          # 4. 隐藏顶点圆点:通过设置 add_vertex_dots=False         # 创建一个新的线图 Mobject,这次将 add_vertex_dots 设置为 False         line_graph_no_dots = axes.plot_line_graph(list_of_graph_points=data_points,             line_color=GREEN, # 改变线条颜色以便区分             add_vertex_dots=False # 关键参数:设置为 False 以隐藏圆点)         label_no_dots = Text(" 隐藏圆点 ", font_size=28, color=GREEN).next_to(line_graph_no_dots, UP)          # 通过变换动画来演示圆点被隐藏的效果         self.play(Transform(line_graph_with_dots, line_graph_no_dots),             Transform(label_with_dots, label_no_dots)         )         self.wait(2)

如何运行此代码:

  1. 确保您已安装 Manim。如果没有,请参考 Manim 官方文档进行安装。
  2. 将上述代码保存为一个。py 文件(例如 hide_dots.py)。
  3. 在命令行中导航到该文件所在的目录,并运行以下命令:
    manim -pql hide_dots.py HidePlotLineGraphDots
    • -p 表示播放动画。
    • -q 表示渲染质量(ql 代表低质量,适合快速预览)。
    • HidePlotLineGraphDots 是您定义的场景类名。

您将看到一个动画,首先显示带有黄色圆点的红色折线图,然后动画将其变换为不带圆点的绿色折线图,清晰地展示了 add_vertex_dots=False 的效果。

注意事项与总结

  • 参数核心: add_vertex_dots 是控制 plot_line_graph 中顶点圆点显示的关键参数。
  • 默认行为: 此参数的默认值为 True,意味着如果您不明确设置它,圆点将始终显示。
  • 定制性: 即使您选择显示圆点(add_vertex_dots=True),Manim 也提供了其他参数如 vertex_dot_color、vertex_dot_radius 等,让您可以进一步定制圆点的颜色和大小。
  • 应用场景: 隐藏顶点圆点在需要创建更流程化、不强调离散点的线图,或者在复杂图表中避免视觉混乱时特别有用。

通过灵活运用 add_vertex_dots 参数,Manim 用户可以更好地控制其线图的视觉呈现,使其动画更符合特定的教学或演示需求。建议查阅 Manim 官方文档中关于 Axes.plot_line_graph 的详细说明,以探索更多高级用法和参数组合。

站长
版权声明:本站原创文章,由 站长 2025-12-14发表,共计2629字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
1a44ec70fbfb7ca70432d56d3e5ef742
text=ZqhQzanResources