Manim教程:在plot_line_graph中隐藏顶点圆点

花韻仙語
发布: 2025-12-05 11:16:31
原创
554人浏览过

Manim教程:在plot_line_graph中隐藏顶点圆点

本文详细介绍了在manim中使用`plot_line_graph`方法绘制线图时,如何隐藏默认显示的顶点圆点。通过简单设置`add_vertex_dots`参数为`false`,用户可以轻松创建无顶点标记的干净线图,从而更好地控制图表的视觉呈现。教程提供了具体的代码示例,帮助读者快速掌握这一技巧,提升manim动画的专业性和美观度。

在Manim中创建动态图表是数据可视化的强大功能之一。Axes类提供的plot_line_graph方法是绘制线图的常用工具。然而,默认情况下,该方法会在线图的每个数据点(即顶点)处绘制一个小圆点,这在某些设计场景下可能并非所愿。本教程将深入探讨如何精确控制plot_line_graph的顶点显示,特别是在需要隐藏这些默认圆点时。

理解plot_line_graph的默认行为

plot_line_graph方法旨在根据一系列数据点绘制折线图。其默认行为是不仅连接这些数据点形成线条,还会在线条的每个顶点处添加一个视觉标记,即一个小的圆点。虽然这在很多情况下有助于突出数据点,但在追求简洁或特定美学效果时,这些圆点可能会显得多余。

解决方案:add_vertex_dots参数

Manim的plot_line_graph方法提供了一个名为add_vertex_dots的布尔类型参数,专门用于控制顶点圆点的显示。该参数的默认值为True,这意味着圆点会被绘制。要隐藏这些圆点,只需将add_vertex_dots参数设置为False即可。

参数详解

  • add_vertex_dots:
    • 类型:bool
    • 默认值:True
    • 作用:当设置为True时,Manim会在每个数据点(顶点)处绘制一个圆点;当设置为False时,这些圆点将被隐藏,只显示连接数据点的线条。

示例代码

以下Manim代码示例演示了如何使用add_vertex_dots参数来控制顶点圆点的显示。我们将首先展示默认带有圆点的线图,然后展示如何通过设置参数来隐藏它们。

Canva AI
Canva AI

Canva平台AI图片生成工具

Canva AI 1285
查看详情 Canva AI
from manim import *

class HidePlotLineGraphDots(Scene):
    def construct(self):
        # 1. 设置坐标系
        axes = Axes(
            x_range=[0, 10, 1],
            y_range=[0, 10, 1],
            x_length=7,
            y_length=5,
            axis_config={"color": BLUE},
            tips=False # 隐藏坐标轴箭头
        ).to_edge(UP + LEFT, buff=0.5) # 将坐标系放置在左上角

        labels = axes.get_axis_labels(x_label="X", y_label="Y")

        # 2. 定义数据点
        data_points = [(0, 0), (2, 4), (4, 1), (6, 7), (8, 3), (10, 5)]

        # 3. 演示默认行为:带有顶点圆点的线图
        graph_with_dots = axes.plot_line_graph(
            data_points,
            line_color=RED,
            add_vertex_dots=True # 显式设置为True,与默认行为一致
        )
        title_with_dots = Text("默认行为:带顶点圆点", font_size=28).next_to(axes, UP)

        self.play(Create(axes), Create(labels))
        self.play(Create(graph_with_dots), Write(title_with_dots))
        self.wait(2)

        # 4. 演示如何隐藏顶点圆点
        # 为了清晰对比,我们将旧图淡出,然后在新位置绘制新图
        self.play(FadeOut(graph_with_dots), FadeOut(title_with_dots))

        # 创建一个新的坐标系或移动旧的,这里我们为了教程的简洁性,在原位置绘制
        # 实际应用中,你可能需要根据动画需求调整Mobject的位置
        graph_no_dots = axes.plot_line_graph(
            data_points,
            line_color=GREEN,
            add_vertex_dots=False # 关键:设置为False以隐藏圆点
        )
        title_no_dots = Text("解决方案:不带顶点圆点", font_size=28).next_to(axes, UP)

        self.play(Create(graph_no_dots), Write(title_no_dots))
        self.wait(2.5)

        self.play(FadeOut(graph_no_dots), FadeOut(title_no_dots), FadeOut(axes), FadeOut(labels))
登录后复制

运行上述代码的步骤:

  1. 确保你已安装Manim。如果未安装,请参考Manim官方文档进行安装。
  2. 将上述代码保存为.py文件(例如hide_dots.py)。
  3. 在命令行中导航到文件所在目录,并运行:
    manim -pql hide_dots.py HidePlotLineGraphDots
    登录后复制

    这将生成一个低质量的预览视频,展示带有顶点圆点和不带顶点圆点的线图。

注意事项

  • 版本兼容性: 确保你使用的是Manim Community Edition的最新稳定版本,以保证add_vertex_dots参数的可用性和预期行为。
  • 其他自定义选项: 即使隐藏了顶点圆点,你仍然可以通过line_color、line_stroke_width等参数来自定义线条的样式。如果你希望保留圆点但改变其外观,可以探索vertex_dot_radius和vertex_dot_color等参数。
  • 动画策略: 在实际的Manim动画中,你可能需要更复杂的动画策略来展示两种图表之间的过渡,例如使用Transform或ReplacementTransform。本教程中的示例为了突出参数的使用,采用了简单的淡入淡出。

总结

通过简单地将plot_line_graph方法的add_vertex_dots参数设置为False,你可以轻松地在Manim中绘制出没有顶点圆点的干净线图。这一技巧对于那些追求极简风格或希望通过其他方式(如自定义标记)来表示数据点的用户来说非常有用。掌握此参数的使用,将使你在Manim图表绘制方面拥有更大的灵活性和控制力。

以上就是Manim教程:在plot_line_graph中隐藏顶点圆点的详细内容,更多请关注php中文网其它相关文章!

最佳 Windows 性能的顶级免费优化软件
最佳 Windows 性能的顶级免费优化软件

每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号